CbmRoot
Loading...
Searching...
No Matches
CbmLitGlobalElectronId.h
Go to the documentation of this file.
1/* Copyright (C) 2011-2021 UGiessen/JINR-LIT, Giessen/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Andrey Lebedev, Semen Lebedev [committer] */
4
5#ifndef CBMLITGLOBALELECTRONID_H_
6#define CBMLITGLOBALELECTRONID_H_
7
8#include "TObject.h"
9
10class TClonesArray;
11class CbmGlobalTrack;
12
13class CbmLitGlobalElectronId : public TObject {
14 private:
19
23 void Init();
24
25
26 public:
31 {
32 static CbmLitGlobalElectronId fInstance;
33 return fInstance;
34 }
35
40
47 Bool_t IsRichElectron(Int_t globalTrackIndex, Double_t momentum);
48
55 Bool_t IsTrdElectron(Int_t globalTrackindex, Double_t momentum);
56
63 // TODO: 1000 ns is a hardcoded offset for even-by-even mode
64 Bool_t IsTofElectron(Int_t globalTrackIndex, Double_t momentum, Double_t eventTime = 1000.);
65
72 /*
73 Bool_t IsElectron(
74 Int_t globalTrackIndex,
75 Double_t momentum);
76*/
77
84 Double_t GetRichAnn(Int_t globalTrackIndex, Double_t momentum);
85
92 Double_t GetTrdAnn(Int_t globalTrackindex, Double_t momentum);
93
94
98 // TODO: 1000 ns is a hardcoded offset for even-by-even mode
99 Double_t GetTofM2(Int_t globalTrackIndex, Double_t momentum, Double_t eventTime = 1000.);
100
101
105 void SetTrdAnnCut(Double_t par) { fTrdAnnCut = par; }
106
110 void SetRichUseAnn(Bool_t par) { fRichUseAnn = par; }
111
115 void SetRichAnnCut(Double_t par) { fRichAnnCut = par; }
116
120 void SetRichCuts(Double_t meanA, Double_t rmsA, Double_t meanB, Double_t rmsB, Double_t rmsCoeff, Double_t rtDistCut)
121 {
122 fRichMeanA = meanA;
123 fRichMeanB = meanB;
124 fRichRmsA = rmsA;
125 fRichRmsB = rmsB;
126 fRichRmsCoeff = rmsCoeff;
127 fRichDistCut = rtDistCut;
128 }
129
133 Double_t GetRichAnnCut() { return fRichAnnCut; }
134
138 Double_t GetTrdAnnCut() { return fTrdAnnCut; }
139
140 private:
141 Double_t fRichAnnCut;
143 Double_t fRichMeanA;
144 Double_t fRichMeanB;
145 Double_t fRichRmsA;
146 Double_t fRichRmsB;
148 Double_t fRichDistCut;
149 Double_t fTrdAnnCut;
150
151 TClonesArray* fGlobalTracks;
152 TClonesArray* fRichRings;
153 TClonesArray* fTrdTracks;
154 TClonesArray* fTofHits;
155
158
160};
161
162#endif /* CBMLITGLOBALELECTRONID_H_ */
Bool_t IsTrdElectron(Int_t globalTrackindex, Double_t momentum)
Identify electron in RICH detector.
void SetRichUseAnn(Bool_t par)
Set to true if you want to use ANN method for the RICH detector.
Double_t GetTrdAnn(Int_t globalTrackindex, Double_t momentum)
Return ANN value for electron Identification in the TRD detector.
Double_t GetRichAnnCut()
Return RICH ANN cut.
Double_t GetTofM2(Int_t globalTrackIndex, Double_t momentum, Double_t eventTime=1000.)
Return TOF m2 value.
Double_t GetRichAnn(Int_t globalTrackIndex, Double_t momentum)
Identify electron in RICH detector.
Bool_t IsTofElectron(Int_t globalTrackIndex, Double_t momentum, Double_t eventTime=1000.)
Identify electron in RICH detector.
Bool_t IsRichElectron(Int_t globalTrackIndex, Double_t momentum)
Identify electron in RICH detector.
Double_t GetTrdAnnCut()
Return TRD ANN cut.
ClassDef(CbmLitGlobalElectronId, 1)
void SetRichAnnCut(Double_t par)
Set cut on RICH ANN output value.
void Init()
Initialize TClonesArrays.
CbmLitGlobalElectronId & operator=(const CbmLitGlobalElectronId &)
void SetRichCuts(Double_t meanA, Double_t rmsA, Double_t meanB, Double_t rmsB, Double_t rmsCoeff, Double_t rtDistCut)
Set RICH electron ID cuts when ANN is not used.
static CbmLitGlobalElectronId & GetInstance()
CbmLitGlobalElectronId(const CbmLitGlobalElectronId &)
virtual ~CbmLitGlobalElectronId()
Destructor.
void SetTrdAnnCut(Double_t par)
Set cut on TRD ANN output value.