1 #ifndef ALICONVERSIONCUTS_H 2 #define ALICONVERSIONCUTS_H 20 #include "AliAODpidUtil.h" 23 #include "AliAODTrack.h" 24 #include "AliESDtrack.h" 25 #include "AliVTrack.h" 26 #include "AliAODTrack.h" 27 #include "AliMCEvent.h" 28 #include "AliAnalysisCuts.h" 31 #include "AliAnalysisUtils.h" 32 #include "AliAnalysisManager.h" 42 class AliAnalysisCuts;
46 class AliAODMCParticle;
106 static const char * fgkCutNames[kNCuts];
111 Bool_t InitializeCutsFromCutString(
const TString analysisCutSelection);
113 fOfflineTriggerMask = offlineTriggerMask;
114 fTriggerSelectedManually = kTRUE;
117 fOfflineTriggerMask = offlineTriggerMask;
118 fSpecialTriggerName = TriggerClassName;
119 cout << fSpecialTriggerName.Data() << endl;
147 Bool_t EventIsSelected(AliVEvent *fInputEvent, AliMCEvent *fMCEvent);
150 Bool_t PhotonIsSelectedMC(TParticle *particle,AliMCEvent *mcEvent,
Bool_t checkForConvertedGamma=kTRUE);
151 Bool_t PhotonIsSelectedAODMC(AliAODMCParticle *particle,TClonesArray *aodmcArray,
Bool_t checkForConvertedGamma=kTRUE);
152 Bool_t ElectronIsSelectedMC(TParticle *particle,AliMCEvent *mcEvent);
153 Bool_t TracksAreSelected(AliVTrack * negTrack, AliVTrack * posTrack);
155 Bool_t MesonIsSelectedMC(TParticle *fMCMother,AliMCEvent *mcEvent,
Bool_t bMCDaughtersInAcceptance=kFALSE);
157 void InitAODpidUtil(
Int_t type);
164 void PrintCutsWithValues();
166 void InitCutHistograms(
TString name=
"",
Bool_t preCut = kTRUE);
173 fEtaShift = etaShift;
177 if(!pPbOrPbp.CompareTo(
"pPb")) etaShift = -0.465;
178 else if(!pPbOrPbp.CompareTo(
"Pbp")) etaShift = 0.465;
180 fEtaShift = etaShift;
185 void GetCorrectEtaShiftFromPeriod(
TString periodName);
187 static AliVTrack * GetTrack(AliVEvent * event,
Int_t label);
191 Bool_t SpecificTrackCuts(AliAODTrack * negTrack, AliAODTrack * posTrack,
Int_t &cutIndex);
192 Bool_t SpecificTrackCuts(AliESDtrack * negTrack, AliESDtrack * posTrack,
Int_t &cutIndex);
194 Bool_t AcceptanceCut(TParticle *particle, TParticle * ePos,TParticle* eNeg);
195 Bool_t dEdxCuts(AliVTrack * track);
200 if(onfly == fUseOnFlyV0Finder)
return kTRUE;
209 Int_t IsParticleFromBGEvent(
Int_t index, AliMCEvent *mcEvent, AliVEvent *InputEvent = 0x0);
210 void GetNotRejectedParticles(
Int_t rejection,
TList *HeaderList, AliVEvent *MCEvent);
214 AliInfo(Form(
"enabled reweighting for: pi0 : %i, eta: %i, K0s: %i",pi0reweight, etareweight, k0sreweight));
215 fDoReweightHistoMCPi0 = pi0reweight;
216 fDoReweightHistoMCEta = etareweight;
217 fDoReweightHistoMCK0s = k0sreweight;
218 fPathTrFReweighting=path;
219 fNameHistoReweightingPi0 =histoNamePi0;
220 fNameHistoReweightingEta =histoNameEta;
221 fNameHistoReweightingK0s =histoNameK0s;
222 fNameFitDataPi0 =fitNamePi0;
223 fNameFitDataEta =fitNameEta;
224 fNameFitDataK0s =fitNameK0s;
227 void LoadReweightingHistosMCFromFile ();
230 Bool_t IsCentralitySelected(AliVEvent *fInputEvent, AliMCEvent *fMCEvent = NULL);
231 Double_t GetCentrality(AliVEvent *event);
233 Int_t GetNumberOfContributorsVtx(AliVEvent *event);
234 Bool_t VertexZCut(AliVEvent *fInputEvent);
235 Bool_t IsTriggerSelected(AliVEvent *fInputEvent);
248 Bool_t SetTPCdEdxCutPionLine(
Int_t pidedxSigmaCut);
249 Bool_t SetTPCdEdxCutElectronLine(
Int_t ededxSigmaCut);
253 Bool_t SetMinMomPiondEdxCut(
Int_t piMinMomdedxSigmaCut);
254 Bool_t SetMaxMomPiondEdxCut(
Int_t piMaxMomdedxSigmaCut);
255 Bool_t SetLowPRejectionCuts(
Int_t LowPRejectionSigmaCut);
262 Bool_t SetPhotonAsymmetryCut(
Int_t doPhotonAsymmetryCut);
264 Bool_t SetMultiplicityMethod(
Int_t multiplicityMethod);
265 Bool_t SetSelectSpecialTrigger(
Int_t selectSpecialTrigger);
266 Bool_t SetSelectSubTriggerClass (
Int_t selectSpecialSubTriggerClass);
271 Bool_t SetRejectExtraSignalsCut(
Int_t extraSignal);
272 Bool_t SetDCARPhotonPrimVtxCut(
Int_t DCARPhotonPrimVtx);
273 Bool_t SetDCAZPhotonPrimVtxCut(
Int_t DCAZPhotonPrimVtx);
280 Float_t GetWeightForMeson(
TString period,
Int_t index, AliMCEvent *mcEvent, AliVEvent *InputEvent = 0x0);
450 if (!fPIDResponse) fPIDResponse =
new AliAODpidUtil();
453 alephParameters[0] = 2.15898e+00/50.;
454 alephParameters[1] = 1.75295e+01;
455 alephParameters[2] = 3.40030e-09;
456 alephParameters[3] = 1.96178e+00;
457 alephParameters[4] = 3.91720e+00;
458 fPIDResponse->GetTOFResponse().SetTimeResolution(80.);
462 alephParameters[0] = 0.0283086/0.97;
463 alephParameters[1] = 2.63394e+01;
464 alephParameters[2] = 5.04114e-11;
465 alephParameters[3] = 2.12543e+00;
466 alephParameters[4] = 4.88663e+00;
467 fPIDResponse->GetTOFResponse().SetTimeResolution(130.);
468 fPIDResponse->GetTPCResponse().SetMip(50.);
471 fPIDResponse->GetTPCResponse().SetBetheBlochParameters(
472 alephParameters[0],alephParameters[1],alephParameters[2],
473 alephParameters[3],alephParameters[4]);
475 fPIDResponse->GetTPCResponse().SetSigma(3.79301e-03, 2.21280e+04);
Double_t fPIDMinPPionRejectionLowP
Double_t fTofPIDnSigmaAboveElectronLine
AliPIDResponse * fPIDResponse
Double_t fPIDnSigmaAbovePionLine
Bool_t fTriggerSelectedManually
Bool_t fDoPhotonAsymmetryCut
Double_t fDoKaonRejectionLowP
Double_t fPIDMinPProtonRejectionLowP
Double_t fPIDMinPKaonRejectionLowP
void SetEtaShift(TString pPbOrPbp)
void GetCentralityRange(Double_t range[2])
Int_t GetNAcceptedHeaders()
void SetAddedSignalPDGCode(Int_t addedSignalPDGcode)
void SelectSpecialTrigger(UInt_t offlineTriggerMask=AliVEvent::kAny, TString TriggerClassName="AliVEvent::kAny")
void SetPreSelectionCutFlag(Bool_t preSelFlag)
void SetUseReweightingWithHistogramFromFile(Bool_t pi0reweight=kTRUE, Bool_t etareweight=kFALSE, Bool_t k0sreweight=kFALSE, TString path="$ALICE_PHYSICS/PWGGA/GammaConv/MCSpectraInput.root", TString histoNamePi0="", TString histoNameEta="", TString histoNameK0s="", TString fitNamePi0="", TString fitNameEta="", TString fitNameK0s="")
Int_t GetMultiplicityMethod()
TString * GetAcceptedHeaderNames()
Int_t fRejectExtraSignals
TString * GetFoundHeader()
void FillPhotonCutIndex(Int_t photoncut)
Bool_t fDoReweightHistoMCK0s
Float_t fConversionPointZArray
void FillV0EtaBeforedEdxCuts(Float_t v0Eta)
Int_t * GetAcceptedHeaderStart()
TString fNameHistoReweightingEta
TString * fGeneratorNames
Int_t * fNotRejectedStart
Double_t fDoPionRejectionLowP
TH1D * hReweightMCHistEta
TList * GetAcceptedHeader()
Double_t fChi2CutConversion
TString fSpecialSubTriggerName
void FillV0EtaAfterdEdxCuts(Float_t v0Eta)
Int_t GetInPlaneOutOfPlaneCut()
Double_t fPIDnSigmaAboveElectronLine
Int_t * GetAcceptedHeaderEnd()
Bool_t UseElecSharingCut()
TList * GetCutHistograms()
Double_t fLineCutZRSlopeMin
Int_t fDetectorCentrality
AliAnalysisUtils * fUtils
Double_t fDoProtonRejectionLowP
Bool_t fDoQtGammaSelection
Double_t fPIDProbabilityCutNegativeParticle
void SetAcceptedHeader(TList *HeaderList)
Int_t fMultiplicityMethod
TH1F * hEtaDistV0sAfterdEdxCuts
TH2F * hCentralityVsNumberOfPrimaryTracks
void SetEtaShift(Double_t etaShift)
Float_t fConversionPointXArray
Double_t fPIDnSigmaAtLowPAroundKaonLine
Int_t * fElectronLabelArray
TString fSpecialTriggerName
virtual Bool_t IsSelected(TObject *)
void SelectCollisionCandidates(UInt_t offlineTriggerMask=AliVEvent::kAny)
Double_t fPIDnSigmaAtLowPAroundPionLine
Double_t fMinPPhotonAsymmetryCut
Bool_t SelectV0Finder(Bool_t onfly)
TString fNameHistoReweightingK0s
Double_t fTofPIDnSigmaBelowElectronLine
Bool_t UseToCloseV0sCut()
Double_t fPIDnSigmaAbovePionLineHighPt
Bool_t fDoReweightHistoMCEta
Double_t fPIDTRDEfficiency
Bool_t fDoPhotonQualitySelectionCut
Bool_t fUseCorrectedTPCClsInfo
TH1F * hTriggerClassSelected
Double_t fPIDnSigmaBelowElectronLine
Int_t fNSpecialSubTriggerOptions
TH1D * hReweightMCHistPi0
AliPIDResponse * GetPIDResponse()
TH2F * hPsiPairDeltaPhiafter
Double_t fPIDnSigmaAtLowPAroundProtonLine
Double_t fLineCutZValueMin
Int_t fModCentralityClass
void DoEtaShift(Bool_t doEtaShift)
Double_t fPIDMaxPnSigmaAbovePionLine
void SetFillCutHistograms(TString name="", Bool_t preCut=kTRUE)
Int_t fAddedSignalPDGCode
TH1D * hReweightMCHistK0s
void SetPIDResponse(AliPIDResponse *pidResponse)
TString fPathTrFReweighting
TString GetSpecialTriggerName()
void InitAODpidUtil(Int_t type)
TString fNameHistoReweightingPi0
Double_t fPIDProbabilityCutPositiveParticle
UInt_t fOfflineTriggerMask
Double_t fPIDMinPnSigmaAbovePionLine
Float_t fConversionPointYArray
virtual Bool_t IsSelected(TList *)
Bool_t fDoReweightHistoMCPi0
Double_t fMinPhotonAsymmetry
Int_t GetSignalRejection()