]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/AliFidutialCut.h
adding first version of common HLT track data struct for barrel tracks
[u/mrichter/AliRoot.git] / PWG4 / AliFidutialCut.h
CommitLineData
d92b41ad 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
d92b41ad 7//_________________________________________________________________________
8// Class for track/cluster acceptance selection
9// Selection in Central barrel, EMCAL and PHOS
10//
11//*-- Author: Gustavo Conesa (INFN-LNF)
12
13// --- ROOT system ---
14#include <TObject.h>
15#include <TArrayF.h>
16
17 class TString ;
18class Riostream ;
19class TLorentzVector ;
20
21//--- AliRoot system ---
22
23class AliLog ;
24
25class AliFidutialCut : public TObject {
26
27public:
28
29 AliFidutialCut() ; // ctor
30 AliFidutialCut(const AliFidutialCut & g) ; // cpy ctor
31 AliFidutialCut & operator = (const AliFidutialCut & g) ;//cpy assignment
32 virtual ~AliFidutialCut() ;//virtual dtor
33
34 void InitParameters();
35
36 void Print(const Option_t * opt)const;
37
38 Bool_t IsInFidutialCut(TLorentzVector l, TString det) const ;
39
40 void DoCTSFidutialCut(Bool_t b) {fCTSFidutialCut = b; }
41 void DoEMCALFidutialCut(Bool_t b) {fEMCALFidutialCut = b; }
42 void DoPHOSFidutialCut(Bool_t b) {fPHOSFidutialCut = b; }
43
44 Bool_t GetCTSFidutialCutStatus() const {return fCTSFidutialCut ; }
45 Bool_t GetEMCALFidutialCut() const {return fEMCALFidutialCut ; }
46 Bool_t GetPHOSFidutialCutStatus() const {return fPHOSFidutialCut ; }
47
48 void SetSimpleCTSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
49 void SetSimpleEMCALFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
50 void SetSimplePHOSFidutialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
51
52 void AddCTSFidCutMaxEtaArray(TArrayF & array)
53 { fCTSFidCutMaxEta = new TArrayF(array) ; }
54 TArrayF * GetCTSFidCutMaxEtaArray() const {return fCTSFidCutMaxEta;}
55
56 void AddCTSFidCutMaxPhiArray(TArrayF & array)
57 { fCTSFidCutMaxPhi = new TArrayF(array) ; }
58 TArrayF * GetCTSFidCutMaxPhiArray() const {return fCTSFidCutMaxPhi;}
59
60 void AddCTSFidCutMinEtaArray(TArrayF & array)
61 { fCTSFidCutMinEta = new TArrayF(array) ; }
62 TArrayF * GetCTSFidCutMinEtaArray() const {return fCTSFidCutMinEta;}
63
64 void AddCTSFidCutMinPhiArray(TArrayF & array)
65 { fCTSFidCutMinPhi = new TArrayF(array) ; }
66 TArrayF * GetCTSFidCutMinPhiArray() const {return fCTSFidCutMinPhi;}
67
68 void AddEMCALFidCutMaxEtaArray(TArrayF & array)
69 { fEMCALFidCutMaxEta = new TArrayF(array) ; }
70 TArrayF * GetEMCALFidCutMaxEtaArray() const {return fEMCALFidCutMaxEta;}
71
72 void AddEMCALFidCutMaxPhiArray(TArrayF & array)
73 { fEMCALFidCutMaxPhi = new TArrayF(array) ; }
74 TArrayF * GetEMCALFidCutMaxPhiArray() const {return fEMCALFidCutMaxPhi;}
75
76 void AddEMCALFidCutMinEtaArray(TArrayF & array)
77 { fEMCALFidCutMinEta = new TArrayF(array) ; }
78 TArrayF * GetEMCALFidCutMinEtaArray() const {return fEMCALFidCutMinEta;}
79
80 void AddEMCALFidCutMinPhiArray(TArrayF & array)
81 { fEMCALFidCutMinPhi = new TArrayF(array) ; }
82 TArrayF * GetEMCALFidCutMinPhiArray() const {return fEMCALFidCutMinPhi;}
83
84 void AddPHOSFidCutMaxEtaArray(TArrayF & array)
85 { fPHOSFidCutMaxEta = new TArrayF(array) ; }
86 TArrayF * GetPHOSFidCutMaxEtaArray() const {return fPHOSFidCutMaxEta;}
87
88 void AddPHOSFidCutMaxPhiArray(TArrayF & array)
89 { fPHOSFidCutMaxPhi = new TArrayF(array) ; }
90 TArrayF * GetPHOSFidCutMaxPhiArray() const {return fPHOSFidCutMaxPhi;}
91
92 void AddPHOSFidCutMinEtaArray(TArrayF & array)
93 { fPHOSFidCutMinEta = new TArrayF(array) ; }
94 TArrayF * GetPHOSFidCutMinEtaArray() const {return fPHOSFidCutMinEta;}
95
96 void AddPHOSFidCutMinPhiArray(TArrayF & array)
97 { fPHOSFidCutMinPhi = new TArrayF(array) ; }
98 TArrayF * GetPHOSFidCutMinPhiArray() const {return fPHOSFidCutMinPhi;}
99
100
101
102 protected:
103
104 //Detector acceptance cuts
105 Bool_t fEMCALFidutialCut ; // Apply fidutial cuts to EMCAL clusters
106 Bool_t fPHOSFidutialCut ;// Apply fidutial cuts to PHOS clusters
107 Bool_t fCTSFidutialCut ;//Apply fidutial cuts to CTS tracks
108
109 TArrayF * fCTSFidCutMinEta ; //Take particles in CTS with eta > fCTSFidCutMinEta
110 TArrayF * fCTSFidCutMinPhi ; //Take particles in CTS with phi > fCTSFidCutMinPhi
111 TArrayF * fCTSFidCutMaxEta ; //Take particles in CTS with eta < fCTSFidCutMaxEta
112 TArrayF * fCTSFidCutMaxPhi ; //Take particles in CTS with phi > fCTSFidCutMaxPhi
113
114 TArrayF * fEMCALFidCutMinEta ; //Take particles in EMCAL with eta > fEMCALFidCutMinEta
115 TArrayF * fEMCALFidCutMinPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMinPhi
116 TArrayF * fEMCALFidCutMaxEta ; //Take particles in EMCAL with eta < fEMCALFidCutMaxEta
117 TArrayF * fEMCALFidCutMaxPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMaxPhi
118
119 TArrayF * fPHOSFidCutMinEta ; //Take particles in PHOS with eta > fPHOSFidCutMinEta
120 TArrayF * fPHOSFidCutMinPhi ; //Take particles in PHOS with phi > fPHOSFidCutMinPhi
121 TArrayF * fPHOSFidCutMaxEta ; //Take particles in PHOS with eta < fPHOSFidCutMaxEta
122 TArrayF * fPHOSFidCutMaxPhi ; //Take particles in PHOS with phi > fPHOSFidCutMaxPhi
123
124
125 ClassDef(AliFidutialCut,1)
126} ;
127
128
129#endif //ALIFIDUTIALCUT_H
130
131
132