]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/JetCorrel/AliJetCorrelSelector.h
remove from EMCAL analysis warm channels
[u/mrichter/AliRoot.git] / PWG4 / JetCorrel / AliJetCorrelSelector.h
1 #ifndef ALIJETCORRELSELECTOR_H
2 #define ALIJETCORRELSELECTOR_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 user selections.
9 // Object is created by ConfigJetCorrel.C macro and passed to 
10 // AddTaskJetCorrel.C running macro via the main class AliAnalysisTaskJetCorrel
11 //-- Author: Paul Constantin
12
13 #include "CorrelTrack.h"
14 #include "CorrelKFTrack.h"
15 #include "CorrelRecoParent.h"
16 #include "CorrelList.h"
17
18 class AliJetCorrelSelector : public TObject {
19   
20  public:
21   AliJetCorrelSelector();
22   ~AliJetCorrelSelector();
23   
24   // Selection getters:
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(cBinType_t cType) const {return fNumBins[cType]-1;}  
29   Float_t BinBorder(cBinType_t cType, UInt_t ii) const;
30   Float_t MinLowBin(cBinType_t cType) const {return fBinning[cType][0];}
31   Float_t MaxHighBin(cBinType_t cType) const {return fBinning[cType][fNumBins[cType]-1];}
32   Int_t GetBin(cBinType_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   Float_t PoutBW() const     {return fPoutBW;}
38   void Show() const;
39   // Selection Setters:
40   void SetPoolDepth(UInt_t v)      {fPoolDepth=v;}
41   void SetCorrelTypes(UInt_t s,  UInt_t * const v);
42   void SetBinningCentr(UInt_t s, Float_t * const v);
43   void SetBinningZvert(UInt_t s, Float_t * const v);
44   void SetBinningTrigg(UInt_t s, Float_t * const v);
45   void SetBinningAssoc(UInt_t s, Float_t * const v);
46   void SetTriggers(UInt_t s, TString * const v);
47   void SetITSRefit(Bool_t v)    {fITSRefit=v;}
48   void SetTPCRefit(Bool_t v)    {fTPCRefit=v;}
49   void SetTRDRefit(Bool_t v)    {fTRDRefit=v;}
50   void SetMaxEta(Float_t v)     {fMaxEta=v;}
51   void SetPoutBinWidth(Float_t v) {fPoutBW=v;}
52   void SetMaxITSChi2(Float_t v) {fMaxITSChi2=v;}
53   void SetMaxTPCChi2(Float_t v) {fMaxTPCChi2=v;}
54   void SetMinNClusITS(UInt_t v) {fMinNClusITS=v;}
55   void SetMinNClusTPC(UInt_t v) {fMinNClusTPC=v;}
56   void SetMaxNsigmaVtx(Float_t v) {fMaxNsigmaVtx=v;}
57   void SetMaxTrkVtx(Float_t v)  {fMaxTrkVtx=v;}
58   void SetRejectKinkChild(Bool_t v) {fRejectKinkChild=v;}
59   void SetQA(Bool_t v) {fGenQA=v;}
60   void SetDPhiNumBins(UInt_t v) {fDPhiNumBins=v;}
61   void SetDEtaNumBins(UInt_t v) {fDEtaNumBins=v;}
62   void SetTrkProximityCut(Float_t v) {fTrkMinProx=v;}
63   void SetUseAliKF(Bool_t v)    {fUseAliKF=v;}
64   // Cutting methods:
65   Bool_t SelectedEvtTrigger(AliESDEvent * const jcESD) const;
66   Bool_t CloseTrackPair(Float_t dist) const;
67   Bool_t LowQualityTrack(AliESDtrack* t) const;
68   Bool_t PassPID(AliESDtrack* t, cPartType_t pType) const;
69   Float_t GetSigmaToVertex(AliESDtrack* trk) const;
70   void GetPID(AliESDtrack* trk, Stat_t& fpid, Stat_t& fweight) const;
71
72   enum {kMaxCorrel = 1};   // Maximum no of correlations
73   enum {kMaxVert = 3};    // Maximum no of vertex bins
74   enum {kMaxCent = 3};     // Maximum no of centrality bins
75   enum {kMaxTrig = 13};    // Maximum no of trigger bins
76   enum {kMaxAsso = 7};    // Maximum no of associated bins
77   
78  private: 
79   // Generic Selections:
80   Bool_t fGenQA;                     //! generate QA histos
81   UInt_t fDPhiNumBins, fDEtaNumBins; //! number of bins in DeltaPhi, DeltaEta histos
82   UInt_t fNumCorrel, fNumEvtTriggs, fPoolDepth; //! number of correlations, event triggers, pool depth
83   UInt_t* fCorrelType;           //! array of correlation types
84   TString* fEvtTriggs;           //! array of event triggers
85   UInt_t fNumBins[4];            //! number of bins: centr, zvert, trigg, assoc
86   Float_t* fBinning[4];          //! bin margins: centr, zvert, trigg, assoc
87   // Track Selections:
88   Bool_t fITSRefit, fTPCRefit, fTRDRefit, fRejectKinkChild; //! on/off cuts
89   Float_t fMaxEta;                   //! single-particle eta cut
90   Float_t fPoutBW;                   //! Pout bin width
91   Float_t fMaxNsigmaVtx;             //! track-primary vertex cut (sigma)
92   Float_t fMaxTrkVtx;                //! track-primary vertex cut (value)
93   Float_t fMaxITSChi2, fMaxTPCChi2;  //! ITS/TPC Chi2/cluster cut
94   UInt_t fMinNClusITS, fMinNClusTPC; //! ITS/TPC number of clusters cut
95   Float_t fTrkMinProx;               //! two-track proximity cut (dist at TPC entrance)
96   Bool_t fUseAliKF;                  //! use AliKF or TLorentzVector for parent reconstruction
97   
98   // disable (make private) copy constructor, and assignment operator:
99   AliJetCorrelSelector(const AliJetCorrelSelector&);
100   AliJetCorrelSelector& operator=(const AliJetCorrelSelector&);
101   
102   ClassDef(AliJetCorrelSelector, 1); //AliJetCorrelSelector
103 };
104
105 #endif