1 #ifndef ALIANALYSISTASKSECHARMFRACTION_H
2 #define ALIANALYSISTASKSECHARMFRACTION_H
23 class AliAODMCParticle;
29 #include "AliAnalysisTaskSE.h"
69 Int_t CheckOrigin(
const TClonesArray* arrayMC,
const AliAODMCParticle *mcPartCandidate)
const;
76 void FillAziHistos(
AliAODRecoDecayHF2Prong *d,
TList *&
list,
Int_t ptbin,
Double_t azilist[30000],
Int_t trkIDlist[30000],
Int_t nprim,
Int_t okD0,
Int_t okD0bar,
Bool_t isPeakD0,
Bool_t isPeakD0bar,
Bool_t isSideBandD0,
Bool_t isSideBandD0bar)
const;
117 Bool_t FillHistos(
AliAODRecoDecayHF2Prong *d,
TList *&
list,
Int_t ptbin,
Int_t okD0,
Int_t okD0bar,
Double_t invMassD0,
Double_t invMassD0bar,
Bool_t isPeakD0,
Bool_t isPeakD0bar,
Bool_t isSideBandD0,
Bool_t isSideBandD0bar,
Double_t massmumtrue,
AliAODRecoDecayHF *aodDMC,
Double_t *vtxTrue,
Int_t isD0D0barMC,
Double_t bField);
Double_t * fVariablesTreeTGHCsign
!
TList * flistLsCutsFromB
! TList for D from B or D from Dstar from B with loose cuts, container 13
Bool_t fLikeSign
Flag to use two shistos for D0 and D0bar invariant masses.
AliAODRecoDecayHF * ConstructFakeTrueSecVtx(const AliAODMCParticle *b1, const AliAODMCParticle *b2, const AliAODMCParticle *mum, Double_t *primaryVtxTrue)
void SetSplitMassD0D0bar(Bool_t splitD0D0bar=kTRUE)
TList * flistNoCutsSignal
! TList for signal (D prompt) with nocuts, container 6
Int_t CheckOrigin(const TClonesArray *arrayMC, const AliAODMCParticle *mcPartCandidate) const
TList * flistTghCutsSignal
! TList for signal (D prompt) with tight cuts, container 16
Bool_t fFillTree
function with pt weights used only for MC histos for reflections and signal mass shape ...
TList * flistTghCutsFromDstar
! TList for D from Dstar Dstar with tight cuts, container 19
Bool_t fUseMC
invariant mass cut to define side band region width
TTree * fTreeNCfromDstar
!
void SetStandardMassSelection()
void SetNMaxTrForVtx(const Int_t ntrMaxforVtx)
Bool_t fusePID
Flag to analyse Like Sign array.
void SetReadMC(Bool_t readMC=kTRUE)
Bool_t fskipEventSelection
switch to reject candidates from HIJING and not Pythia for upgrade studies
Double_t * fVariablesTreeLSCsign
!
TList * flistLsCutsSignal
! TList for signal (D prompt) with loose cuts, container 11
Double_t * fVariablesTreeRecoNCfromB
!
Int_t fAODProtection
flag to switch on/off cleaning of the candidate own vtx
TList * flistTghCutsBack
! TList for backgrnd with tight cuts, container 17
AliRDHFCutsD0toKpi * fCutsTight
Loose cuts object.
Double_t * fVariablesTreeLSCfromDstar
!
TList * list
TDirectory file where lists per trigger are stored in train ouput.
TTree * fTreeTGHCfromDstar
!
AliAODVertex * GetPrimaryVtxSkipped(AliAODEvent *aodev, AliAODRecoDecayHF2Prong *d)
void SetUseMC(Bool_t useMC)
void SetCheckBitD0flag(Bool_t checkfl)
AliNormalizationCounter * fCounter
! counter for the normalization
TList * flistNoCutsFromDstar
! TList for D from Dstar with nocuts, container 9
Double_t fsignalInvMassCut
array with acceptance cuts
Double_t * fVariablesTreeNCother
!
Bool_t GetCheckBitD0flag()
virtual void Terminate(Option_t *option)
TList * flistTghCutsFromB
! TList for D from B or D from Dstar from Bwith tight cuts, container 18
TTree * fTreeLSCfromDstar
!
Double_t * fVariablesTreeLSCfromB
!
void SetSideBandInvMassCut(const Double_t sidebandInvMassCut=0.054)
Bool_t fcheckD0Bit
Flag To switch on/off access to MC.
Double_t * fVariablesTreeNCfromDstar
!
void SetAnalyzeLikeSign(Bool_t likesign=kFALSE)
Int_t fFastAnalysis
Vertexer heavy flavour.
Bool_t FillAziList(AliAODEvent *aod, Double_t azilist[30000], Int_t trkIDlist[30000], Int_t &nprim) const
Double_t flargeInvMassCut
invariant mass cut to define signal region
AliRDHFCutsD0toKpi * GetLooseCut()
TF1 * fWeightPt
cut value on max zvtx used ONLY if fskipEventSelection is kTRUE
Double_t fsidebandInvMassCut
invariant mass cut to accept all inv mass window
TList * flistTghCutsOther
! TList for others with tight cuts, container 20
Bool_t fsplitMassD0D0bar
Flag to check the D0 bit flag.
Double_t * fVariablesTreeLSCother
!
Double_t * fVariablesTreeTGHCfromDstar
!
Bool_t fCleanCandOwnVtx
flag to use or not MC info
AliAnalysisTaskSECharmFraction()
void FillAziHistos(AliAODRecoDecayHF2Prong *d, TList *&list, Int_t ptbin, Double_t azilist[30000], Int_t trkIDlist[30000], Int_t nprim, Int_t okD0, Int_t okD0bar, Bool_t isPeakD0, Bool_t isPeakD0bar, Bool_t isSideBandD0, Bool_t isSideBandD0bar) const
void SetPtWeightsFromDataPbPb276overLHC12a17a()
AliRDHFCutsD0toKpi * fCutsLoose
Bool_t SpecialSelD0(AliAODRecoDecayHF2Prong *d, Int_t &nusedforVtx)
Float_t * fptbins
Number of pt bins.
Double_t * fVariablesTreeTGHCfromB
!
Double_t * fVariablesTreeRecoLSCfromB
!
Double_t fmD0PDG
Flag to use PID.
Bool_t FillHistos(AliAODRecoDecayHF2Prong *d, TList *&list, Int_t ptbin, Int_t okD0, Int_t okD0bar, Double_t invMassD0, Double_t invMassD0bar, Bool_t isPeakD0, Bool_t isPeakD0bar, Bool_t isSideBandD0, Bool_t isSideBandD0bar, Double_t massmumtrue, AliAODRecoDecayHF *aodDMC, Double_t *vtxTrue, Int_t isD0D0barMC, Double_t bField)
Bool_t GetIsSplitMassD0D0bar()
Double_t fZvtxUpgr
switch to skip event selection (for upgrade studies)
AliVertexingHFUtils * fVertUtil
Bool_t fselectForUpgrade
vertexing HF Util
TList * flistNoCutsOther
! TList for others with nocuts, container 10
Double_t * fVariablesTreeNCfromB
!
TH1F * fSignalTypeTghCuts
! histo for the type of MC signal with tight cuts, container 4
void SetAcceptanceCut(const Double_t eta=0.8, const Double_t nITSpoints=5., const Double_t nSPDpoints=2.)
AliAODRecoDecayHF * GetD0toKPiSignalTypeObsolete(const AliAODRecoDecayHF2Prong *d, TClonesArray *arrayMC, Int_t &signaltype, Double_t &massMumTrue, Double_t *primaryVtx)
void FillHistoMCproperties(TClonesArray *arrayMC)
TH1F * fSignalType
! histo for the type of MC signal , container 2
TH1F * fNentries
flag to activate protection against AOD-dAOD mismatch.
Double_t * fVariablesTreeTGHCback
!
void SetRejecCandidateMCUpgrade(Bool_t selection)
Double_t * fVariablesTreeNCback
!
Double_t fptMax[3]
! Three largest track pt in the event
Double_t fptAllSq
! Sum of the square of the pt of the reco tracks
TH1F * fSignalTypeLsCuts
! histo for the type of MC signal with loose cuts , container 3
TTree * fTreeRecoTGHCfromB
!
void SetAODMismatchProtection(Int_t opt=1)
Double_t * fVariablesTreeLSCback
!
void SetSkipEventSelection(Bool_t skip)
AliAODRecoDecayHF * GetD0toKPiSignalType(const AliAODRecoDecayHF2Prong *d, TClonesArray *arrayMC, Int_t &signaltype, Double_t &massMumTrue, Double_t *primaryVtx, Int_t &isD0D0bar)
Double_t fptAll
N Max acceptable tracks used for vertex (0,1,2)
void CheckInvMassD0(AliAODRecoDecayHF2Prong *d, Double_t &invMassD0, Double_t &invMassD0bar, Bool_t &isPeakD0, Bool_t &isPeakD0bar, Bool_t &isSideBandD0, Bool_t &isSideBandD0bar)
void SetSignalInvMassCut(const Double_t signalInvMassCut=0.027)
Bool_t fReadMC
Flag to fill just the output for the simpler analysis.
TList * flistLsCutsFromDstar
! TList for D from Dstar with loose cuts, container 14
TTree * fTreeRecoLSCfromB
!
TList * flistNoCutsFromB
! TList for D from B or D from Dstar from Bwith nocuts, container 8
virtual void UserExec(Option_t *option)
Double_t fsidebandInvMassWindow
invariant mass cut to define side band region lower limit
virtual ~AliAnalysisTaskSECharmFraction()
Bool_t fLightOutput
Level of analysis speed: default is 1, switch it to 2 to fill the THnSparse.
void SetPtBins(Int_t nbins, const Float_t *ptbins)
virtual void UserCreateOutputObjects()
Implementation of interface methods.
TTree * fTreeRecoNCfromB
!
void SetSideBandInvMassWindow(const Double_t sidebandInvMassWindow=0.108)
TList * flistMCproperties
! TLists for MC properties of D0 w.r.t. B mesons and c quarks cntainer 5
void SetLargeInvMassCut(const Double_t largeInvMassCut=2.)
Double_t * fVariablesTreeRecoTGHCfromB
!
void SetFillImpParTree(Bool_t fillimppar)
Double_t * fVariablesTreeTGHCother
!
TList * flistLsCutsBack
! TList for background with loose cuts, container 12
TTree * fTreeNCsign
Switch to fill the trees of variabls for the impact parameter unbinned fit.
void SetUsePID(Bool_t pid)
TList * flistLsCutsOther
! TList for others with loose cuts, container 15
AliAnalysisTaskSECharmFraction & operator=(const AliAnalysisTaskSECharmFraction &)
void SetLightOutput(Bool_t lightOutput)
void SetAnalysisLevel(Int_t level)
Double_t fAcceptanceCuts[3]
Double_t * fVariablesTreeNCsign
!
void SetMaxZvtxForSkipEventSelection(Double_t zmax)
Class with functions useful for different D2H analyses //.
AliRDHFCutsD0toKpi * GetTightCut()
TList * flistNoCutsBack
! TList for background with nocuts, container 7