McTruthMatch problems [message #16775] |
Thu, 05 June 2014 17:41 |
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 #16777 is a reply to message #16776] |
Thu, 05 June 2014 19:23 |
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 266 times)
|
|
|
|