GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Bugs, Fixes, Releases » [FIXED] crash in reco macro (timebased simulation)
[FIXED] crash in reco macro (timebased simulation) [message #15132] Thu, 08 August 2013 09:17 Go to next message
Jens Sören Lange is currently offline  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 #15133 is a reply to message #15132] Thu, 08 August 2013 09:24 Go to previous messageGo to next message
Tobias Stockmanns is currently offline  Tobias Stockmanns
Messages: 489
Registered: May 2007
first-grade participant
From: *ikp.kfa-juelich.de
Dear Sören,

thank you for pointing out this problem. Replace GetDigiFileName(false) with GetDigiFileName() and it should work.

In the mean time there was a modification of the PndFileNameCreator which causes this problem.

Cheers,

Tobias
Re: crash in reco macro (timebased simulation) [message #15182 is a reply to message #15132] Mon, 12 August 2013 11:51 Go to previous messageGo to next message
Jens Sören Lange is currently offline  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 #15190 is a reply to message #15182] Tue, 13 August 2013 11:10 Go to previous messageGo to next message
Tobias Stockmanns is currently offline  Tobias Stockmanns
Messages: 489
Registered: May 2007
first-grade participant
From: *ikp.kfa-juelich.de
Dear Soeren,

I was able to run the macros time-based and non-timebased without a problem.

Have you disabled in the reco and tracking macro the line fRun->RunWithTimeStamps() ?

Cheers,

Tobias
Re: crash in reco macro (timebased simulation) [message #15192 is a reply to message #15132] Tue, 13 August 2013 11:58 Go to previous messageGo to next message
Jens Sören Lange is currently offline  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 #15193 is a reply to message #15192] Tue, 13 August 2013 12:49 Go to previous messageGo to next message
Tobias Stockmanns is currently offline  Tobias Stockmanns
Messages: 489
Registered: May 2007
first-grade participant
From: *ikp.kfa-juelich.de
Hi Soeren,

the HitSorters have to run for each time based simulation you do. They order the data according to the TimeStamp. In the MVD this is automatically done and switched on if you enable time based simulation. You can have a look into the PndMvdDigiTask where this is done.

For the STT (and all the other detectors) one has to do it by hand or use the same structure of macros which are used for the MVD.

Cheers,

Tobias
Re: crash in reco macro (timebased simulation) [message #15251 is a reply to message #15192] Tue, 20 August 2013 10:41 Go to previous message
Tobias Stockmanns is currently offline  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
Previous Topic: [FIXED] error after updating pandaroot
Next Topic: [FIXED] genfit was moved
Goto Forum:
  


Current Time: Fri Apr 19 15:46:47 CEST 2024

Total time taken to generate the page: 0.00817 seconds