#ifndef ALISINGLETRACKEFFICUTS_H
#define ALISINGLETRACKEFFICUTS_H
#include <TString.h>
#include "TObject.h"
#include "AliVEvent.h"
#include "AliMCEvent.h"
#include "AliAnalysisCuts.h"
#include "AliPID.h"
#include "AliAODTrack.h"
class AliSingleTrackEffCuts : public AliAnalysisCuts
{
public:
AliSingleTrackEffCuts();
AliSingleTrackEffCuts(const char* name, const char* title);
AliSingleTrackEffCuts(const AliSingleTrackEffCuts& source);
AliSingleTrackEffCuts& operator=(const AliSingleTrackEffCuts& source);
virtual ~AliSingleTrackEffCuts();
Bool_t IsSelected(TList* list) {
AliWarning(Form(" Function not implemented, list having %d entries",list->GetEntries()));
return kFALSE;
}
Bool_t IsMCEventSelected(TObject *obj);
Bool_t IsRecoEventSelected(TObject *obj);
Bool_t IsMCParticleGenerated(TObject *obj);
Bool_t IsMCParticleInKineAcceptance(TObject *obj);
Bool_t IsMCParticleInReconstructable(TObject *obj);
Bool_t IsRecoParticleKineAcceptance(TObject *obj);
Bool_t IsRecoParticlePID(TObject *obj);
void SetEtaRange(Float_t etamin, Float_t etamax){ fEtaMin=etamin; fEtaMax=etamax; }
void SetYRange(Float_t ymin, Float_t ymax){ fYMin=ymin; fYMax=ymax; }
void SetPtRange(Float_t ptmin, Float_t ptmax){ fPtMin=ptmin; fPtMax=ptmax; }
void SetPdgCode(Int_t pdgCode){ fPdgCode = pdgCode; fIsPdgCode=kTRUE; }
Int_t GetPdgCode() { return fPdgCode; }
void SetIsCharged(Bool_t charge){ fIsCharged=charge; }
void SetIsAOD(Bool_t flag){ fisAOD = flag; }
Bool_t IsAOD(){ return fisAOD; }
void SetMinVtxType(Int_t type=3) { fMinVtxType=type; }
void SetUseEventsWithOnlySPDVertex(Bool_t flag=kTRUE){
if(flag) fMinVtxType=1;
else fMinVtxType=3;
}
void SetMinVtxContr(Int_t contr=1) { fMinVtxContr=contr; }
void SetMaxVtxZ(Float_t z=1e6) { fMaxVtxZ=z; }
void SetCutOnZVertexSPD(Int_t cut) { fCutOnZVertexSPD=cut; }
void SetTriggerMask(ULong64_t mask=0) { fTriggerMask=mask; }
UInt_t GetTriggerMask(){ return fTriggerMask; }
void SetNumberOfClusters(Int_t nITS, Int_t nTPC, Int_t nTOF, Int_t nMUON){
fnClusITS = nITS; fnClusTPC = nTPC; fnClusTOF = nTOF; fnClusMUON = nMUON;
}
void SetUsePid(Bool_t flag=kTRUE) { fusePid=flag; }
void SetParticleSpecie(AliPID::EParticleType type=AliPID::kPion) { fParticlePid=type; }
void SetUseTPCPid(Bool_t flag=kTRUE) { fuseTPCPid=flag; }
void SetUseTOFPid(Bool_t flag=kTRUE) { fuseTOFPid=flag; }
void SetTPCSigmaPtBins(Int_t nPtBins, Float_t *pBinLimits, Float_t *sigmaBin);
void SetTOFSigmaPtBins(Int_t nPtBins, Float_t *pBinLimits, Float_t *sigmaBin);
void SetMaximumPTPC(Float_t p) { fPmaxTPC=p; }
void SetMaximumPTOF(Float_t p) { fPmaxTOF=p; }
Bool_t GetUsePid() const{ return fusePid; }
Int_t GetParticleSpecie() const { return fParticlePid; }
Float_t *GetPTPCBinLimits() const { return fPTPCBinLimits; }
Int_t GetNPTPCBins() const {return fnPTPCBins; }
Float_t *GetPTOFBinLimits() const { return fPTOFBinLimits; }
Int_t GetNPTOFBins() const { return fnPTOFBins; }
protected:
Bool_t IsVertexSelected(AliVEvent *event);
Bool_t CheckTPCPIDStatus(AliAODTrack *track) const;
Bool_t CheckTOFPIDStatus(AliAODTrack *track) const;
Bool_t fisAOD;
Bool_t fIsPdgCode;
Int_t fPdgCode;
Float_t fEtaMin;
Float_t fEtaMax;
Float_t fYMin;
Float_t fYMax;
Float_t fPtMin;
Float_t fPtMax;
Bool_t fIsCharged;
UInt_t fTriggerMask;
Int_t fMinVtxType;
Int_t fMinVtxContr;
Float_t fMaxVtxZ;
Int_t fCutOnZVertexSPD;
Int_t fnClusITS;
Int_t fnClusTPC;
Int_t fnClusTOF;
Int_t fnClusMUON;
Bool_t fusePid;
Int_t fParticlePid;
Bool_t fuseTPCPid;
Int_t fnPTPCBins;
Int_t fnPTPCBinLimits;
Float_t* fPTPCBinLimits;
Float_t* fnSigmaTPC;
Float_t fPmaxTPC;
Bool_t fuseTOFPid;
Int_t fnPTOFBins;
Int_t fnPTOFBinLimits;
Float_t* fPTOFBinLimits;
Float_t* fnSigmaTOF;
Float_t fPmaxTOF;
ClassDef(AliSingleTrackEffCuts,1)
};
#endif
AliSingleTrackEffCuts.h:1 AliSingleTrackEffCuts.h:2 AliSingleTrackEffCuts.h:3 AliSingleTrackEffCuts.h:4 AliSingleTrackEffCuts.h:5 AliSingleTrackEffCuts.h:6 AliSingleTrackEffCuts.h:7 AliSingleTrackEffCuts.h:8 AliSingleTrackEffCuts.h:9 AliSingleTrackEffCuts.h:10 AliSingleTrackEffCuts.h:11 AliSingleTrackEffCuts.h:12 AliSingleTrackEffCuts.h:13 AliSingleTrackEffCuts.h:14 AliSingleTrackEffCuts.h:15 AliSingleTrackEffCuts.h:16 AliSingleTrackEffCuts.h:17 AliSingleTrackEffCuts.h:18 AliSingleTrackEffCuts.h:19 AliSingleTrackEffCuts.h:20 AliSingleTrackEffCuts.h:21 AliSingleTrackEffCuts.h:22 AliSingleTrackEffCuts.h:23 AliSingleTrackEffCuts.h:24 AliSingleTrackEffCuts.h:25 AliSingleTrackEffCuts.h:26 AliSingleTrackEffCuts.h:27 AliSingleTrackEffCuts.h:28 AliSingleTrackEffCuts.h:29 AliSingleTrackEffCuts.h:30 AliSingleTrackEffCuts.h:31 AliSingleTrackEffCuts.h:32 AliSingleTrackEffCuts.h:33 AliSingleTrackEffCuts.h:34 AliSingleTrackEffCuts.h:35 AliSingleTrackEffCuts.h:36 AliSingleTrackEffCuts.h:37 AliSingleTrackEffCuts.h:38 AliSingleTrackEffCuts.h:39 AliSingleTrackEffCuts.h:40 AliSingleTrackEffCuts.h:41 AliSingleTrackEffCuts.h:42 AliSingleTrackEffCuts.h:43 AliSingleTrackEffCuts.h:44 AliSingleTrackEffCuts.h:45 AliSingleTrackEffCuts.h:46 AliSingleTrackEffCuts.h:47 AliSingleTrackEffCuts.h:48 AliSingleTrackEffCuts.h:49 AliSingleTrackEffCuts.h:50 AliSingleTrackEffCuts.h:51 AliSingleTrackEffCuts.h:52 AliSingleTrackEffCuts.h:53 AliSingleTrackEffCuts.h:54 AliSingleTrackEffCuts.h:55 AliSingleTrackEffCuts.h:56 AliSingleTrackEffCuts.h:57 AliSingleTrackEffCuts.h:58 AliSingleTrackEffCuts.h:59 AliSingleTrackEffCuts.h:60 AliSingleTrackEffCuts.h:61 AliSingleTrackEffCuts.h:62 AliSingleTrackEffCuts.h:63 AliSingleTrackEffCuts.h:64 AliSingleTrackEffCuts.h:65 AliSingleTrackEffCuts.h:66 AliSingleTrackEffCuts.h:67 AliSingleTrackEffCuts.h:68 AliSingleTrackEffCuts.h:69 AliSingleTrackEffCuts.h:70 AliSingleTrackEffCuts.h:71 AliSingleTrackEffCuts.h:72 AliSingleTrackEffCuts.h:73 AliSingleTrackEffCuts.h:74 AliSingleTrackEffCuts.h:75 AliSingleTrackEffCuts.h:76 AliSingleTrackEffCuts.h:77 AliSingleTrackEffCuts.h:78 AliSingleTrackEffCuts.h:79 AliSingleTrackEffCuts.h:80 AliSingleTrackEffCuts.h:81 AliSingleTrackEffCuts.h:82 AliSingleTrackEffCuts.h:83 AliSingleTrackEffCuts.h:84 AliSingleTrackEffCuts.h:85 AliSingleTrackEffCuts.h:86 AliSingleTrackEffCuts.h:87 AliSingleTrackEffCuts.h:88 AliSingleTrackEffCuts.h:89 AliSingleTrackEffCuts.h:90 AliSingleTrackEffCuts.h:91 AliSingleTrackEffCuts.h:92 AliSingleTrackEffCuts.h:93 AliSingleTrackEffCuts.h:94 AliSingleTrackEffCuts.h:95 AliSingleTrackEffCuts.h:96 AliSingleTrackEffCuts.h:97 AliSingleTrackEffCuts.h:98 AliSingleTrackEffCuts.h:99 AliSingleTrackEffCuts.h:100 AliSingleTrackEffCuts.h:101 AliSingleTrackEffCuts.h:102 AliSingleTrackEffCuts.h:103 AliSingleTrackEffCuts.h:104 AliSingleTrackEffCuts.h:105 AliSingleTrackEffCuts.h:106 AliSingleTrackEffCuts.h:107 AliSingleTrackEffCuts.h:108 AliSingleTrackEffCuts.h:109 AliSingleTrackEffCuts.h:110 AliSingleTrackEffCuts.h:111 AliSingleTrackEffCuts.h:112 AliSingleTrackEffCuts.h:113 AliSingleTrackEffCuts.h:114 AliSingleTrackEffCuts.h:115 AliSingleTrackEffCuts.h:116 AliSingleTrackEffCuts.h:117 AliSingleTrackEffCuts.h:118 AliSingleTrackEffCuts.h:119 AliSingleTrackEffCuts.h:120 AliSingleTrackEffCuts.h:121 AliSingleTrackEffCuts.h:122 AliSingleTrackEffCuts.h:123 AliSingleTrackEffCuts.h:124 AliSingleTrackEffCuts.h:125 AliSingleTrackEffCuts.h:126 AliSingleTrackEffCuts.h:127 AliSingleTrackEffCuts.h:128 AliSingleTrackEffCuts.h:129 AliSingleTrackEffCuts.h:130 AliSingleTrackEffCuts.h:131 AliSingleTrackEffCuts.h:132 AliSingleTrackEffCuts.h:133 AliSingleTrackEffCuts.h:134 AliSingleTrackEffCuts.h:135 AliSingleTrackEffCuts.h:136 AliSingleTrackEffCuts.h:137 AliSingleTrackEffCuts.h:138 AliSingleTrackEffCuts.h:139 AliSingleTrackEffCuts.h:140 AliSingleTrackEffCuts.h:141 AliSingleTrackEffCuts.h:142 AliSingleTrackEffCuts.h:143 AliSingleTrackEffCuts.h:144 AliSingleTrackEffCuts.h:145 AliSingleTrackEffCuts.h:146 AliSingleTrackEffCuts.h:147 AliSingleTrackEffCuts.h:148 AliSingleTrackEffCuts.h:149 AliSingleTrackEffCuts.h:150 AliSingleTrackEffCuts.h:151 AliSingleTrackEffCuts.h:152 AliSingleTrackEffCuts.h:153 AliSingleTrackEffCuts.h:154 AliSingleTrackEffCuts.h:155 AliSingleTrackEffCuts.h:156 AliSingleTrackEffCuts.h:157 AliSingleTrackEffCuts.h:158 AliSingleTrackEffCuts.h:159 AliSingleTrackEffCuts.h:160 AliSingleTrackEffCuts.h:161 AliSingleTrackEffCuts.h:162 AliSingleTrackEffCuts.h:163 AliSingleTrackEffCuts.h:164 AliSingleTrackEffCuts.h:165 AliSingleTrackEffCuts.h:166 AliSingleTrackEffCuts.h:167 AliSingleTrackEffCuts.h:168