]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrBase/AliFiducialCut.h
emcal clusterizer: add track matching recalculation for ESDs; PartCorr Reader, recalc...
[u/mrichter/AliRoot.git] / PWG4 / PartCorrBase / AliFiducialCut.h
CommitLineData
ff45398a 1#ifndef ALIFIDUCIALCUT_H
2#define ALIFIDUCIALCUT_H
1c5acb87 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
20class TString ;
21class TLorentzVector ;
22
23//--- AliRoot system ---
24
1c5acb87 25
ff45398a 26class AliFiducialCut : public TObject {
1c5acb87 27
78219bac 28 public:
ff45398a 29 AliFiducialCut() ; // ctor
78219bac 30 virtual ~AliFiducialCut() ;//virtual dtor
31
32 private:
ff45398a 33 AliFiducialCut(const AliFiducialCut & g) ; // cpy ctor
34 AliFiducialCut & operator = (const AliFiducialCut & g) ;//cpy assignment
78219bac 35
36 public:
1c5acb87 37
38 void InitParameters();
39
40 void Print(const Option_t * opt)const;
ff45398a 41 Bool_t CheckFiducialRegion(const TLorentzVector lv, const TArrayF* minphi, const TArrayF* maxphi, const TArrayF* mineta, const TArrayF* maxeta) const ;
42 Bool_t IsInFiducialCut (const TLorentzVector lv, const TString det) const ;
1c5acb87 43
ff45398a 44 void DoCTSFiducialCut(Bool_t b) {fCTSFiducialCut = b; }
45 void DoEMCALFiducialCut(Bool_t b) {fEMCALFiducialCut = b; }
46 void DoPHOSFiducialCut(Bool_t b) {fPHOSFiducialCut = b; }
1c5acb87 47
ff45398a 48 Bool_t GetCTSFiducialCutStatus() const {return fCTSFiducialCut ; }
49 Bool_t GetEMCALFiducialCut() const {return fEMCALFiducialCut ; }
50 Bool_t GetPHOSFiducialCutStatus() const {return fPHOSFiducialCut ; }
1c5acb87 51
ff45398a 52 void SetSimpleCTSFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
53 void SetSimpleEMCALFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
54 void SetSimplePHOSFiducialCut(const Float_t abseta, const Float_t phimin, const Float_t phimax) ;
1c5acb87 55
7ac2407a 56 void AddCTSFidCutMaxEtaArray(Int_t size, Float_t* array)
57 { fCTSFidCutMaxEta->Set(size,array); }
1c5acb87 58 TArrayF * GetCTSFidCutMaxEtaArray() const {return fCTSFidCutMaxEta;}
59
7ac2407a 60 void AddCTSFidCutMaxPhiArray(Int_t size, Float_t* array)
61 { fCTSFidCutMaxPhi->Set(size,array); }
1c5acb87 62 TArrayF * GetCTSFidCutMaxPhiArray() const {return fCTSFidCutMaxPhi;}
63
7ac2407a 64 void AddCTSFidCutMinEtaArray(Int_t size, Float_t* array)
65 { fCTSFidCutMinEta->Set(size,array); }
1c5acb87 66 TArrayF * GetCTSFidCutMinEtaArray() const {return fCTSFidCutMinEta;}
67
7ac2407a 68 void AddCTSFidCutMinPhiArray(Int_t size, Float_t* array)
69 { fCTSFidCutMinPhi->Set(size,array); }
1c5acb87 70 TArrayF * GetCTSFidCutMinPhiArray() const {return fCTSFidCutMinPhi;}
71
7ac2407a 72 void AddEMCALFidCutMaxEtaArray(Int_t size, Float_t* array)
73 { fEMCALFidCutMaxEta->Set(size,array); }
1c5acb87 74 TArrayF * GetEMCALFidCutMaxEtaArray() const {return fEMCALFidCutMaxEta;}
75
7ac2407a 76 void AddEMCALFidCutMaxPhiArray(Int_t size, Float_t* array)
77 { fEMCALFidCutMaxPhi->Set(size,array); }
1c5acb87 78 TArrayF * GetEMCALFidCutMaxPhiArray() const {return fEMCALFidCutMaxPhi;}
79
7ac2407a 80 void AddEMCALFidCutMinEtaArray(Int_t size, Float_t* array)
81 { fEMCALFidCutMinEta->Set(size,array); }
1c5acb87 82 TArrayF * GetEMCALFidCutMinEtaArray() const {return fEMCALFidCutMinEta;}
83
7ac2407a 84 void AddEMCALFidCutMinPhiArray(Int_t size, Float_t* array)
85 { fEMCALFidCutMinPhi->Set(size,array); }
1c5acb87 86 TArrayF * GetEMCALFidCutMinPhiArray() const {return fEMCALFidCutMinPhi;}
87
7ac2407a 88 void AddPHOSFidCutMaxEtaArray(Int_t size, Float_t* array)
89 { fPHOSFidCutMaxEta->Set(size,array); }
1c5acb87 90 TArrayF * GetPHOSFidCutMaxEtaArray() const {return fPHOSFidCutMaxEta;}
91
7ac2407a 92 void AddPHOSFidCutMaxPhiArray(Int_t size, Float_t* array)
93 { fPHOSFidCutMaxPhi->Set(size,array); }
1c5acb87 94 TArrayF * GetPHOSFidCutMaxPhiArray() const {return fPHOSFidCutMaxPhi;}
95
7ac2407a 96 void AddPHOSFidCutMinEtaArray(Int_t size, Float_t* array)
97 { fPHOSFidCutMinEta->Set(size,array); }
1c5acb87 98 TArrayF * GetPHOSFidCutMinEtaArray() const {return fPHOSFidCutMinEta;}
99
7ac2407a 100 void AddPHOSFidCutMinPhiArray(Int_t size, Float_t* array)
101 { fPHOSFidCutMinPhi->Set(size,array); }
1c5acb87 102 TArrayF * GetPHOSFidCutMinPhiArray() const {return fPHOSFidCutMinPhi;}
103
104
105
106 protected:
107
108 //Detector acceptance cuts
ff45398a 109 Bool_t fEMCALFiducialCut ; // Apply fiducial cuts to EMCAL clusters
110 Bool_t fPHOSFiducialCut ;// Apply fiducial cuts to PHOS clusters
111 Bool_t fCTSFiducialCut ;//Apply fiducial cuts to CTS tracks
477d6cee 112
113 TArrayF * fCTSFidCutMinEta ; //Take particles in CTS with eta > fCTSFidCutMinEta
114 TArrayF * fCTSFidCutMinPhi ; //Take particles in CTS with phi > fCTSFidCutMinPhi
115 TArrayF * fCTSFidCutMaxEta ; //Take particles in CTS with eta < fCTSFidCutMaxEta
116 TArrayF * fCTSFidCutMaxPhi ; //Take particles in CTS with phi > fCTSFidCutMaxPhi
117
118 TArrayF * fEMCALFidCutMinEta ; //Take particles in EMCAL with eta > fEMCALFidCutMinEta
119 TArrayF * fEMCALFidCutMinPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMinPhi
120 TArrayF * fEMCALFidCutMaxEta ; //Take particles in EMCAL with eta < fEMCALFidCutMaxEta
121 TArrayF * fEMCALFidCutMaxPhi ; //Take particles in EMCAL with phi > fEMCALFidCutMaxPhi
122
123 TArrayF * fPHOSFidCutMinEta ; //Take particles in PHOS with eta > fPHOSFidCutMinEta
124 TArrayF * fPHOSFidCutMinPhi ; //Take particles in PHOS with phi > fPHOSFidCutMinPhi
125 TArrayF * fPHOSFidCutMaxEta ; //Take particles in PHOS with eta < fPHOSFidCutMaxEta
126 TArrayF * fPHOSFidCutMaxPhi ; //Take particles in PHOS with phi > fPHOSFidCutMaxPhi
1c5acb87 127
ff45398a 128 ClassDef(AliFiducialCut,1)
477d6cee 129 } ;
1c5acb87 130
131
ff45398a 132#endif //ALIFIDUCIALCUT_H
1c5acb87 133
134
135