]>
Commit | Line | Data |
---|---|---|
7488b3de | 1 | #ifndef ALIJETCORRELSELECTOR_H |
2 | #define ALIJETCORRELSELECTOR_H | |
c97d2ae1 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | /* $Id: $ */ | |
6 | ||
7 | //__________________________________________ | |
e1b97289 | 8 | // Class for user selections. |
9 | // Object is created by ConfigJetCorrel.C macro and passed to | |
10 | // AddTaskJetCorrel.C running macro via the main class AliAnalysisTaskJetCorrel | |
c97d2ae1 | 11 | //-- Author: Paul Constantin |
12 | ||
13 | #include "CorrelTrack.h" | |
14 | #include "CorrelKFTrack.h" | |
15 | #include "CorrelRecoParent.h" | |
16 | #include "CorrelList.h" | |
17 | ||
e1b97289 | 18 | class AliJetCorrelSelector : public TObject { |
c97d2ae1 | 19 | |
e1b97289 | 20 | public: |
21 | AliJetCorrelSelector(); | |
22 | ~AliJetCorrelSelector(); | |
23 | ||
24 | // Selection getters: | |
7488b3de | 25 | UInt_t PoolDepth() const {return fPoolDepth;} |
26 | UInt_t NoOfCorrel() const {return fNumCorrel;} | |
27 | UInt_t* CorrelTypes() const {return fCorrelType;} | |
28 | UInt_t NoOfBins(BinType_t cType) const {return fNumBins[cType]-1;} | |
29 | Float_t BinBorder(BinType_t cType, UInt_t ii) const; | |
30 | Float_t MinLowBin(BinType_t cType) const {return fBinning[cType][0];} | |
31 | Float_t MaxHighBin(BinType_t cType) const {return fBinning[cType][fNumBins[cType]-1];} | |
32 | Int_t GetBin(BinType_t cType, Float_t val) const; | |
33 | Bool_t GenQA() const {return fGenQA;} | |
34 | Bool_t UseAliKF() const {return fUseAliKF;} | |
35 | UInt_t DPhiNumBins() const {return fDPhiNumBins;} | |
36 | UInt_t DEtaNumBins() const {return fDEtaNumBins;} | |
37 | void Show() const; | |
e1b97289 | 38 | // Selection Setters: |
39 | void SetPoolDepth(UInt_t v) {fPoolDepth=v;} | |
40 | void SetCorrelTypes(UInt_t s, UInt_t * const v); | |
41 | void SetBinningCentr(UInt_t s, Float_t * const v); | |
42 | void SetBinningZvert(UInt_t s, Float_t * const v); | |
7488b3de | 43 | void SetBinningTrigg(UInt_t s, Float_t * const v); |
44 | void SetBinningAssoc(UInt_t s, Float_t * const v); | |
e1b97289 | 45 | void SetTriggers(UInt_t s, TString * const v); |
46 | void SetITSRefit(Bool_t v) {fITSRefit=v;} | |
47 | void SetTPCRefit(Bool_t v) {fTPCRefit=v;} | |
48 | void SetTRDRefit(Bool_t v) {fTRDRefit=v;} | |
49 | void SetMaxEta(Float_t v) {fMaxEta=v;} | |
50 | void SetMaxITSChi2(Float_t v) {fMaxITSChi2=v;} | |
51 | void SetMaxTPCChi2(Float_t v) {fMaxTPCChi2=v;} | |
52 | void SetMinNClusITS(UInt_t v) {fMinNClusITS=v;} | |
53 | void SetMinNClusTPC(UInt_t v) {fMinNClusTPC=v;} | |
54 | void SetMaxNsigmaVtx(Float_t v) {fMaxNsigmaVtx=v;} | |
55 | void SetMaxTrkVtx(Float_t v) {fMaxTrkVtx=v;} | |
56 | void SetRejectKinkChild(Bool_t v) {fRejectKinkChild=v;} | |
57 | void SetQA(Bool_t v) {fGenQA=v;} | |
58 | void SetDPhiNumBins(UInt_t v) {fDPhiNumBins=v;} | |
59 | void SetDEtaNumBins(UInt_t v) {fDEtaNumBins=v;} | |
7488b3de | 60 | void SetTrkProximityCut(Float_t v) {fTrkMinProx=v;} |
e1b97289 | 61 | void SetUseAliKF(Bool_t v) {fUseAliKF=v;} |
62 | // Cutting methods: | |
7488b3de | 63 | Bool_t SelectedEvtTrigger(AliESDEvent * const jcESD) const; |
64 | Bool_t CloseTrackPair(Float_t dist) const; | |
65 | Bool_t LowQualityTrack(AliESDtrack* t) const; | |
66 | Bool_t PassPID(AliESDtrack* t, PartType_t pType) const; | |
67 | Float_t GetSigmaToVertex(AliESDtrack* trk) const; | |
68 | void GetPID(AliESDtrack* trk, Stat_t& fpid, Stat_t& fweight) const; | |
ddca09bc | 69 | |
70 | enum {kMaxCorrel = 1}; // Maximum no of correlations | |
71 | enum {kMaxVert = 10}; // Maximum no of vertex bins | |
72 | enum {kMaxCent = 3}; // Maximum no of centrality bins | |
73 | enum {kMaxTrig = 10}; // Maximum no of trigger bins | |
74 | enum {kMaxAsso = 10}; // Maximum no of associated bins | |
e1b97289 | 75 | |
76 | private: | |
77 | // Generic Selections: | |
78 | Bool_t fGenQA; // generate QA histos | |
79 | UInt_t fDPhiNumBins, fDEtaNumBins; // number of bins in DeltaPhi, DeltaEta histos | |
7488b3de | 80 | UInt_t fNumCorrel, fNumEvtTriggs, fPoolDepth; // number of correlations, event triggers, pool depth |
81 | UInt_t* fCorrelType; //! array of correlation types | |
82 | TString* fEvtTriggs; //! array of event triggers | |
83 | UInt_t fNumBins[4]; // number of bins: centr, zvert, trigg, assoc | |
84 | Float_t* fBinning[4]; //! bin margins: centr, zvert, trigg, assoc | |
e1b97289 | 85 | // Track Selections: |
86 | Bool_t fITSRefit, fTPCRefit, fTRDRefit, fRejectKinkChild; // on/off cuts | |
87 | Float_t fMaxEta; // single-particle eta cut | |
88 | Float_t fMaxNsigmaVtx; // track-primary vertex cut (sigma) | |
89 | Float_t fMaxTrkVtx; // track-primary vertex cut (value) | |
90 | Float_t fMaxITSChi2, fMaxTPCChi2; // ITS/TPC Chi2/cluster cut | |
91 | UInt_t fMinNClusITS, fMinNClusTPC; // ITS/TPC number of clusters cut | |
7488b3de | 92 | Float_t fTrkMinProx; // two-track proximity cut (dist at TPC entrance) |
e1b97289 | 93 | Bool_t fUseAliKF; // use AliKF or TLorentzVector for parent reconstruction |
94 | ||
95 | // disable (make private) copy constructor, and assignment operator: | |
96 | AliJetCorrelSelector(const AliJetCorrelSelector&); | |
97 | AliJetCorrelSelector& operator=(const AliJetCorrelSelector&); | |
98 | ||
7488b3de | 99 | ClassDef(AliJetCorrelSelector, 1); //AliJetCorrelSelector |
e1b97289 | 100 | }; |
c97d2ae1 | 101 | |
102 | #endif |