GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Bugs, Fixes, Releases » segmentation violation in reco macro(PndSttMvdTracking)
Re: segmentation violation in reco macro(PndSttMvdTracking) [message #14016 is a reply to message #14013] Wed, 26 September 2012 19:39 Go to previous messageGo to previous message
Gianluigi Boca is currently offline  Gianluigi Boca
Messages: 177
Registered: March 2004
first-grade participant
From: *gsi.de
hello Ajay,
please go to the new version of the pattern recognition that is better debugged.
In your Macro, instead of the lines :

// PndSttTrackFinderIdeal* sttTrackFinder = new PndSttTrackFinderIdeal(iVerbose);
PndSttTrackFinderReal* sttTrackFinder = new PndSttTrackFinderReal(0);
PndSttFindTracks* sttFindTracks = new PndSttFindTracks("Track Finder", "FairTask", sttTrackFinder, iVerbose);
sttFindTracks->AddHitCollectionName("STTHit", "STTPoint");
//sttFindTracks->SetPersistence(kFALSE);
fRun->AddTask(sttFindTracks);

PndSttMvdTracking * SttMvdTracking = new PndSttMvdTracking(0, false, false);
//SttMvdTracking->Cleanup();
SttMvdTracking->SetPersistence(kFALSE);
// SttMvdTracking->SetPersistence(kTRUE);
fRun->AddTask(SttMvdTracking);



replace them by the following lines :


// Unified Pattern Recognition
// use the constructor with input :
// printout flag (int) , plotting flag (bool), MC comparison flag (bool),SciTil.
PndTrkTracking* tracking = new PndTrkTracking(0,false,false,false);
tracking->SetInputBranchName("STTHit","MVDHitsPixel","MVDHitsStrip ");
// tracking->SetInputBranchName("STTHitMix","MVDHitsPixelMix","MVDHitsStripMix ");
// don't do the Pattern Recognition second part, starting from the Mvd;
tracking->NoMvdAloneTracking();
// do Cleanup only when there is Mixing;
// tracking->Cleanup();
fRun->AddTask(tracking);


NOTICE that the last false in

............ = new PndTrkTracking(0,false,false,false);
^
|
|

prevents the use of the SciTil information. This is so because of the present conflict existing between the geometriy of the DIRC and of the SciTil (in other words : if you use the DIRC geometry you will not get the SciTil points because
of an apparent overlap of the two geometries).

IN CASE YOU DON'T HAVE THE DIRC geometry you can instead use the 'true' in the constructor :

........... = new PndTrkTracking(0,false,false,true);


Please let me know if everything works, thanks@!
Gianluigi



Ajay Kumar wrote on Wed, 26 September 2012 14:08

Hi all,

I am getting a crash in my reco macro(pandaroot/macro/pid) when trying for 100000 events.I have runed two time my reco macro,every time reco task crashed after 36 events.Then I tried by skiping this event no.36 like as:-
fRun->Run(0,35);
fRun->Run(37,100000);
Again it goes to same crash after 389 events.I have attached the reco macro & crash error file here.

After run in gdb debugger i got-:

Found Tracks: 2 in event no. 35
----------------
Found Tracks: 1 in event no. 36
----------------

Program received signal SIGSEGV, Segmentation fault.
0x00007fff00000078 in ?? ()
(gdb) bt
#0 0x00007fff00000078 in ?? ()
#1 0x00007ffffffdb9e0 in ?? ()
#2 0x00007ffffffe3fd0 in ?? ()
#3 0x00007fffff9375c0 in ?? ()
#4 0x00007ffff7dff010 in ?? ()
#5 0x4000000000000000 in ?? ()
#6 0x00007ffffffdad60 in ?? ()
#7 0x00007ffffff78ec0 in ?? ()
#8 0xc0a2000000030014 in ?? ()
#9 0x00007ffffffe5060 in ?? ()
#10 0x00007ffff7dff010 in ?? ()
#11 0x3f62707d1a353c80 in ?? ()
#12 0x000400000014018b in ?? ()
#13 0x00007ffffffe6670 in ?? ()
#14 0x00007fffe67d0f98 in PndSttMvdTracking::Exec (
this=<error reading variable: Cannot access memory at address 0x72ff9538bd>,
opt=<error reading variable: Cannot access memory at address 0x72ff9538b5>)
---Type <return> to continue, or q <return> to quit---


can anybody help me?

Thanks in advance.

 
Read Message
Read Message
Read Message
Read Message
Previous Topic: [FIXED] libPythia6.so: cannot open shared object file:
Next Topic: segmentation violation in FairPrimaryGenerator
Goto Forum:
  


Current Time: Fri Apr 26 11:44:24 CEST 2024

Total time taken to generate the page: 0.01019 seconds