GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » Analysis » McTruthMatch problems
McTruthMatch problems [message #16775] Thu, 05 June 2014 17:41 Go to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ikp.kfa-juelich.de
Dear all,

I have a problem with the McTruth match. As preface, I have to say that it works pretty well in the standard trunk (25180) which I am currently using.
I substituted genfit with genfit2. If I try to run standard macros (sim-, digi-, reco-, pid-) evertyhing looks working smooth: variables are filled.

I run a standard analysis macro, making use of rho classes (e.g. ana_complete.C), and I modified it following the example /macro/scrut/ana_jpsi.C.
ntp1 (reco quantities) is filled properly.
nmc is filled properly.

The problems occur when I try to loop over the rho candidates, and ask the Mc true values in ntp1. For example:

RhoCandidate *truth = jpsi[j]->GetMcTruth();
TLorentzVector lv;
if (truth) lv = truth->P4();
qa.qaP4("true_jpsi_", lv, ntp1);

ntp1->DumpData();


all variables labeled as true_jpsi_* look spikes centered in zero (but same number of entries as for reco variables).
Indeed, in the mc block:

theAnalysis->FillList(mclist, "McTruth");

nmc->Column("ev", (Int_t) i);
qa.qaMcList("", mclist, nmc);
nmc->DumpData();


variables are filled properly.
When running the standard test macros, I see often the message:

-W- PndMCTrackAssociator::Exec: Not identified Detector ID
-W- PndMCTrackAssociator::Exec: Not identified Detector ID
-W- PndMCTrackAssociator::Exec: Not identified Detector ID
-W- PndMCTrackAssociator::Exec: Not identified Detector ID


does it imply that the Mc truth association fails, here?

Even more tricky: when I try to run the fast sim, I don't get this problem at all. Of course, the fast sim is not using "kalman algorithms", except for one method in the PidCorrelator. So, I am pretty sure that I did not face properly something related to genfit2 inside pandaroot, for the MCtruth association. It is not clear to me how to debug this, and I need your help. Do you have any idea at which level the true association is going wrong? did anybody experienced before something like that?

thank you in advance for your help,

Elisabetta
Re: McTruthMatch problems [message #16776 is a reply to message #16775] Thu, 05 June 2014 18:00 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 106.2.165*
This means that for some detector you are filling the PndTrackCand with wrong detector ID. I would suggest to print these numbers to see where you get such messages.
Re: McTruthMatch problems [message #16777 is a reply to message #16776] Thu, 05 June 2014 19:23 Go to previous messageGo to next message
Elisabetta Prencipe (2) is currently offline  Elisabetta Prencipe (2)
Messages: 214
Registered: February 2013
first-grade participant
From: *ikp.kfa-juelich.de
Hi Stefano,

in PndTrackAssociator I see that this problem occurs when:


PndTrackCandHit candHit = trackCand.GetSortedHit(ii);
Int_t trackID = -1;
if (candHit.GetDetId()==-1)
{
cout << "-W- PndMCTrackAssociator::Exec: Not identified Detector ID" << endl;
}

At this level only PndTracks are used, not directly GFtracks.
The HitID depends on which detector the candHit comes. In case the problem occurs, it is -1, of course.
Which parameters are you asking to print out? all detIDs?

I put a print out at line 338, before the end of the loop on PndTrack, in PndTrackAssociator.cxx.


cout<<candHit.GetDetId()<<endl;

Here attached is the result, running over 20 events, with several other debugging messages in reconstruction.

Thank you in advance for your help, Elisabetta
  • Attachment: reco2.log
    (Size: 721.24KB, Downloaded 180 times)
Re: McTruthMatch problems [message #16778 is a reply to message #16777] Fri, 06 June 2014 02:33 Go to previous message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 106.2.165*
Ok, but why there are so many PndTrackCandHits with (candHit.GetDetId()==-1)? the DetId should be always set, and not left to -1. With -1 the code is not able to find the corresponding MC hit since it has no idea from which TClonesArray it is coming from.
Previous Topic: hyperon fast simualtions
Next Topic: Overview of Different Methods of Running Over TTree / TNTuple
Goto Forum:
  


Current Time: Sun May 22 10:04:41 CEST 2022

Total time taken to generate the page: 0.00967 seconds