CbmRoot
Loading...
Searching...
No Matches
PairAnalysisEvent.h
Go to the documentation of this file.
1/* Copyright (C) 2015-2017 Justus-Liebig-Universitaet Giessen, Giessen
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Julian Book [committer] */
4
5#ifndef PAIRANALYSISEVENT_H
6#define PAIRANALYSISEVENT_H
7
8//#############################################################
9//# #
10//# Class PairAnalysisEvent #
11//# Class for event structure and references to tracks #
12//# #
13//# Authors: #
14//# Julian Book, Uni Ffm / Julian.Book@cern.ch #
15//# #
16//#############################################################
17#include "CbmDefs.h"
18#include "CbmVertex.h"
19
20#include "FairEventHeader.h"
21
22#include <TClonesArray.h>
23#include <TNamed.h>
24#include <TObjArray.h>
25
26class FairRootManager;
27class FairMCEventHeader;
28class CbmStsTrack;
30
31class PairAnalysisEvent : public TNamed {
32public:
34 PairAnalysisEvent(const char* name, const char* title);
35
36 virtual ~PairAnalysisEvent();
37
38 void SetInput(FairRootManager* man);
39 void SetANNId(Int_t Id) { fANNId = Id; }
40 void Init();
41
42
43 // getters
44 FairMCEventHeader* GetMCHeader() const { return fMCHeader; }
46 Int_t GetNumberOfTracks() const { return (fTracks ? fTracks->GetEntriesFast() : -1); }
47 Int_t GetNumberOfMCTracks() const { return (fMCTracks ? fMCTracks->GetEntriesFast() : -1); }
48 Int_t GetNumberOfVageMatches() const { return fMultiMatch; }
49 Int_t GetNumberOfMatches(ECbmModuleId det) const;
50 Int_t GetNumberOfHits(ECbmModuleId det) const;
51 Int_t GetNumberOfHitMatches(ECbmModuleId det) const;
52 Int_t GetNumberOfPoints(ECbmModuleId det) const;
53 Double_t GetEvStartTime() const { return fEvHeader->GetEventTime(); }
54
55 TClonesArray* GetHits(ECbmModuleId det) const;
56 TClonesArray* GetHitMatches(ECbmModuleId det) const;
57 TClonesArray* GetPoints(ECbmModuleId det) const;
58
59 TClonesArray* GetCluster(ECbmModuleId det) const;
60
61 TObjArray* GetTracks() const { return fTracks; }
63
64 virtual void Clear(Option_t* opt = "C");
65
66
67protected:
68 Int_t GetMvdMatchingIndex(CbmStsTrack* track) const;
69
70
71private:
72 FairMCEventHeader* fMCHeader = NULL; // mc header
73 FairEventHeader* fEvHeader = NULL; // rec header
74 TClonesArray* fMCTracks = NULL; // mc tracks
75 TClonesArray* fStsMatches = NULL; // STS matches
76 TClonesArray* fMuchMatches = NULL; // MUCH matches
77 TClonesArray* fTrdMatches = NULL; // TRD matches
78 TClonesArray* fRichMatches = NULL; // RICH matches
79
80 TClonesArray* fMvdPoints = NULL; // MVD points
81 TClonesArray* fStsPoints = NULL; // STS points
82 TClonesArray* fMuchPoints = NULL; // MUCH points
83 TClonesArray* fRichPoints = NULL; // RICH points
84 TClonesArray* fTrdPoints = NULL; // TRD points
85 TClonesArray* fTofPoints = NULL; // TOF points
86
87 TClonesArray* fGlobalTracks = NULL; // global tracks
88 TClonesArray* fTrdTracks = NULL; // TRD tracks
89 TClonesArray* fStsTracks = NULL; // STS tracks
90 TClonesArray* fMuchTracks = NULL; // MUCH tracks
91 TClonesArray* fRichRings = NULL; // RICH rings
92
93 TClonesArray* fMvdHits = NULL; // MVD hits
94 TClonesArray* fStsHits = NULL; // STS hits
95 TClonesArray* fMuchHits = NULL; // MUCH pixel hits
96 TClonesArray* fMuchHitsStraw = NULL; // MUCH straw hits
97 TClonesArray* fTrdHits = NULL; // TRD hits
98 TClonesArray* fRichHits = NULL; // RICH hits
99 TClonesArray* fTofHits = NULL; // TOF hits
100
101 TClonesArray* fRichProjection = NULL; // RICH projection
102
103 TClonesArray* fMvdHitMatches = NULL; // hit matches
104 TClonesArray* fStsHitMatches = NULL; // hit matches
105 TClonesArray* fRichHitMatches = NULL; // hit matches
106 TClonesArray* fMuchHitMatches = NULL; // hit matches
107 TClonesArray* fTrdHitMatches = NULL; // hit matches
108 TClonesArray* fTofHitMatches = NULL; // hit matches
109
110 TClonesArray* fTrdCluster = NULL; // TRD cluster
111
112 CbmVertex* fPrimVertex = NULL; // primary vertex
113 TClonesArray* fFastTracks = NULL; // fast(sim) tracks
114 TObjArray* fTracks; // papa tracks
115
116 Int_t fMultiMatch = 0; // number of mutiple matched tracks
117 Bool_t fANN = true;
118 Int_t fANNId = 1;
119
122
123 ClassDef(PairAnalysisEvent, 7) // Event structure
124};
125
126
127#endif
ECbmModuleId
Definition CbmDefs.h:39
PairAnalysisEvent(const PairAnalysisEvent &event)
Double_t GetEvStartTime() const
TClonesArray * fMuchTracks
TClonesArray * fTofPoints
Int_t GetNumberOfHits(ECbmModuleId det) const
TClonesArray * fTrdMatches
TClonesArray * fMvdHitMatches
TClonesArray * GetCluster(ECbmModuleId det) const
TClonesArray * GetHits(ECbmModuleId det) const
Int_t GetNumberOfMatches(ECbmModuleId det) const
TObjArray * GetTracks() const
TClonesArray * fTrdPoints
Int_t GetNumberOfHitMatches(ECbmModuleId det) const
TClonesArray * fMuchMatches
TClonesArray * fMvdHits
TClonesArray * fStsHitMatches
PairAnalysisEvent & operator=(const PairAnalysisEvent &c)
Int_t GetNumberOfPoints(ECbmModuleId det) const
TClonesArray * fTrdCluster
FairMCEventHeader * GetMCHeader() const
FairMCEventHeader * fMCHeader
TClonesArray * fRichHits
TClonesArray * fMCTracks
TClonesArray * fRichRings
TClonesArray * fRichMatches
FairEventHeader * fEvHeader
CbmVertex * GetPrimaryVertex() const
TClonesArray * fStsPoints
TClonesArray * fTofHitMatches
TClonesArray * fGlobalTracks
TClonesArray * fMuchHitsStraw
TClonesArray * fTrdHits
TClonesArray * fMuchHits
TClonesArray * fTrdHitMatches
Int_t GetMvdMatchingIndex(CbmStsTrack *track) const
Int_t GetNumberOfMCTracks() const
Int_t GetNumberOfTracks() const
void SetInput(FairRootManager *man)
TClonesArray * fStsHits
TClonesArray * fRichProjection
virtual void Clear(Option_t *opt="C")
void SetANNId(Int_t Id)
PairAnalysisTrack * GetTrack(UInt_t pos)
TClonesArray * fMvdPoints
TClonesArray * fRichHitMatches
TClonesArray * GetPoints(ECbmModuleId det) const
TClonesArray * fMuchPoints
TClonesArray * fStsMatches
TClonesArray * fStsTracks
TClonesArray * fMuchHitMatches
TClonesArray * fTrdTracks
TClonesArray * fRichPoints
TClonesArray * fFastTracks
Int_t GetNumberOfVageMatches() const
TClonesArray * GetHitMatches(ECbmModuleId det) const
TClonesArray * fTofHits