Distribution of MC Information

Slides:



Advertisements
Similar presentations
Computing EVO meeting, January 15 th 2013 Status of the Tracking Code Gianluigi Boca, Pavia University.
Advertisements

Computations have to be distributed !
Label production Solution with Label Gallery programs Label Gallery is used for general label design and print GalleryData is used to create small database.
PPR meeting - January 23, 2003 Andrea Dainese 1 TPC tracking parameterization: a useful tool for simulation studies with large statistics Motivation Implementation.
THE SIMULATION- AND ANALYSIS-FRAMEWORK FAIRROOT CHEP 2012, New York.
9/26/11HFT soft meeting, BNL1 Chain analysis fz file MuDst.root minimc.root geant.root event.root McEvent.root StMiniMcMaker StAssociationMaker : STAR.
1 Tracking Reconstruction Norman A. Graf SLAC July 19, 2006.
©2010 John Wiley and Sons Chapter 12 Research Methods in Human-Computer Interaction Chapter 12- Automated Data Collection.
David N. Brown Lawrence Berkeley National Lab Representing the BaBar Collaboration The BaBar Mini  BaBar  BaBar’s Data Formats  Design of the Mini 
Maria Grazia Pia Detector Response Acknowledgements: A. Lechner, J. Apostolakis, M. Asai, G. Cosmo, A. Howard.
CBM Software Workshop for Future Challenges in Tracking and Trigger Concepts, GSI, 9 June 2010 Volker Friese.
Darmstadt, 15. November 2015 Tobias Stockmanns, FZ Jülich1 A STEP to ROOT converter for the FairRoot framework ALICE-FAIR Computing Meeting, GSI,
1 Request for MuDst revision Y.Fisyak, 03/05/08 S&C meeting.
Track extrapolation to TOF with Kalman filter F. Pierella for the TOF-Offline Group INFN & Bologna University PPR Meeting, January 2003.
Simulations for CBM CBM-India Meeting, Jammu, 12 February 2008 V. Friese
FTP Server API Implementing the FTP Server Registering FTP Command Callbacks Data and Control Port Close Callbacks Other Server Calls.
Jul. 27, 2005 BESIII Software Meeting , IHEP 1 Physics Analysis with ROOT July 27, 2005 Yajun Mao School of Physics, Peking University.
1 Using Jupiter and Satellites Akiya Miyamoto KEK Jan 2006.
Standalone FLES Package for Event Reconstruction and Selection in CBM DPG Mainz, 21 March 2012 I. Kisel 1,2, I. Kulakov 1, M. Zyzak 1 (for the CBM.
5/2/  Online  Offline 5/2/20072  Online  Raw data : within the DAQ monitoring framework  Reconstructed data : with the HLT monitoring framework.
ALICE Offline Week, CERN, Andrea Dainese 1 Primary vertex with TPC-only tracks Andrea Dainese INFN Legnaro Motivation: TPC stand-alone analyses.
Refitting Tracks from DST E. Rodrigues, NIKHEF LHCb Tracking and Alignment Workshop, Lausanne, 8-9th November 2006  Motivations  Step-by-step …  Current.
Crisis Line/Safe House Case Management System Martin Zhao Mercer University.
SoLID simulation with GEMC Zhiwen Zhao 2015/03/26.
HLT/AliRoot integration C.Cheshkov, P.Hristov 2/06/2005 ALICE Offline Week.
Photon reconstruction and matching Prokudin Mikhail.
CPSC 252 Hashing Page 1 Hashing We have already seen that we can search for a key item in an array using either linear or binary search. It would be better.
© Spiros Mancoridis Software Engineering (Unit Testing Tools) Dependable Software Systems Topics in Unit Testing Tools Material drawn from [ junit.org,
1 Checks on SDD Data Piergiorgio Cerello, Francesco Prino, Melinda Siciliano.
April 6, 2000 LHCb Event Data Model Pavel Binko, Gloria Corti LHCb / CERN 1 LHCb Software week LHCb Event Data Model Pavel Binko Gloria Corti LHCb / CERN.
Paul Scherrer Institut 5232 Villigen PSI ROME / / Matthias Schneebeli ROME Root based Object oriented Midas Extension Presented by Matthias.
FILE MANAGEMENT SYSTEM Group Members RAMOLY Nathan HEMMI Florent AZANGUE Roméo CHOUIKH Jaouher JRIDI Bayrem NINTIDEM Estelle Olivia Supervisor M. TIMSIT.
October Test Beam DAQ. Framework sketch Only DAQs subprograms works during spills Each subprogram produces an output each spill Each dependant subprogram.
Calibration hits in Jets A proposal for a package analyzing calibration hits inside reconstructed jets Pierre–Antoine Delsart Mohsen Kharzad & Rachid Mazini.
SIlicon VErtex TrAcker Rather than fixed common geometry the common analysis and simulation tools are needed. Such software package should provide : 
I. BelikovALICE Offline Week, CERN, 12 June ESD Classes and the Combined Reconstruction What is the ESD ? Two new classes AliESD and AliESDtrack.
Marco Cattaneo, 6-Apr Issues identified in sub-detector OO software reviews Calorimeters:18th February Tracking:24th March Rich:31st March.
Status of Analysis Tools in PandaROOT K. Götzen, GSI 1.
BESIII offline software group Status of BESIII Event Reconstruction System.
The HADES Oracle database and its interfaces for experimentalists Ilse Koenig, GSI Darmstadt for the HADES collaboration.
News on Rho PANDA Collaboration Meeting, Bochum K. Götzen, GSI 1.
GLAST Beamtest 2006 Pisa R.Dubois1/3 Offline Possibilities for Ancillary Data Handling.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
FPGA Helix Tracking Algorithm with STT Yutie Liang, Martin Galuska, Thomas Geßler, Wolfgang Kühn, Jens Sören Lange, David Münchow, Milan Wagner II. Physikalisches.
Mitglied der Helmholtz-Gemeinschaft Hit Reconstruction for the Luminosity Monitor March 3 rd 2009 | T. Randriamalala, J. Ritman and T. Stockmanns.
Tracking, Computing & other Stuff. Correlation of detector hits The track segments of inner and outer MDCs are matched on Cluster level The track segments.
14/06/2010 Stefano Spataro Status of LHE Tracking and Particle Identification Status of LHE Tracking and Particle Identification Stefano Spataro III Panda.
HYDRA Framework. Setup of software environment Setup of software environment Using the documentation Using the documentation How to compile a program.
Monthly video-conference, 18/12/2003 P.Hristov1 Preparation for physics data challenge'04 P.Hristov Alice monthly off-line video-conference December 18,
Susanna Costanza - Pavia Group PANDA C.M., Stockholm – June 14, 2010
(LHE) tracking and PID packages
Data Formats and Impact on Federated Access
WP12 - General Development News Sandro Wenzel
EicRoot: a brief overview
Kalman filter tracking library
Propagation of Reconstructed Tracks
STT pattern recognition improvements since last December meeting and
Tree based validation tool for track reconstruction
Hit Triplet Finding in the PANDA-STT
the Pattern Recognition Workshop
Resolutions in the central tracker without the Mvd system
The Status of the Data Analysis of the Beam Test at FZJ
Bonn Test Station data analysis with PandaRoot
Status of the Offline Pattern Recognition Code Goa, March 12th 2013
Chapter 12: Automated data collection methods
Silicon Tracking with GENFIT
Status of LHETRACK Tracking with STT+MVD Stefano Spataro
MUC simulation and reconstruction
road – Hough transform- c2
Tracking QA | Tobias Stockmanns on behalf of the MVD group.
Presentation transcript:

Distribution of MC Information | Tobias Stockmanns

Created Objects - MVD

Important Informations

Basic concept class FairLink { … private : Int_t fType; //From which branch is the data coming Int_t fIndex; //Position in TClonesArray Float_t fWeight; //Individual weight } class FairMultiLinkedData { public : SetLink(FairLink); AddLink(FairLink); private : vector<FairLink> fLinks; } class FairBasePoint : public FairMultiLinkedData { private : Double_t fX, fY, fZ; } class FairHit : public FairBasePoint + Errors class FairMCPoint : public FairBasePoint + MC Information

How to implement it Make sure, that your subdetector has for each branch an entry in the fDetectorType enum The order of the entries should correspond to the sequence of simulation enum fDetectorType { kUnknown, kMCTrack, kMVDPoint, kMVDDigiStrip, kMVDDigiPixel, kMVDClusterPixel, kMVDClusterStrip, kMVDHitsStrip, kMVDHitsPixel, … kLheHit, kLheCand, kLheTrack, kTrackCand, kTrack };

How to implement it Derive your data classes either from FairMultiLinkedData or from FairHit/FairMCPoint Add the link information during simulation via: SetLink(FairLink): Replaces existing link data with the given FairLink AddLink(FairLink): Adds the given FairLink at the end of the vector of FairLinks PndSttHit::PndSttHit(Int_t detID, TVector3& pos, TVector3& dpos,                      Int_t index, Int_t flag, Double_t isochrone,                      Double_t isochroneError, TVector3 wireDir)   : FairHit(detID, pos, dpos, index) { … SetLink(FairLink(kSttPoint, index)); }

Increase of file size simulated 100 events with 4 µ per event for MVD and STT with links [byte] w/o links difference [%] data objects Points 4,725,200 4,713,659 11,541 0,2 11,473 Digi 1,619,496 1538441 81,055 5 28,373 Reco 2,882,485 2,647,842 234,643 8 12,115 Fit 57,8930 55,2416 26,514 4,5 352 size of links file: 275,714 byte

How to extract the Information 1: --MCTrack: 4: --MVDPoint: 0: (1/1) 1: (1/1) 2: (1/1) 3: (1/1) 4: (1/0) 5: (1/0) 6: (1/0) 7: (1/0) 5: --MVDStripDigis: 0: (4/3) 1: (4/3) 2: (4/6) 3: (4/6) 4: (4/6) 5: (4/7) 6: (4/7) 7: (4/7) 6: --MVDPixelDigis: 0: (4/0) 1: (4/0) 2: (4/1) 3: (4/1) 4: (4/2) 5: (4/2) 6: (4/4) 7: (4/4) 8: (4/4) 9: (4/5) 10: (4/5) 7: --MVDClusterCand: 0: (6/0) (6/1) 1: (6/2) (6/3) 2: (6/4) (6/5) 3: (6/6) (6/7) (6/8) 4: (6/9) (6/10) 8: --MVDStripClusterCand: 0: (5/0) 1: (5/1) 2: (5/3) (5/2) 3: (5/4) 4: (5/6) (5/5) 5: (5/7) 7: --MVDClusterCand: 0: (6/0) (6/1) 1: (6/2) (6/3) 2: (6/4) (6/5) 3: (6/6) (6/7) (6/8) 4: (6/9) (6/10)

How to extract the Information Three important tasks: PndMCMatchCreatorTask Runs through all given files in macro Extracts link data from registered branches  fills PndMCMatch Stores data in separate root file PndMCMatchLoaderTask Reads in link root file  fills PndMCMatch PndMCMatchSelectorTask Crawles through link data and extracts wanted information Needs start and stop stage (given as fDetectorType values) Works in both directions Needs PndMCMatchCreator/LoaderTask beforehand

Real Life Example MC Info Digitization Clustering Point Reco 1: --MCTrack: 5: --MVDStripDigis: 0: (4/3) 1: (4/3) 2: (4/6) 3: (4/6) 4: (4/6) 5: (4/7) 6: (4/7) 7: (4/7) 8: --MVDStripClusterCand: 0: (5/0) 1: (5/1) 2: (5/3) (5/2) 3: (5/4) 4: (5/6) (5/5) 5: (5/7) 9: --MVDHitsStrip: 0: (8/0) 1: (8/2) 2: (8/4) 4: --MVDPoint: 0: (1/1) 1: (1/1) 2: (1/1) 3: (1/1) 4: (1/0) 5: (1/0) 6: (1/0) 7: (1/0) 10: --MVDHitsPixel: 0: (7/0) 1: (7/1) 2: (7/2) 3: (7/3) 4: (7/4) 7: --MVDClusterCand: 0: (6/0) (6/1) 1: (6/2) (6/3) 2: (6/4) (6/5) 3: (6/6) (6/7) (6/8) 4: (6/9) (6/10) 6: --MVDPixelDigis: 0: (4/0) 1: (4/0) 2: (4/1) 3: (4/1) 4: (4/2) 5: (4/2) 6: (4/4) 7: (4/4) 8: (4/4) 9: (4/5) 10: (4/5) Track Finder 18: --TrackCand: 0: (10/3) (10/4) (9/1) (9/2) 1: (10/0) (10/1) (10/2) (9/0) PndMCMatchSelectorTask (kTrackCand, kMCTrack) MC Link from: TrackCand to MCTrack: 0: (1/0) 1: (1/1)

How to use the Information void PndMCTestMomentumCompare::Exec(Option_t* opt) { PndMCResult myResult = fMCMatch->GetMCInfo(kTrack, kMCTrack); for (int i = 0; i < myResult.GetNEntries(); i++){ PndMCEntry myLinks = myResult.GetMCLink(i); PndTrack* myTrack = (PndTrack*)fTrack->At(i); for (int j = 0; j < myLinks.GetNLinks(); j++){ PndMCTrack* myMCTrack = (PndMCTrack*)fMCTrack->At(myLinks.GetLink(j).GetIndex()); //At this point you have access to the PndTrack and the //MCTrack belonging to the PndTrack } } }

Example Comparison of Momentum after Kalman Fit with MC information TrackMatch: PndTrack 0 P: 0.997445 GeV/c Belongs to: MCTrack 0 P: 1 GeV/c PID: 13 MCTrack 22 P: 0.0064986 GeV/c PID: 11 --------------------------------

Ideal track finder MC Link from: MCTrack to STTHelixHit: 0: (8/0) (8/1) (8/4) (8/5) (15/0) (15/1) (15/2) (15/3) (15/4) (15/5) (15/6) (15/7) (15/8) (15/9) (15/10) (15/11) (15/12) (15/13) (15/14) (15/15) (15/16) (15/17) (15/18) (15/19) (15/20) (15/21) (15/22) (15/23) (15/24) (10/6) (10/7) (10/8) 1: (8/2) (8/3) (8/6) (8/7) (15/25) (15/26) (15/27) (15/28) (15/29) (15/30) (15/31) (15/32) (15/33) (15/35) (15/34) (15/36) (15/37) (15/39) (15/38) (15/40) (15/41) (15/42) (15/43) (15/44) (15/45) (15/46) (15/47) (15/48) (10/4) (10/5) 2: (8/8) (8/9) (15/49) (15/50) (15/51) (15/52) (15/53) (15/54) (15/55) (15/56) (15/57) (15/58) (15/59) (15/60) (15/61) (15/62) (15/63) (15/64) (15/65) (15/66) (15/67) (15/68) (15/69) (15/70) (15/71) (15/72) (15/73) (10/2) (10/3) 8: MvdStripHit 10: MvdPixelHit 15: STTHelixHit

Weighting Problem: If you have more than one MCTrack belonging to one PndTrack, which is the more relevant one? Possible solutions: Count the number of traces going to the MCTrack Count number of certain data in the MCTrack Implemented: Counting of links Different weights for a single link Different weights for a group of links (MVD Hits more precise than STT Hits)

Real Life Example MC Info Digitization Clustering Point Reco 1: --MCTrack: 5: --MVDStripDigis: 0: (4/3) 1: (4/3) 2: (4/6) 3: (4/6) 4: (4/6) 5: (4/7) 6: (4/7) 7: (4/7) 8: --MVDStripClusterCand: 0: (5/0) 1: (5/1) 2: (5/3) (5/2) 3: (5/4) 4: (5/6) (5/5) 5: (5/7) 9: --MVDHitsStrip: 0: (8/0) 1: (8/2) 2: (8/4) 4: --MVDPoint: 0: (1/1) 1: (1/1) 2: (1/1) 3: (1/1) 4: (1/0) 5: (1/0) 6: (1/0) 7: (1/0) 10: --MVDHitsPixel: 0: (7/0) 1: (7/1) 2: (7/2) 3: (7/3) 4: (7/4) 7: --MVDClusterCand: 0: (6/0) (6/1) 1: (6/2) (6/3) 2: (6/4) (6/5) 3: (6/6) (6/7) (6/8) 4: (6/9) (6/10) 6: --MVDPixelDigis: 0: (4/0) 1: (4/0) 2: (4/1) 3: (4/1) 4: (4/2) 5: (4/2) 6: (4/4) 7: (4/4) 8: (4/4) 9: (4/5) 10: (4/5) Track Finder 18: --TrackCand: 0: (10/3) (10/4) (9/1) (9/2) 1: (10/0) (10/1) (10/2) (9/0) PndMCMatchSelectorTask (kTrackCand, kMCTrack) MC Link from: TrackCand to MCTrack: (1/0) (1/1)

Real Life Example MC Info Digitization Clustering Point Reco 1: --MCTrack: 5: --MVDStripDigis: 0: (4/3) 1: (4/3) 2: (4/6) 3: (4/6) 4: (4/6) 5: (4/7) 6: (4/7) 7: (4/7) 8: --MVDStripClusterCand: 0: (5/0) 1: (5/1) 2: (5/3) (5/2) 3: (5/4) 4: (5/6) (5/5) 5: (5/7) 9: --MVDHitsStrip: 0: (8/0) 1: (8/2) 2: (8/4) 4: --MVDPoint: 0: (1/1) 1: (1/1) 2: (1/1) 3: (1/1) 4: (1/0) 5: (1/0) 6: (1/0) 7: (1/0) 10: --MVDHitsPixel: 0: (7/0) 1: (7/1) 2: (7/2) 3: (7/3) 4: (7/4) 7: --MVDClusterCand: 0: (6/0) (6/1) 1: (6/2) (6/3) 2: (6/4) (6/5) 3: (6/6) (6/7) (6/8) 4: (6/9) (6/10) 6: --MVDPixelDigis: 0: (4/0) 1: (4/0) 2: (4/1) 3: (4/1) 4: (4/2) 5: (4/2) 6: (4/4) 7: (4/4) 8: (4/4) 9: (4/5) 10: (4/5) Track Finder 18: --TrackCand: 0: (10/3) (10/4) (9/1) (9/2) (10/0) 1: (10/0) (10/1) (10/2) (9/0) PndMCMatchSelectorTask (kTrackCand, kMCTrack) (1/0) (1/1) Count traces: 11 2 Count MCPoints: 4 1 Give Weight 2 to StipHits: 6 1 MC Link from: TrackCand to MCTrack: (1/0/11) (1/1/2) (1/1)

Summary and Further Steps Basic functionality is finished Links by themselves are powerful tools for analysis of data Allows easy access to MC data combined with a high degree of flexibility Code is available at SVN: /pandaroot/development/MCPropagation_TS Next steps: Connection to MicroCandidates (help from Klaus needed) Planned code merge into trunk after DPG meeting