2 // Class AliRsnCutRange
4 // General implementation of cuts which check a value inside a range.
5 // This range can be defined by two integers or two doubles.
6 // A user-friendly enumeration allows to define what is checked.
8 // authors: Martin Vala (martin.vala@cern.ch)
9 // Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
12 #ifndef ALIRSNCUTAOD2010_H
13 #define ALIRSNCUTAOD2010_H
16 #include "AliAODTrack.h"
17 #include "AliAODpidUtil.h"
19 #include "AliRsnCut.h"
21 class AliRsnCutAOD2010 : public AliRsnCut
26 AliRsnCutAOD2010(const char *name);
27 AliRsnCutAOD2010(const AliRsnCutAOD2010& copy);
28 virtual ~AliRsnCutAOD2010() {;};
30 virtual Bool_t IsSelected(TObject *obj1, TObject *obj2 = 0x0);
32 void SetMC (Bool_t yn = kTRUE) {fIsMC = yn;}
33 void SetCheckITS (Bool_t yn = kTRUE) {fCheckITS = yn;}
34 void SetCheckTPC (Bool_t yn = kTRUE) {fCheckTPC = yn;}
35 void SetCheckTOF (Bool_t yn = kTRUE) {fCheckTOF = yn;}
36 void SetUseGlobal(Bool_t yn = kTRUE) {fUseGlobal = yn;}
37 void SetUseITSSA (Bool_t yn = kTRUE) {fUseITSSA = yn;}
38 void SetPIDtype (AliPID::EParticleType pid) {fPIDtype = pid;}
40 void SetTPCminNclusters(Int_t v) {fTPCminNclusters = v;}
41 void SetTPCmaxChi2(Double_t v) {fTPCmaxChi2 = v;}
42 void SetTPCmaxNSigmaDCA(Double_t v) {fTPCmaxNSigmaDCA = v;}
43 void SetTPCparamDCA(Int_t i, Double_t v) {if (i >= 0 && i < 3) fTPCparamDCA[i] = v;}
44 void SetTPCparamBB(Int_t i, Double_t v) {if (i >= 0 && i < 3) fTPCparamBB[i] = v;}
45 void SetTPClowBand(Double_t v) {fTPClowBand = v;}
46 void SetTPChighBand(Double_t v) {fTPChighBand = v;}
47 void SetTPClowLimit(Double_t v) {fTPClowLimit = v;}
49 void SetITSminNclusters(Int_t v) {fITSminNclusters = v;}
50 void SetITSmaxChi2(Double_t v) {fITSmaxChi2 = v;}
51 void SetITSmaxNSigmaDCA(Double_t v) {fITSmaxNSigmaDCA = v;}
52 void SetITSparamDCA(Int_t i, Double_t v) {if (i >= 0 && i < 3) fITSparamDCA[i] = v;}
53 void SetITSparamBB(Int_t i, Double_t v) {if (i >= 0 && i < 3) fITSparamBB[i] = v;}
54 void SetITSband(Double_t v) {fITSband = v;}
56 void SetTOFrange(Double_t v1, Double_t v2) {fTOFlowLimit = v1; fTOFhighLimit = v2;}
60 AliRsnCutAOD2010& operator=(const AliRsnCutAOD2010& /*copy*/) {return (*this);}
62 Bool_t fIsMC; // switch for MC analysis
63 Bool_t fCheckITS; // switch for ITS dE/dx check
64 Bool_t fCheckTPC; // switch for TPC dE/dx check
65 Bool_t fCheckTOF; // switch for TOF time check
66 Bool_t fUseGlobal; // switch to use TPC global tracks
67 Bool_t fUseITSSA; // switch to use ITS standalone tracks
69 AliPID::EParticleType fPIDtype; // particle type for which PID is checked
71 Int_t fTPCminNclusters; // minimum number of clusters in TPC
72 Double_t fTPCmaxChi2; // maximum chi2 / number of clusters in TPC
73 Double_t fTPCmaxNSigmaDCA; // cut in DCA (transv) in numbers of sigma (pt-dependent)
74 Double_t fTPCparamDCA[3]; // parameters to compute sigma for DCA
75 Double_t fTPCparamBB[5]; // parameters for TPC Bethe-Bloch parameterization
76 Double_t fTPClowBand; // large band for low momentum PID
77 Double_t fTPChighBand; // large band for low momentum PID
78 Double_t fTPClowLimit; // limit of low momentum region
80 Int_t fITSminNclusters; // minimum number of clusters in TPC
81 Double_t fITSmaxChi2; // maximum chi2 / number of clusters in TPC
82 Double_t fITSmaxNSigmaDCA; // cut in DCA (transv) in numbers of sigma (pt-dependent)
83 Double_t fITSparamDCA[3]; // parameters to compute sigma for DCA
84 Double_t fITSparamBB[5]; // parameters for TPC Bethe-Bloch parameterization
85 Double_t fITSband; // fiducial region for selection of PID
87 Double_t fTOFlowLimit; // low limit in asymmetric TOF PID cut
88 Double_t fTOFhighLimit; // low limit in asymmetric TOF PID cut
90 AliAODpidUtil fPID; // PID utility
92 ClassDef(AliRsnCutAOD2010, 1)