]>
Commit | Line | Data |
---|---|---|
1c5acb87 | 1 | #ifndef ALIFIDUTIALCUT_H |
2 | #define ALIFIDUTIALCUT_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | /* $Id: $ */ | |
6 | ||
7 | //_________________________________________________________________________ | |
8 | // Class for track/cluster acceptance selection | |
9 | // Selection in Central barrel, EMCAL and PHOS | |
5efec477 | 10 | // |
11 | // Several selection regions possible for the different | |
12 | // detectors | |
1c5acb87 | 13 | // |
14 | //*-- Author: Gustavo Conesa (INFN-LNF) | |
15 | ||
16 | // --- ROOT system --- | |
17 | #include <TObject.h> | |
18 | #include <TArrayF.h> | |
19 | ||
20 | class TString ; | |
21 | class TLorentzVector ; | |
22 | ||
23 | //--- AliRoot system --- | |
24 | ||
1c5acb87 | 25 | |
26 | class AliFidutialCut : public TObject { | |
27 | ||
28 | public: | |
29 | ||
30 | AliFidutialCut() ; // ctor | |
31 | AliFidutialCut(const AliFidutialCut & g) ; // cpy ctor | |
32 | AliFidutialCut & operator = (const AliFidutialCut & g) ;//cpy assignment | |
33 | virtual ~AliFidutialCut() ;//virtual dtor | |
34 | ||
35 | void InitParameters(); | |
36 | ||
37 | void Print(const Option_t * opt)const; | |
5efec477 | 38 | Bool_t CheckFidutialRegion(const TLorentzVector lv, const TArrayF* minphi, const TArrayF* maxphi, const TArrayF* mineta, const TArrayF* maxeta) const ; |
39 | Bool_t IsInFidutialCut (const TLorentzVector lv, const TString det) const ; | |
1c5acb87 | 40 | |
41 | void DoCTSFidutialCut(Bool_t b) {fCTSFidutialCut = b; } | |
42 | void DoEMCALFidutialCut(Bool_t b) {fEMCALFidutialCut = b; } | |
43 | void DoPHOSFidutialCut(Bool_t b) {fPHOSFidutialCut = b; } | |
44 | ||
45 | Bool_t GetCTSFidutialCutStatus() const {return fCTSFidutialCut ; } | |
46 | Bool_t GetEMCALFidutialCut() const {return fEMCALFidutialCut ; } | |
47 | Bool_t GetPHOSFidutialCutStatus() const {return fPHOSFidutialCut ; } | |
48 | ||
49 | void SetSimpleCTSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ; | |
50 | void SetSimpleEMCALFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ; | |
51 | void SetSimplePHOSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ; | |
52 | ||
53 | void AddCTSFidCutMaxEtaArray(TArrayF & array) | |
54 | { fCTSFidCutMaxEta = new TArrayF(array) ; } | |
55 | TArrayF * GetCTSFidCutMaxEtaArray() const {return fCTSFidCutMaxEta;} | |
56 | ||
57 | void AddCTSFidCutMaxPhiArray(TArrayF & array) | |
58 | { fCTSFidCutMaxPhi = new TArrayF(array) ; } | |
59 | TArrayF * GetCTSFidCutMaxPhiArray() const {return fCTSFidCutMaxPhi;} | |
60 | ||
61 | void AddCTSFidCutMinEtaArray(TArrayF & array) | |
62 | { fCTSFidCutMinEta = new TArrayF(array) ; } | |
63 | TArrayF * GetCTSFidCutMinEtaArray() const {return fCTSFidCutMinEta;} | |
64 | ||
65 | void AddCTSFidCutMinPhiArray(TArrayF & array) | |
66 | { fCTSFidCutMinPhi = new TArrayF(array) ; } | |
67 | TArrayF * GetCTSFidCutMinPhiArray() const {return fCTSFidCutMinPhi;} | |
68 | ||
69 | void AddEMCALFidCutMaxEtaArray(TArrayF & array) | |
70 | { fEMCALFidCutMaxEta = new TArrayF(array) ; } | |
71 | TArrayF * GetEMCALFidCutMaxEtaArray() const {return fEMCALFidCutMaxEta;} | |
72 | ||
73 | void AddEMCALFidCutMaxPhiArray(TArrayF & array) | |
74 | { fEMCALFidCutMaxPhi = new TArrayF(array) ; } | |
75 | TArrayF * GetEMCALFidCutMaxPhiArray() const {return fEMCALFidCutMaxPhi;} | |
76 | ||
77 | void AddEMCALFidCutMinEtaArray(TArrayF & array) | |
78 | { fEMCALFidCutMinEta = new TArrayF(array) ; } | |
79 | TArrayF * GetEMCALFidCutMinEtaArray() const {return fEMCALFidCutMinEta;} | |
80 | ||
81 | void AddEMCALFidCutMinPhiArray(TArrayF & array) | |
82 | { fEMCALFidCutMinPhi = new TArrayF(array) ; } | |
83 | TArrayF * GetEMCALFidCutMinPhiArray() const {return fEMCALFidCutMinPhi;} | |
84 | ||
85 | void AddPHOSFidCutMaxEtaArray(TArrayF & array) | |
86 | { fPHOSFidCutMaxEta = new TArrayF(array) ; } | |
87 | TArrayF * GetPHOSFidCutMaxEtaArray() const {return fPHOSFidCutMaxEta;} | |
88 | ||
89 | void AddPHOSFidCutMaxPhiArray(TArrayF & array) | |
90 | { fPHOSFidCutMaxPhi = new TArrayF(array) ; } | |
91 | TArrayF * GetPHOSFidCutMaxPhiArray() const {return fPHOSFidCutMaxPhi;} | |
92 | ||
93 | void AddPHOSFidCutMinEtaArray(TArrayF & array) | |
94 | { fPHOSFidCutMinEta = new TArrayF(array) ; } | |
95 | TArrayF * GetPHOSFidCutMinEtaArray() const {return fPHOSFidCutMinEta;} | |
96 | ||
97 | void AddPHOSFidCutMinPhiArray(TArrayF & array) | |
98 | { fPHOSFidCutMinPhi = new TArrayF(array) ; } | |
99 | TArrayF * GetPHOSFidCutMinPhiArray() const {return fPHOSFidCutMinPhi;} | |
100 | ||
101 | ||
102 | ||
103 | protected: | |
104 | ||
105 | //Detector acceptance cuts | |
106 | Bool_t fEMCALFidutialCut ; // Apply fidutial cuts to EMCAL clusters | |
477d6cee | 107 | Bool_t fPHOSFidutialCut ;// Apply fidutial cuts to PHOS clusters |
108 | Bool_t fCTSFidutialCut ;//Apply fidutial cuts to CTS tracks | |
109 | ||
110 | TArrayF * fCTSFidCutMinEta ; //Take particles in CTS with eta > fCTSFidCutMinEta | |
111 | TArrayF * fCTSFidCutMinPhi ; //Take particles in CTS with phi > fCTSFidCutMinPhi | |
112 | TArrayF * fCTSFidCutMaxEta ; //Take particles in CTS with eta < fCTSFidCutMaxEta | |
113 | TArrayF * fCTSFidCutMaxPhi ; //Take particles in CTS with phi > fCTSFidCutMaxPhi | |
114 | ||
115 | TArrayF * fEMCALFidCutMinEta ; //Take particles in EMCAL with eta > fEMCALFidCutMinEta | |
116 | TArrayF * fEMCALFidCutMinPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMinPhi | |
117 | TArrayF * fEMCALFidCutMaxEta ; //Take particles in EMCAL with eta < fEMCALFidCutMaxEta | |
118 | TArrayF * fEMCALFidCutMaxPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMaxPhi | |
119 | ||
120 | TArrayF * fPHOSFidCutMinEta ; //Take particles in PHOS with eta > fPHOSFidCutMinEta | |
121 | TArrayF * fPHOSFidCutMinPhi ; //Take particles in PHOS with phi > fPHOSFidCutMinPhi | |
122 | TArrayF * fPHOSFidCutMaxEta ; //Take particles in PHOS with eta < fPHOSFidCutMaxEta | |
123 | TArrayF * fPHOSFidCutMaxPhi ; //Take particles in PHOS with phi > fPHOSFidCutMaxPhi | |
1c5acb87 | 124 | |
125 | ClassDef(AliFidutialCut,1) | |
477d6cee | 126 | } ; |
1c5acb87 | 127 | |
128 | ||
129 | #endif //ALIFIDUTIALCUT_H | |
130 | ||
131 | ||
132 |