#ifndef ALIDALITZELECTRONCUTS_H
#define ALIDALITZELECTRONCUTS_H
#include "AliAODpidUtil.h"
#include "AliAODTrack.h"
#include "AliESDtrack.h"
#include "AliVTrack.h"
#include "AliAODTrack.h"
#include "AliStack.h"
#include "AliAnalysisCuts.h"
#include "AliESDtrackCuts.h"
#include "TH1F.h"
class AliESDEvent;
class AliAODEvent;
class AliConversionPhotonBase;
class AliKFVertex;
class AliKFParticle;
class TH1F;
class TH2F;
class AliPIDResponse;
class AliAnalysisCuts;
class iostream;
class TList;
class AliAnalysisManager;
using namespace std;
class AliDalitzElectronCuts : public AliAnalysisCuts {
public:
enum cutIds {
kgoodId=0,
kededxSigmaITSCut,
kededxSigmaTPCCut,
kpidedxSigmaTPCCut,
kpiMinMomdedxSigmaTPCCut,
kpiMaxMomdedxSigmaTPCCut,
kLowPRejectionSigmaCut,
kTOFelectronPID,
kclsITSCut,
kclsTPCCut,
ketaCut,
kPsiPair,
kRejectSharedElecGamma,
kBackgroundScheme,
kNumberOfRotations,
kptCut,
kDCACut,
kmassCut,
kWeights,
kuseVPhotonMCPSmearing,
kNCuts
};
enum electronCuts {
kElectronIn=0,
kNoTracks,
kTrackCuts,
kdEdxCuts,
kElectronOut
};
Bool_t SetCutIds(TString cutString);
Int_t fCuts[kNCuts];
Bool_t SetCut(cutIds cutID, Int_t cut);
Bool_t UpdateCutString(cutIds cutID, Int_t value);
static const char * fgkCutNames[kNCuts];
Bool_t InitializeCutsFromCutString(const TString analysisCutSelection);
AliDalitzElectronCuts(const char *name="ElectronCuts", const char * title="Electron Cuts");
virtual ~AliDalitzElectronCuts();
virtual Bool_t IsSelected(TObject* ){return kTRUE;}
virtual Bool_t IsSelected(TList* ) {return kTRUE;}
TString GetCutNumber();
Bool_t ElectronIsSelectedMC(Int_t labelParticle,AliStack *fMCStack);
Bool_t TrackIsSelected(AliESDtrack* lTrack);
Bool_t ElectronIsSelected(AliESDtrack* lTrack);
void InitAODpidUtil(Int_t type);
static AliDalitzElectronCuts * GetStandardCuts2010PbPb();
static AliDalitzElectronCuts * GetStandardCuts2010pp();
Bool_t InitPIDResponse();
void SetPIDResponse(AliPIDResponse * pidResponse) {fPIDResponse = pidResponse;}
AliPIDResponse * GetPIDResponse() { return fPIDResponse;}
void PrintCuts();
void InitCutHistograms(TString name="",Bool_t preCut = kTRUE,TString cutName="");
void SetFillCutHistograms(TString name="",Bool_t preCut = kTRUE,TString cutName=""){if(!fHistograms){InitCutHistograms(name,preCut,cutName);};}
TList *GetCutHistograms(){return fHistograms;}
static AliVTrack * GetTrack(AliVEvent * event, Int_t label);
Bool_t dEdxCuts(AliVTrack * track);
Bool_t PIDProbabilityCut(AliConversionPhotonBase *photon, AliVEvent * event);
Bool_t RejectSharedElecGamma(TList *photons, Int_t indexEle);
Bool_t IsFromGammaConversion( Double_t psiPair, Double_t deltaPhi );
Bool_t MassCut(Double_t pi0CandidatePt,Double_t vphotonCandidateMass);
Bool_t SetTPCdEdxCutPionLine(Int_t pidedxSigmaCut);
Bool_t SetTPCdEdxCutElectronLine(Int_t ededxSigmaCut);
Bool_t SetITSdEdxCutElectronLine(Int_t ededxSigmaCut);
Bool_t SetMinMomPiondEdxTPCCut(Int_t piMomdedxSigmaCut);
Bool_t SetMaxMomPiondEdxTPCCut(Int_t piMomdedxSigmaCut);
Bool_t SetITSClusterCut(Int_t clsITSCut);
Bool_t SetTPCClusterCut(Int_t clsTPCCut);
Bool_t SetEtaCut(Int_t etaCut);
Bool_t SetPtCut(Int_t ptCut);
Bool_t SetDCACut(Int_t dcaCut);
Bool_t SetMinMomPiondEdxCut(Int_t piMinMomdedxSigmaCut);
Bool_t SetMaxMomPiondEdxCut(Int_t piMaxMomdedxSigmaCut);
Bool_t SetLowPRejectionCuts(Int_t LowPRejectionSigmaCut);
Bool_t SetTOFElectronPIDCut(Int_t TOFelectronPID);
Bool_t SetPsiPairCut(Int_t psiCut);
Bool_t SetRejectSharedElecGamma(Int_t RCut);
Bool_t SetBackgroundScheme(Int_t BackgroundScheme);
Bool_t SetNumberOfRotations(Int_t NumberOfRotations);
Bool_t SetMassCut(Int_t massCut);
Bool_t SetDoWeights(Int_t opc);
Bool_t SetUseVPhotonMCPmearing(Int_t useMCPSmearing);
Double_t GetEtaCut(){ return fEtaCut;}
Double_t GetPsiPairCut(){ return fPsiPairCut; }
Double_t DoRejectSharedElecGamma(){ return fDoRejectSharedElecGamma;}
Double_t DoPsiPairCut(){return fDoPsiPairCut;}
Double_t GetNFindableClustersTPC(AliESDtrack* lTrack);
Bool_t UseTrackMultiplicity(){ return fUseTrackMultiplicityForBG;}
Int_t GetBKGMethod(){ return fBKGMethod; }
Int_t NumberOfRotationEvents(){return fnumberOfRotationEventsForBG;}
Bool_t DoMassCut(){return fDoMassCut;}
Bool_t DoMassMinCut(){return fDoMassMinCut;}
Double_t GetMassCutLowPt(){return fMassCutLowPt;}
Double_t GetMassCutHighPt(){return fMassCutHighPt;}
Double_t GetPtMinMassCut(){return fMassCutPtMin;}
Double_t GetMassMinCut(){return fMassMinCut;}
Bool_t DoWeights(){return fDoWeights;}
Bool_t GetUseVPhotonMCPmearing(){return fUseVPhotonMCPSmearing; }
Bool_t GetUseElectronMCSmearing(){ return fUseElectronMCPSmearing;}
protected:
TList *fHistograms;
AliPIDResponse *fPIDResponse;
AliESDtrackCuts *fesdTrackCuts;
Double_t fEtaCut;
Bool_t fDoEtaCut;
Double_t fPtMinCut;
Double_t fPtMaxCut;
Double_t fRadiusCut;
Double_t fPsiPairCut;
Double_t fDeltaPhiCutMin;
Double_t fDeltaPhiCutMax;
Double_t fMinClsTPC;
Double_t fMinClsTPCToF;
Bool_t fDodEdxSigmaITSCut;
Bool_t fDodEdxSigmaTPCCut;
Bool_t fDoTOFsigmaCut;
Bool_t fDoRejectSharedElecGamma;
Bool_t fDoPsiPairCut;
Double_t fPIDnSigmaAboveElectronLineITS;
Double_t fPIDnSigmaBelowElectronLineITS;
Double_t fPIDnSigmaAboveElectronLineTPC;
Double_t fPIDnSigmaBelowElectronLineTPC;
Double_t fPIDnSigmaAbovePionLineTPC;
Double_t fPIDnSigmaAbovePionLineTPCHighPt;
Double_t fTofPIDnSigmaAboveElectronLine;
Double_t fTofPIDnSigmaBelowElectronLine;
Double_t fPIDMinPnSigmaAbovePionLineTPC;
Double_t fPIDMaxPnSigmaAbovePionLineTPC;
Double_t fDoKaonRejectionLowP;
Double_t fDoProtonRejectionLowP;
Double_t fDoPionRejectionLowP;
Double_t fPIDnSigmaAtLowPAroundKaonLine;
Double_t fPIDnSigmaAtLowPAroundProtonLine;
Double_t fPIDnSigmaAtLowPAroundPionLine;
Double_t fPIDMinPKaonRejectionLowP;
Double_t fPIDMinPProtonRejectionLowP;
Double_t fPIDMinPPionRejectionLowP;
Bool_t fUseCorrectedTPCClsInfo;
Bool_t fUseCrossedRows;
Bool_t fUseTOFpid;
Bool_t fRequireTOF;
Bool_t fUseTrackMultiplicityForBG;
Int_t fBKGMethod;
Int_t fnumberOfRotationEventsForBG;
Bool_t fDoMassCut;
Bool_t fDoMassMinCut;
Double_t fMassCutLowPt;
Double_t fMassCutHighPt;
Double_t fMassCutPtMin;
Double_t fMassMinCut;
Bool_t fDoWeights;
Bool_t fUseVPhotonMCPSmearing;
Bool_t fUseElectronMCPSmearing;
TObjString *fCutString;
TH1F *hCutIndex;
TH1F *hdEdxCuts;
TH2F *hITSdEdxbefore;
TH2F *hITSdEdxafter;
TH2F *hTPCdEdxbefore;
TH2F *hTPCdEdxafter;
TH2F *hTPCdEdxSignalbefore;
TH2F *hTPCdEdxSignalafter;
TH2F *hTOFbefore;
TH2F *hTOFafter;
TH2F *hTrackDCAxyPtbefore;
TH2F *hTrackDCAxyPtafter;
TH2F *hTrackDCAzPtbefore;
TH2F *hTrackDCAzPtafter;
TH2F *hTrackNFindClsPtTPCbefore;
TH2F *hTrackNFindClsPtTPCafter;
TH1F *hTrackPosEtabeforeDedx;
TH1F *hTrackNegEtabeforeDedx;
TH1F *hTrackPosEtaafterDedx;
TH1F *hTrackNegEtaafterDedx;
private:
AliDalitzElectronCuts(const AliDalitzElectronCuts&);
AliDalitzElectronCuts& operator=(const AliDalitzElectronCuts&);
ClassDef(AliDalitzElectronCuts,2)
};
inline void AliDalitzElectronCuts::InitAODpidUtil(Int_t type) {
if (!fPIDResponse) fPIDResponse = new AliAODpidUtil();
Double_t alephParameters[5];
alephParameters[0] = 2.15898e+00/50.;
alephParameters[1] = 1.75295e+01;
alephParameters[2] = 3.40030e-09;
alephParameters[3] = 1.96178e+00;
alephParameters[4] = 3.91720e+00;
fPIDResponse->GetTOFResponse().SetTimeResolution(80.);
if (type==1){
alephParameters[0] = 0.0283086/0.97;
alephParameters[1] = 2.63394e+01;
alephParameters[2] = 5.04114e-11;
alephParameters[3] = 2.12543e+00;
alephParameters[4] = 4.88663e+00;
fPIDResponse->GetTOFResponse().SetTimeResolution(130.);
fPIDResponse->GetTPCResponse().SetMip(50.);
}
fPIDResponse->GetTPCResponse().SetBetheBlochParameters(
alephParameters[0],alephParameters[1],alephParameters[2],
alephParameters[3],alephParameters[4]);
fPIDResponse->GetTPCResponse().SetSigma(3.79301e-03, 2.21280e+04);
}
#endif
AliDalitzElectronCuts.h:1 AliDalitzElectronCuts.h:2 AliDalitzElectronCuts.h:3 AliDalitzElectronCuts.h:4 AliDalitzElectronCuts.h:5 AliDalitzElectronCuts.h:6 AliDalitzElectronCuts.h:7 AliDalitzElectronCuts.h:8 AliDalitzElectronCuts.h:9 AliDalitzElectronCuts.h:10 AliDalitzElectronCuts.h:11 AliDalitzElectronCuts.h:12 AliDalitzElectronCuts.h:13 AliDalitzElectronCuts.h:14 AliDalitzElectronCuts.h:15 AliDalitzElectronCuts.h:16 AliDalitzElectronCuts.h:17 AliDalitzElectronCuts.h:18 AliDalitzElectronCuts.h:19 AliDalitzElectronCuts.h:20 AliDalitzElectronCuts.h:21 AliDalitzElectronCuts.h:22 AliDalitzElectronCuts.h:23 AliDalitzElectronCuts.h:24 AliDalitzElectronCuts.h:25 AliDalitzElectronCuts.h:26 AliDalitzElectronCuts.h:27 AliDalitzElectronCuts.h:28 AliDalitzElectronCuts.h:29 AliDalitzElectronCuts.h:30 AliDalitzElectronCuts.h:31 AliDalitzElectronCuts.h:32 AliDalitzElectronCuts.h:33 AliDalitzElectronCuts.h:34 AliDalitzElectronCuts.h:35 AliDalitzElectronCuts.h:36 AliDalitzElectronCuts.h:37 AliDalitzElectronCuts.h:38 AliDalitzElectronCuts.h:39 AliDalitzElectronCuts.h:40 AliDalitzElectronCuts.h:41 AliDalitzElectronCuts.h:42 AliDalitzElectronCuts.h:43 AliDalitzElectronCuts.h:44 AliDalitzElectronCuts.h:45 AliDalitzElectronCuts.h:46 AliDalitzElectronCuts.h:47 AliDalitzElectronCuts.h:48 AliDalitzElectronCuts.h:49 AliDalitzElectronCuts.h:50 AliDalitzElectronCuts.h:51 AliDalitzElectronCuts.h:52 AliDalitzElectronCuts.h:53 AliDalitzElectronCuts.h:54 AliDalitzElectronCuts.h:55 AliDalitzElectronCuts.h:56 AliDalitzElectronCuts.h:57 AliDalitzElectronCuts.h:58 AliDalitzElectronCuts.h:59 AliDalitzElectronCuts.h:60 AliDalitzElectronCuts.h:61 AliDalitzElectronCuts.h:62 AliDalitzElectronCuts.h:63 AliDalitzElectronCuts.h:64 AliDalitzElectronCuts.h:65 AliDalitzElectronCuts.h:66 AliDalitzElectronCuts.h:67 AliDalitzElectronCuts.h:68 AliDalitzElectronCuts.h:69 AliDalitzElectronCuts.h:70 AliDalitzElectronCuts.h:71 AliDalitzElectronCuts.h:72 AliDalitzElectronCuts.h:73 AliDalitzElectronCuts.h:74 AliDalitzElectronCuts.h:75 AliDalitzElectronCuts.h:76 AliDalitzElectronCuts.h:77 AliDalitzElectronCuts.h:78 AliDalitzElectronCuts.h:79 AliDalitzElectronCuts.h:80 AliDalitzElectronCuts.h:81 AliDalitzElectronCuts.h:82 AliDalitzElectronCuts.h:83 AliDalitzElectronCuts.h:84 AliDalitzElectronCuts.h:85 AliDalitzElectronCuts.h:86 AliDalitzElectronCuts.h:87 AliDalitzElectronCuts.h:88 AliDalitzElectronCuts.h:89 AliDalitzElectronCuts.h:90 AliDalitzElectronCuts.h:91 AliDalitzElectronCuts.h:92 AliDalitzElectronCuts.h:93 AliDalitzElectronCuts.h:94 AliDalitzElectronCuts.h:95 AliDalitzElectronCuts.h:96 AliDalitzElectronCuts.h:97 AliDalitzElectronCuts.h:98 AliDalitzElectronCuts.h:99 AliDalitzElectronCuts.h:100 AliDalitzElectronCuts.h:101 AliDalitzElectronCuts.h:102 AliDalitzElectronCuts.h:103 AliDalitzElectronCuts.h:104 AliDalitzElectronCuts.h:105 AliDalitzElectronCuts.h:106 AliDalitzElectronCuts.h:107 AliDalitzElectronCuts.h:108 AliDalitzElectronCuts.h:109 AliDalitzElectronCuts.h:110 AliDalitzElectronCuts.h:111 AliDalitzElectronCuts.h:112 AliDalitzElectronCuts.h:113 AliDalitzElectronCuts.h:114 AliDalitzElectronCuts.h:115 AliDalitzElectronCuts.h:116 AliDalitzElectronCuts.h:117 AliDalitzElectronCuts.h:118 AliDalitzElectronCuts.h:119 AliDalitzElectronCuts.h:120 AliDalitzElectronCuts.h:121 AliDalitzElectronCuts.h:122 AliDalitzElectronCuts.h:123 AliDalitzElectronCuts.h:124 AliDalitzElectronCuts.h:125 AliDalitzElectronCuts.h:126 AliDalitzElectronCuts.h:127 AliDalitzElectronCuts.h:128 AliDalitzElectronCuts.h:129 AliDalitzElectronCuts.h:130 AliDalitzElectronCuts.h:131 AliDalitzElectronCuts.h:132 AliDalitzElectronCuts.h:133 AliDalitzElectronCuts.h:134 AliDalitzElectronCuts.h:135 AliDalitzElectronCuts.h:136 AliDalitzElectronCuts.h:137 AliDalitzElectronCuts.h:138 AliDalitzElectronCuts.h:139 AliDalitzElectronCuts.h:140 AliDalitzElectronCuts.h:141 AliDalitzElectronCuts.h:142 AliDalitzElectronCuts.h:143 AliDalitzElectronCuts.h:144 AliDalitzElectronCuts.h:145 AliDalitzElectronCuts.h:146 AliDalitzElectronCuts.h:147 AliDalitzElectronCuts.h:148 AliDalitzElectronCuts.h:149 AliDalitzElectronCuts.h:150 AliDalitzElectronCuts.h:151 AliDalitzElectronCuts.h:152 AliDalitzElectronCuts.h:153 AliDalitzElectronCuts.h:154 AliDalitzElectronCuts.h:155 AliDalitzElectronCuts.h:156 AliDalitzElectronCuts.h:157 AliDalitzElectronCuts.h:158 AliDalitzElectronCuts.h:159 AliDalitzElectronCuts.h:160 AliDalitzElectronCuts.h:161 AliDalitzElectronCuts.h:162 AliDalitzElectronCuts.h:163 AliDalitzElectronCuts.h:164 AliDalitzElectronCuts.h:165 AliDalitzElectronCuts.h:166 AliDalitzElectronCuts.h:167 AliDalitzElectronCuts.h:168 AliDalitzElectronCuts.h:169 AliDalitzElectronCuts.h:170 AliDalitzElectronCuts.h:171 AliDalitzElectronCuts.h:172 AliDalitzElectronCuts.h:173 AliDalitzElectronCuts.h:174 AliDalitzElectronCuts.h:175 AliDalitzElectronCuts.h:176 AliDalitzElectronCuts.h:177 AliDalitzElectronCuts.h:178 AliDalitzElectronCuts.h:179 AliDalitzElectronCuts.h:180 AliDalitzElectronCuts.h:181 AliDalitzElectronCuts.h:182 AliDalitzElectronCuts.h:183 AliDalitzElectronCuts.h:184 AliDalitzElectronCuts.h:185 AliDalitzElectronCuts.h:186 AliDalitzElectronCuts.h:187 AliDalitzElectronCuts.h:188 AliDalitzElectronCuts.h:189 AliDalitzElectronCuts.h:190 AliDalitzElectronCuts.h:191 AliDalitzElectronCuts.h:192 AliDalitzElectronCuts.h:193 AliDalitzElectronCuts.h:194 AliDalitzElectronCuts.h:195 AliDalitzElectronCuts.h:196 AliDalitzElectronCuts.h:197 AliDalitzElectronCuts.h:198 AliDalitzElectronCuts.h:199 AliDalitzElectronCuts.h:200 AliDalitzElectronCuts.h:201 AliDalitzElectronCuts.h:202 AliDalitzElectronCuts.h:203 AliDalitzElectronCuts.h:204 AliDalitzElectronCuts.h:205 AliDalitzElectronCuts.h:206 AliDalitzElectronCuts.h:207 AliDalitzElectronCuts.h:208 AliDalitzElectronCuts.h:209 AliDalitzElectronCuts.h:210 AliDalitzElectronCuts.h:211 AliDalitzElectronCuts.h:212 AliDalitzElectronCuts.h:213 AliDalitzElectronCuts.h:214 AliDalitzElectronCuts.h:215 AliDalitzElectronCuts.h:216 AliDalitzElectronCuts.h:217 AliDalitzElectronCuts.h:218 AliDalitzElectronCuts.h:219 AliDalitzElectronCuts.h:220 AliDalitzElectronCuts.h:221 AliDalitzElectronCuts.h:222 AliDalitzElectronCuts.h:223 AliDalitzElectronCuts.h:224 AliDalitzElectronCuts.h:225 AliDalitzElectronCuts.h:226 AliDalitzElectronCuts.h:227 AliDalitzElectronCuts.h:228 AliDalitzElectronCuts.h:229 AliDalitzElectronCuts.h:230 AliDalitzElectronCuts.h:231 AliDalitzElectronCuts.h:232 AliDalitzElectronCuts.h:233 AliDalitzElectronCuts.h:234 AliDalitzElectronCuts.h:235 AliDalitzElectronCuts.h:236 AliDalitzElectronCuts.h:237 AliDalitzElectronCuts.h:238 AliDalitzElectronCuts.h:239 AliDalitzElectronCuts.h:240 AliDalitzElectronCuts.h:241 AliDalitzElectronCuts.h:242 AliDalitzElectronCuts.h:243 AliDalitzElectronCuts.h:244 AliDalitzElectronCuts.h:245 AliDalitzElectronCuts.h:246 AliDalitzElectronCuts.h:247 AliDalitzElectronCuts.h:248 AliDalitzElectronCuts.h:249 AliDalitzElectronCuts.h:250 AliDalitzElectronCuts.h:251 AliDalitzElectronCuts.h:252 AliDalitzElectronCuts.h:253 AliDalitzElectronCuts.h:254 AliDalitzElectronCuts.h:255 AliDalitzElectronCuts.h:256 AliDalitzElectronCuts.h:257 AliDalitzElectronCuts.h:258 AliDalitzElectronCuts.h:259 AliDalitzElectronCuts.h:260 AliDalitzElectronCuts.h:261 AliDalitzElectronCuts.h:262 AliDalitzElectronCuts.h:263 AliDalitzElectronCuts.h:264 AliDalitzElectronCuts.h:265 AliDalitzElectronCuts.h:266 AliDalitzElectronCuts.h:267 AliDalitzElectronCuts.h:268 AliDalitzElectronCuts.h:269 AliDalitzElectronCuts.h:270 AliDalitzElectronCuts.h:271 AliDalitzElectronCuts.h:272 AliDalitzElectronCuts.h:273 AliDalitzElectronCuts.h:274 AliDalitzElectronCuts.h:275 AliDalitzElectronCuts.h:276 AliDalitzElectronCuts.h:277 AliDalitzElectronCuts.h:278 AliDalitzElectronCuts.h:279 AliDalitzElectronCuts.h:280 AliDalitzElectronCuts.h:281 AliDalitzElectronCuts.h:282 AliDalitzElectronCuts.h:283 AliDalitzElectronCuts.h:284 AliDalitzElectronCuts.h:285 AliDalitzElectronCuts.h:286 AliDalitzElectronCuts.h:287 AliDalitzElectronCuts.h:288 AliDalitzElectronCuts.h:289 AliDalitzElectronCuts.h:290 AliDalitzElectronCuts.h:291 AliDalitzElectronCuts.h:292 AliDalitzElectronCuts.h:293 AliDalitzElectronCuts.h:294 AliDalitzElectronCuts.h:295