Cleaning the MC sample with PndMcCloner [message #18164] |
Wed, 22 April 2015 17:50 |
StefanoSpataro
Messages: 2736 Registered: June 2005 Location: Torino
|
first-grade participant |
From: *to.infn.it
|
|
Dear all,
some time ago I did an important modification of the PndMcCloner, the task who reads the MCTrack from sim file and copy into pid, so that sim digi and reco can be removed from standard analysis.
In the pid macro, if you add the following line:
PndMcCloner *clone = new PndMcCloner();
-> clone->SetCleanMC(kTRUE):
fRun->AddTask(clone);
the cloner code looks into the pid candidates (charged and neutral), find the used mc indices, find all the mother indices of such tracks, and stores in the output MCTrack TCA only the MC tracks which were used + mothers (and all the primaries) for the reconstruction of the complete decay chain in the analysis. The code updates also the indices of the pidcandidates. Of course, in this way the original MCTrack cannot be used anymore together with pid.
The output size of the pid_complete.root, 1000 psi->J/psipipi events, from 8.2MB to 3.3MB, then I am more or less saving 1/3 of the information (saving a lot of disk space).
I did the check with ana_complete and with the check_complete, using the standard clone and the cleaned one, and for me the distributions are exactly the same.
In this sense I believe the code works, but I would like to ask you to check with some other different channel, also checking the file size, just to be sure before putting the flag into the official macros.
Thanks a lot in advance.
|
|
|