31#include "FairMCEventHeader.h"
32#include "FairMCPoint.h"
33#include "FairRootManager.h"
34#include "FairTrackParam.h"
38#include <TMatrixFSym.h>
48 , fTracks(new TObjArray(1))
53 fTracks->SetOwner(kTRUE);
59 , fTracks(new TObjArray(1))
125 fGlobalTracks = (TClonesArray*) man->GetObject(
"GlobalTrack");
126 fTrdTracks = (TClonesArray*) man->GetObject(
"TrdTrack");
127 fStsTracks = (TClonesArray*) man->GetObject(
"StsTrack");
128 fMuchTracks = (TClonesArray*) man->GetObject(
"MuchTrack");
129 fRichRings = (TClonesArray*) man->GetObject(
"RichRing");
137 fMCHeader = (FairMCEventHeader*) man->GetObject(
"MCEventHeader.");
138 fEvHeader = (FairEventHeader*) man->GetObject(
"EventHeader.");
139 fMCTracks = (TClonesArray*) man->GetObject(
"MCTrack");
140 fStsMatches = (TClonesArray*) man->GetObject(
"StsTrackMatch");
141 fMuchMatches = (TClonesArray*) man->GetObject(
"MuchTrackMatch");
142 fTrdMatches = (TClonesArray*) man->GetObject(
"TrdTrackMatch");
143 fRichMatches = (TClonesArray*) man->GetObject(
"RichRingMatch");
145 fMvdHits = (TClonesArray*) man->GetObject(
"MvdHit");
146 fStsHits = (TClonesArray*) man->GetObject(
"StsHit");
147 fMuchHits = (TClonesArray*) man->GetObject(
"MuchPixelHit");
149 fTrdHits = (TClonesArray*) man->GetObject(
"TrdHit");
150 fRichHits = (TClonesArray*) man->GetObject(
"RichHit");
151 fTofHits = (TClonesArray*) man->GetObject(
"TofHit");
161 fMvdPoints = (TClonesArray*) man->GetObject(
"MvdPoint");
162 fStsPoints = (TClonesArray*) man->GetObject(
"StsPoint");
163 fRichPoints = (TClonesArray*) man->GetObject(
"RichPoint");
164 fMuchPoints = (TClonesArray*) man->GetObject(
"MuchPoint");
165 fTrdPoints = (TClonesArray*) man->GetObject(
"TrdPoint");
166 fTofPoints = (TClonesArray*) man->GetObject(
"TofPoint");
168 fTrdCluster = (TClonesArray*) man->GetObject(
"TrdCluster");
172 fFastTracks = (TClonesArray*) man->GetObject(
"FastTrack");
272 Int_t itrdMC = (trdMatch ? trdMatch->
GetMatchedLink().GetIndex() : -1);
279 FairMCPoint* tofPoint = 0x0;
282 Int_t itofMC = (tofPoint ? tofPoint->GetTrackID() : -1);
295 if (mcTrack &&
fMCTracks) matches[iMC]++;
299 stsMatch, muchMatch, trdMatch, richMatch,
richProj, i),
304 if (iMC < 0) iMC = -999;
322 TParticle* ftrk =
static_cast<TParticle*
>(
fFastTracks->UncheckedAt(i));
326 Int_t iMC = ftrk->GetFirstMother();
330 if (mcTrack &&
fMCTracks) matches[iMC]++;
350 Fatal(
"PairAnalysisEvent::GetTrack",
"Event initialisation failed somehow !!!");
388 if (!
GetHits(det)) {
return 0; }
390 return (
GetHits(det)->GetEntriesFast());
402 return (
GetPoints(det)->GetEntriesFast());
502 for (Int_t iHit = 0; iHit < nofMvdHits; iHit++) {
504 if (!hitMatch)
continue;
506 for (Int_t iLink = 0; iLink < nofLinks; iLink++) {
508 const FairMCPoint* point =
static_cast<const FairMCPoint*
>(
fMvdPoints->At(link.
GetIndex()));
509 if (NULL == point)
continue;
XPU_D constexpr auto ToIntegralType(T enumerator) -> typename std::underlying_type< T >::type
@ kMvd
Micro-Vertex Detector.
@ kTrd
Transition Radiation Detector.
@ kTof
Time-of-flight Detector.
@ kSts
Silicon Tracking System.
@ kMuch
Muon detection system.
@ kRich
Ring-Imaging Cherenkov Detector.
Data class for STS tracks.
ClassImp(PairAnalysisEvent) PairAnalysisEvent
int32_t GetStsTrackIndex() const
int32_t GetRichRingIndex() const
int32_t GetTofHitIndex() const
int32_t GetMuchTrackIndex() const
int32_t GetTrdTrackIndex() const
const CbmLink & GetLink(int32_t i) const
int32_t GetNofLinks() const
void AddLink(const CbmLink &newLink)
const CbmLink & GetMatchedLink() const
int32_t GetNofMvdHits() const
int32_t GetMvdHitIndex(int32_t iHit) const
int32_t GetNofHits() 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
TClonesArray * fTrdPoints
Int_t GetNumberOfHitMatches(ECbmModuleId det) const
TClonesArray * fMuchMatches
TClonesArray * fStsHitMatches
Int_t GetNumberOfPoints(ECbmModuleId det) const
TClonesArray * fTrdCluster
FairMCEventHeader * fMCHeader
TClonesArray * fRichRings
TClonesArray * fRichMatches
FairEventHeader * fEvHeader
TClonesArray * fStsPoints
virtual ~PairAnalysisEvent()
TClonesArray * fTofHitMatches
TClonesArray * fGlobalTracks
TClonesArray * fMuchHitsStraw
TClonesArray * fTrdHitMatches
Int_t GetMvdMatchingIndex(CbmStsTrack *track) const
void SetInput(FairRootManager *man)
TClonesArray * fRichProjection
virtual void Clear(Option_t *opt="C")
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
TClonesArray * GetHitMatches(ECbmModuleId det) const