0 likes | 12 Vues
MarlinTPC is based on the Marlin framework and uses Kalman Filter for track reconstruction. The installation process, including dependencies and modifications, is documented. Kalman Filter successfully reconstructs tracks, but further investigation is needed to improve pt values. Despite challenges, installation of KalTest and KalDet is straightforward once Marlin is set up.
E N D
Kalman Kalman Filter in Filter in MarlinTPC MarlinTPC G. De Lentdecker Université Libre de Bruxelles o CEA-Saclay November 30st2011 G. De Lentdecker
MarlinTPC MarlinTPC installation installation MarlinTPC is based on the Marlin framework: • Based on LCIO data format • Usage of successive « processors » • One .xml file with the running parameters of each processor to steer Marlin • Marlin provides interfaces to GEAR (geometry description) and LCCD (conditions data) • Uses RAIDA (AIDA + ROOT) for histogramming • + need additional packages: MySQL, CLHEP, Java, QT, etc. Þ You need to install a lot of things. Fortunately the developers provide an installation python script: ilcinstall Despite this script it took me a while to find the right recipe to compile and link everything together: • 32 vs 64bits, • SL4 vs SL5 • special ROOT versions used by CMS (my other experiment). Also helpful : https://znwiki3.ifh.de/MarlinTPC/HowToInstallMarlinTPC Eventually I found the correct combination to work on CERN lxplus 2 CEA-Saclay G. De Lentdecker November 30st2011
Installation of Kalman Filter Installation of Kalman Filter KalTest and KalDet are not installed by ilcinstall Fortunatelly it is well documented in • https://znwiki3.ifh.de/MarlinTPC/HowToInstallMarlinTPC • MarlinTPC/reconstruction/README • KalTest/README And so it is rather straightforward to install (once you have installed all the rest, of course) 3 CEA-Saclay G. De Lentdecker November 30st2011
Modifications to Modifications to be be done done Note : the code has been developed by our Japanese colleagues and therefore it has been mostly tested with GEM modules => so a few numbers are hardcoded; examples : • The number of rows in the class HelicalTrack.cc • The algorithm to find pulses looks behind pad #72 in TopoFinder.cc 4 CEA-Saclay G. De Lentdecker November 30st2011
Before Before you you run run, , you you need need: : gear_ilc_lp_micromegas_single_module.xml • Describes the geometry of a single micromegas module in LP TPCChannelMapping.slcio • Provides the mapping in pad row and column Files provided by Jason Abernathy • Old geometry (not for TB with new electronics) 5 CEA-Saclay G. De Lentdecker November 30st2011
Sequence Sequence: : <execute> <!-- "manager processors" --> <processor name="MyAIDAProcessor"/> <processor name="MyConditionsProcessor"/> <!-- "reconstruction processors" --> <processor name="MyAFTERRawDataConverterProcessor"/> <processor name="MyPedestalSubtractor"/> <processor name="MyPulseFinder"/> <processor name="MyChannelMapperProcessor"/> <!-- "For KalmanFilter" --> <processor name="MyHitTrackFinderTopoProcessor"/> <processor name="MyTrackMakingKalmanFilterProcessor"/> <!-- "validation processors" --> <processor name="MyChargeOnPadsVisualisationProcessor"/> <processor name="MyDumpResidualsProcessor"/> <!-- "output processors" --> <processor name="MyLCIOOutputProcessor"/> </execute> // // Find Find the pulses in detector the pulses in detector // Do the // Do the mapping mapping to ( to (col,row col,row) ) // //make make TrackHit TrackHit from // //perform perform KF & KF & produce LCIO LCIO Tracks Tracks from pulses pulses produce // processors for // processors for x x- -checks histograms histograms checks & & 6 CEA-Saclay G. De Lentdecker November 30st2011
Comparison Comparison event event by by event event Compared some pulses between LPMon and MarlinTPC • Pulse height and time looked in agreement although not exactly identical by a few ADC counts One « event display »: RUN01007 RUN01007 1st 1st event event ( (Resistive Resistive Ink Ink) ) Y Y X X LPDisplay LPDisplay MarlinTPC MarlinTPC X (mm) X (mm) 7 CEA-Saclay G. De Lentdecker November 30st2011
Comparison Comparison LPDisplay LPDisplay RUN01007 1st RUN01007 1st event event ( (Resistive Resistive Ink Ink) ) Y Y Hits Hits included included in by by Kalman Kalman Filter in track track reconstructed reconstructed Filter X X Time Time MarlinTPC MarlinTPC Time Time Y Y X X Y Y X X 8 CEA-Saclay G. De Lentdecker November 30st2011
Kalman Kalman Filter Filter Kalman filter seems to work: • Tracks are reconstructed • However pt values obtained are not correct (bad B field setting ?) ( (GeV GeV/c) /c) 9 CEA-Saclay G. De Lentdecker November 30st2011
Conclusions Conclusions The most difficult (for me) was to install Marlin & ILCSOFT Once this done, installation of KalTest and KalDet is easy Except few hardcoded values, Kalman Filters runs: • Tracks are reconstructed • BUT values returned by the fit doesn’t look right… investigating 10 CEA-Saclay G. De Lentdecker November 30st2011