[FIXED] crash in reco macro (timebased simulation) [message #15132] |
Thu, 08 August 2013 09:17 |
Jens Sören Lange
Messages: 193 Registered: June 2005
|
first-grade participant |
From: *wlan.uni-giessen.de
|
|
Dear all,
I am trying to run the MVD example macros for timebased simulation following the Torino tutorial (by Tobias)
https://indico.gsi.de/getFile.py/access?sessionId=9&resId=1&mate rialId=1&confId=1602
sep12 external packages and apr13 release
pandaroot/apr13/macro/mvd/TimeOrderedSim
> root -b run_sim_sttcombi_dpm.C
runs fine for 10 events.
> root -b run_digi_sttcombi_timebased.C
crashes with
---
DigiFileName: Mvd_Sim_timebased_digi.root
FairRootManager::OpenOutFile("Mvd_Sim_timebased_digi.root")
Error in <TFile::TFile>: file Mvd_Sim_timebased_par.root does not exist
-E- Could not open input file Mvd_Sim_timebased_par.root
Fatal in <FairParRootFileIo::open>: Could not open input file
aborting
---
I solved this (trivially) by
---
cp Mvd_Sim_par.root Mvd_Sim_timebased_par.root
cp Mvd_Sim.root Mvd_Sim_timebased.root
root -b run_digi_sttcombi_timebased.C // (again)
---
and then the digi macro runs o.k.
---
But then for the reco macro I get the following crash.
-bash-3.2$ root -b run_reco_sttcombi_timebased.C
*******************************************
* *
* W E L C O M E to R O O T *
* *
* Version 5.34/01 13 July 2012 *
* *
* You are welcome to visit our Web site *
* http://root.cern.ch *
* *
*******************************************
ROOT 5.34/01 (tags/v5-34-01@45034, Aug 04 2013, 16:03:00 on linuxx8664gcc)
CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0]
Processing run_reco_sttcombi_timebased.C...
Error: Can't call PndFileNameCreator::GetDigiFileName(false) in current scope run_reco_sttcombi_timebased.C:18:
Possible candidates are...
(in PndFileNameCreator)
/home/soeren/backup/panda/cbuild/lib/libgeneralTools.so -1:-1 0 public: string PndFileNameCreator::GetDigiFileName(string addon="",bool cut=false);
Error: non class,struct,union object GetDigiFileName(false) used with . or -> run_reco_sttcombi_timebased.C:18:
*** Interpreter error recovered ***
---
The problem seems to be just the way the digi filename is done:
TString MCFile = "Mvd_Sim_timebased.root";
PndFileNameCreator creator(MCFile.Data());
TString DigiFile = creator.GetDigiFileName(false).c_str();
---
Of course I can change it "by hand" but has this maybe ever been working?
thanks in advance, Soeren
[Updated on: Mon, 02 September 2013 15:45] by Moderator Report message to a moderator
|
|
|
|
Re: crash in reco macro (timebased simulation) [message #15182 is a reply to message #15132] |
Mon, 12 August 2013 11:51 |
Jens Sören Lange
Messages: 193 Registered: June 2005
|
first-grade participant |
From: *wlan.uni-giessen.de
|
|
Hi Tobias, thanks a lot.
All the run_*_sttcombi_timebased.C macros run fine now,
including the run_tracking_sttcombi.C.
But then a problem happens, if I (in the next step) switch OFF the timebased part in the in the run_digi_sttcombi_timebased.C
(for comparison of time-based and non-time-based)
PndMvdDigiTask* mvddigi = new PndMvdDigiTask();
// mvddigi->RunTimeBased(); // <- HERE
mvddigi->SetVerbose(iVerbose);
fRun->AddTask(mvddigi);
then the run_reco_sttcombi.C runs o.k.,
but the run_tracking_sttcombi.C crashes with
I- FairGeane::FairGeane: Geane is Initialized
-W- PndMvdRiemannTrackFinderTask::Init: No Branch Names given with AddHitBranch(TString branchName)! Standard BranchNames taken!
[INFO ] Branch: MVDHitsPixel not found in Tree
[INFO ] Branch: MVDHitsPixel not found in Tree
-W- PndMvdRiemannTrackFinderTask::Init: No hitArray for BranchName MVDHitsPixel
[INFO ] Branch: MVDHitsStrip not found in Tree
[INFO ] Branch: MVDHitsStrip not found in Tree
-W- PndMvdRiemannTrackFinderTask::Init: No hitArray for BranchName MVDHitsStrip
-I- PndMvdRiemannTrackFinderTask: Initialisation successfull
[INFO ] The number of entries in chain is 1
*** Break *** segmentation violation
[...]
===========================================================
There was a crash (kSigSegmentationViolation).
This is the entire stack trace of all threads:
===========================================================
The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug report at
http://root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#10 0x00002ab505f52cab in PndMvdRiemannTrackFinderTask::FillHitArray (
this=0x1d730ba0)
at /home/soeren/backup/panda/pandaroot/apr13/mvd/MvdTracking/PndMvdRiemannT rackFinderTask.cxx:196
#11 0x00002ab505f5316e in PndMvdRiemannTrackFinderTask::Exec (this=0x1d730ba0,
opt=0x2ab501690b20 "")
at /home/soeren/backup/panda/pandaroot/apr13/mvd/MvdTracking/PndMvdRiemannT rackFinderTask.cxx:122
#12 0x00002ab4f725e483 in TTask::ExecuteTasks (this=0x1d303360,
option=0x2ab501690b20 "")
at /home/soeren/backup/panda/fairsoft/sep12/tools/root/core/base/src/TTask. cxx:312
#13 0x00002ab4f725e712 in TTask::ExecuteTask (this=0x1d303360,
option=0x2ab501690b20 "")
at /home/soeren/backup/panda/fairsoft/sep12/tools/root/core/base/src/TTask. cxx:275
#14 0x00002ab5015af351 in FairRunAna::RunTSBuffers (this=0x1d3030f0)
at /home/soeren/backup/panda/pandaroot/apr13/base/FairRunAna.cxx:656
#15 0x00002ab5015af998 in FairRunAna::Run (this=0x1d3030f0, Ev_start=0,
Ev_end=0)
at /home/soeren/backup/panda/pandaroot/apr13/base/FairRunAna.cxx:491
===========================================================
This seems not to be a problem of the time-based digis, but a problem of the Riemann track finder - but only in the case of non-time-based digis (for non-time-based digis it runs fine).
Again (to make it clear), if I run the run_tracking_sttcombi.C when the mvddigi->RunTimeBased() was switched ON before, everything runs o.k.
any idea ?
thanks and best regards, Soeren
|
|
|
|
Re: crash in reco macro (timebased simulation) [message #15192 is a reply to message #15132] |
Tue, 13 August 2013 11:58 |
Jens Sören Lange
Messages: 193 Registered: June 2005
|
first-grade participant |
From: *wlan.uni-giessen.de
|
|
Hi Tobias,
yes, thanks, that was the reason (I assumed the run_tracking_sttcombi.C is identical for timebased and non-timebased mode, so I didn't edit it before running). Now all the root files are created.
By the way, one more thing. I noticed that in the digi macro for non-timebased there is no STT hit sorter, but in the timebased macro there is.
PndSttHitSorterTask* sttSorter = new PndSttHitSorterTask(5000, 50, "STTHit", "STTSortedHits", "PndSTT");
fRun->AddTask(sttSorter);
For the tutorial (MVD-only tracking) it maybe didn't matter (although in fact I see slight differences in the root files), but do I maybe always have to switch on/off when comparing timebased and non-timebased mode MC ?
best regards, Soeren
|
|
|
|
Re: crash in reco macro (timebased simulation) [message #15251 is a reply to message #15192] |
Tue, 20 August 2013 10:41 |
Tobias Stockmanns
Messages: 489 Registered: May 2007
|
first-grade participant |
From: *ikp.kfa-juelich.de
|
|
Dear Soeren and all other TimeBasedSimulators,
the TimeBased macros are online now in macro/run/timebased. They are running but might be not up to date concerning detector geometries and still need to be cleaned up. This will change in the near future.
The macros have a standard simulation macro identical for timebased and non-timebased simulation. After that you have a timebased digi, reco and track finding macro.
Cheers,
Tobias
|
|
|