ROOT logo
AliRoot » PWGHF » VERTEXINGHF » AliAnalysisTaskCombinHF

class AliAnalysisTaskCombinHF: public AliAnalysisTaskSE

 Class AliAnalysisTaskCombinHF
 AliAnalysisTaskSE to build D meson candidates by combining tracks
  background is computed LS and track rotations is
 Authors: F. Prino, A. Rossi

Function Members (Methods)

public:
AliAnalysisTaskCombinHF()
AliAnalysisTaskCombinHF(Int_t meson, AliRDHFCuts* analysiscuts)
virtual~AliAnalysisTaskCombinHF()
virtual voidTTask::Abort()MENU
voidTObject::AbstractMethod(const char* method) const
virtual voidTTask::Add(TTask* task)
virtual voidAliAnalysisTaskSE::AddAODBranch(const char* cname, void* addobj, const char* fname = "")
virtual AliAODEvent*AliAnalysisTaskSE::AODEvent() const
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tAliAnalysisTask::AreSlotsConnected()
virtual voidTTask::Browse(TBrowser* b)
Bool_tCanBeMixed(Double_t zv1, Double_t zv2, Double_t mult1, Double_t mult2)
Bool_tCheckAcceptance(TClonesArray* arrayMC, Int_t nProng, Int_t* labDau)
Bool_tAliAnalysisTask::CheckCircularDeps()
voidAliAnalysisTask::CheckNotify(Bool_t init = kFALSE)
virtual Bool_tAliAnalysisTask::CheckOwnership() const
virtual Bool_tAliAnalysisTask::CheckPostData() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTTask::CleanTasks()
virtual voidTTask::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
voidConfigureMultiplicityPools(Int_t nPools, Double_t* multLimits)
voidConfigureRotation(Int_t n, Double_t phimin, Double_t phimax)
voidConfigureZVertPools(Int_t nPools, Double_t* zVertLimits)
Bool_tAliAnalysisTask::ConnectInput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidAliAnalysisTaskSE::ConnectInputData(Option_t* option = "")
Bool_tAliAnalysisTask::ConnectOutput(Int_t islot, AliAnalysisDataContainer* cont)
virtual voidTTask::Continue()MENU
virtual voidTNamed::Copy(TObject& named) const
virtual voidAliAnalysisTaskSE::CreateOutputObjects()
virtual const char*AliAnalysisTaskSE::CurrentFileName()
virtual Int_tAliAnalysisTaskSE::DebugLevel() const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
voidDoMixingWithCuts()
voidDoMixingWithPools(Int_t poolIndex)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual Long64_tAliAnalysisTaskSE::Entry() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual AliESDfriend*AliAnalysisTaskSE::ESDfriend() const
virtual const AliEventTag*AliAnalysisTaskSE::EventTag() const
virtual voidAliAnalysisTaskSE::Exec(Option_t* option)
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTTask::ExecuteTask(Option_t* option = "0")MENU
virtual voidTTask::ExecuteTasks(Option_t* option)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
voidFillGenHistos(TClonesArray* arrayMC)
Bool_tFillHistos(Int_t pdgD, Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t* pdgdau, TClonesArray* arrayMC, Int_t* dgLabels)
voidFillLSHistos(Int_t pdgD, Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t* pdgdau, Int_t charge)
voidFillMEHistos(Int_t pdgD, Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t* pdgdau)
voidFillMEHistosLS(Int_t pdgD, Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t* pdgdau, Int_t charge)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidFinishTaskOutput()
voidAliAnalysisTask::GetBranches(const char* type, TString& result) const
Int_tTTask::GetBreakin() const
Int_tTTask::GetBreakout() const
virtual UInt_tAliAnalysisTaskSE::GetCollisionCandidates() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
TObject*AliAnalysisTask::GetInputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetInputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetInputType(Int_t islot) const
TList*TTask::GetListOfTasks() const
virtual const char*TNamed::GetName() const
Int_tAliAnalysisTask::GetNinputs() const
Int_tAliAnalysisTask::GetNoutputs() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TObject*AliAnalysisTask::GetOutputData(Int_t islot) const
AliAnalysisDataSlot*AliAnalysisTask::GetOutputSlot(Int_t islot) const
TClass*AliAnalysisTask::GetOutputType(Int_t islot) const
Int_tGetPoolIndex(Double_t zvert, Double_t mult)
TObject*AliAnalysisTask::GetPublishedData() const
virtual TList*AliAnalysisTaskSE::GetQAHistos() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tAliAnalysisTask::HasBranches() const
Bool_tAliAnalysisTask::HasExecuted() const
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidInit()
virtual AliVEvent*AliAnalysisTaskSE::InputEvent() const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTTask::IsActive() const
Bool_tAliAnalysisTask::IsChecked() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tAliAnalysisTaskSE::IsEventInBinZero()
virtual Bool_tTTask::IsFolder() const
Bool_tAliAnalysisTask::IsInitialized() const
Bool_tIsKaon(AliAODTrack* track)
Bool_tTObject::IsOnHeap() const
Bool_tAliAnalysisTask::IsOutputReady(Int_t islot) const
Bool_tIsPion(AliAODTrack* track)
Bool_tAliAnalysisTask::IsPostEventLoop() const
Bool_tAliAnalysisTask::IsReady() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tAliAnalysisTaskSE::IsStandardAOD() const
Bool_tIsTrackSelected(AliAODTrack* track)
Bool_tAliAnalysisTask::IsUsed() const
Bool_tAliAnalysisTask::IsZombie() const
voidAliAnalysisTaskSE::LoadBranches() const
virtual voidLocalInit()
virtual voidTTask::ls(Option_t* option = "*") constMENU
voidTObject::MayNotUse(const char* method) const
virtual AliMCEvent*AliAnalysisTaskSE::MCEvent() const
virtual Bool_tAliAnalysisTaskSE::Notify()
virtual Bool_tAliAnalysisTask::NotifyBinChange()
virtual voidAliAnalysisTaskSE::NotifyRun()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual TTree*AliAnalysisTaskSE::OutputTree() const
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidAliAnalysisTask::PrintContainers(Option_t* option = "all", Int_t indent = 0) const
virtual voidAliAnalysisTask::PrintTask(Option_t* option = "all", Int_t indent = 0) const
Bool_tAliAnalysisTask::ProducersTouched() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidAliAnalysisTask::Reset()
voidTObject::ResetBit(UInt_t f)
voidResetPool(Int_t poolIndex)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
Bool_tSelectAODTrack(AliAODTrack* track, AliESDtrackCuts* cuts)
virtual voidAliAnalysisTaskSE::SelectCollisionCandidates(UInt_t offlineTriggerMask = AliVEvent::kMB)
voidSelectFeeddownD()
voidSelectPromptAndFeeddownD()
voidSelectPromptD()
voidTTask::SetActive(Bool_t active = kTRUE)TOGGLE
voidSetAnalysisLevel(Int_t level)
voidSetBayesThres(Double_t thresKaon, Double_t thresPion)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliAnalysisTask::SetBranches(const char* names)
voidTTask::SetBreakin(Int_t breakin = 1)TOGGLE
voidTTask::SetBreakout(Int_t breakout = 1)TOGGLE
voidAliAnalysisTask::SetChecked(Bool_t flag = kTRUE)
virtual voidAliAnalysisTaskSE::SetDebugLevel(Int_t level)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEtaAccCut(Double_t etacut)
voidSetEventMixingOff()
voidSetEventMixingWithCuts(Double_t maxDeltaVz, Double_t maxDeltaMult)
voidSetEventMixingWithPools()
voidSetFilterMask(UInt_t mask = 16)
voidSetGoUpToQuark(Bool_t opt)
voidSetKaonTrackCuts(AliESDtrackCuts* cuts)
voidSetKeepNegIDtracks(Bool_t nid)
voidSetMassWindow(Double_t minMass, Double_t maxMass)
voidSetMaxPforIDKaon(Double_t maxpIdKaon)
voidSetMaxPforIDPion(Double_t maxpIdPion)
voidSetMaxPt(Double_t maxPt)
voidSetMultiplicityRange(Double_t mmin = -0.5, Double_t mmax = 199.5)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNumberOfEventsForMixing(Int_t minn)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPIDHF(AliAODPidHF* pid)
voidSetPIDselCaseZero(Int_t strat)
voidSetPIDstrategy(Int_t strat)
voidSetPionTrackCuts(AliESDtrackCuts* cuts)
voidAliAnalysisTask::SetPostEventLoop(Bool_t flag = kTRUE)
voidSetPtAccCut(Double_t ptcut)
voidSetPtBinWidth(Double_t binw)
voidSetRDHFCuts(AliRDHFCuts* cuts)
voidSetReadMC(Bool_t read)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTrackCuts(AliESDtrackCuts* cuts)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliAnalysisTask::SetUsed(Bool_t flag = kTRUE)
voidAliAnalysisTask::SetZombie(Bool_t flag = kTRUE)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
virtual voidTerminate(Option_t* option)
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidUserCreateOutputObjects()
virtual voidUserExec(Option_t* option)
virtual voidAliAnalysisTaskSE::UserExecMix(Option_t*)
virtual Bool_tAliAnalysisTaskSE::UserNotify()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
voidAliAnalysisTaskSE::ConnectMultiHandler()
voidAliAnalysisTask::DefineInput(Int_t islot, TClass* type)
voidAliAnalysisTask::DefineOutput(Int_t islot, TClass* type)
voidAliAnalysisTaskSE::DisconnectMultiHandler()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidAliAnalysisTask::EnableBranch(Int_t islot, const char* bname) const
char*AliAnalysisTask::GetBranchAddress(Int_t islot, const char* branch) const
voidTObject::MakeZombie()
TFile*AliAnalysisTask::OpenFile(Int_t iout, Option_t* option = "RECREATE") const
Bool_tAliAnalysisTask::PostData(Int_t iout, TObject* data, Option_t* option = "")
Bool_tAliAnalysisTask::SetBranchAddress(Int_t islot, const char* branch, void* address) const

Data Members

public:
enum EMesonSpecies { kDzero
kDplus
kDstar
kDs
};
enum EPrompFd { kNone
kPrompt
kFeeddown
kBoth
};
enum EPIDstrategy { knSigma
kBayesianMaxProb
kBayesianThres
};
enum AliAnalysisTask::EAnalysisTaskFlags { kTaskUsed
kTaskZombie
kTaskChecked
kTaskPostEventLoop
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tTTask::fActivetrue if task is active
TStringAliAnalysisTask::fBranchNamesList of input branches that need to be loaded for this task
Int_tTTask::fBreakin=1 if a break point set at task extry
Int_tTTask::fBreakout=1 if a break point set at task exit
Int_tAliAnalysisTaskSE::fCurrentRunNumber! Current run number
Int_tAliAnalysisTaskSE::fDebugDebug flag
AliESDfriend*AliAnalysisTaskSE::fESDfriend! ESD friend
Int_tAliAnalysisTaskSE::fEntryCurrent entry in the chain
Bool_tTTask::fHasExecutedTrue if task has executed
TList*AliAnalysisTaskSE::fHistosQA! Output histos for QA
Bool_tAliAnalysisTask::fInitializedTrue if Init() was called
AliVEvent*AliAnalysisTaskSE::fInputEvent! VEvent Input
AliInputEventHandler*AliAnalysisTaskSE::fInputHandler! Input Handler
TObjArray*AliAnalysisTask::fInputsArray of input slots
AliMCEvent*AliAnalysisTaskSE::fMCEvent! MC
AliInputEventHandler*AliAnalysisTaskSE::fMCEventHandler! pointer to MCEventHandler
AliMultiInputEventHandler*AliAnalysisTaskSE::fMultiInputHandler! pointer to multihandler
TStringTNamed::fNameobject identifier
Int_tAliAnalysisTask::fNinputsNumber of inputs
Int_tAliAnalysisTask::fNoutputsNumber of outputs
UInt_tAliAnalysisTaskSE::fOfflineTriggerMaskTask processes collision candidates only
TStringTTask::fOptionOption specified in ExecuteTask
AliAODEvent*AliAnalysisTaskSE::fOutputAOD! AOD out
Bool_t*AliAnalysisTask::fOutputReady[fNoutputs] Flags for output readyness
TObjArray*AliAnalysisTask::fOutputsArray of output slots
TObject*AliAnalysisTask::fPublishedData! published data
Bool_tAliAnalysisTask::fReadyFlag if the task is ready
TList*TTask::fTasksList of Tasks
TStringTNamed::fTitleobject title
TTree*AliAnalysisTaskSE::fTreeAAOD output Tree
static TClonesArray*AliAnalysisTaskSE::fgAODCaloClusters! CaloClusters for replication
static TClonesArray*AliAnalysisTaskSE::fgAODDimuons! Dimuons replication
static AliAODCaloTrigger*AliAnalysisTaskSE::fgAODEMCALTrigger! Emcal Trigger for replication
static AliAODCaloCells*AliAnalysisTaskSE::fgAODEmcalCells! Emcal Cell replication
static TClonesArray*AliAnalysisTaskSE::fgAODFMDClusters! FMDClusters for replication
static AliVHeader*AliAnalysisTaskSE::fgAODHeader! Header for replication
static TClonesArray*AliAnalysisTaskSE::fgAODHmpidRings! HMPID replication
static TClonesArray*AliAnalysisTaskSE::fgAODJets! Jets for replication
static TClonesArray*AliAnalysisTaskSE::fgAODMCParticles! MC Particles for replicatio
static AliAODCaloTrigger*AliAnalysisTaskSE::fgAODPHOSTrigger! Phos Trigger for replication
static TClonesArray*AliAnalysisTaskSE::fgAODPMDClusters! PMDClusters for replication
static AliAODCaloCells*AliAnalysisTaskSE::fgAODPhosCells! Phos Cell replication
static AliAODTracklets*AliAnalysisTaskSE::fgAODTracklets! Tracklets for replication
static TClonesArray*AliAnalysisTaskSE::fgAODTracks! Tracks for replication
static TClonesArray*AliAnalysisTaskSE::fgAODV0s! V0s for replication
static AliAODVZERO*AliAnalysisTaskSE::fgAODVZERO! VZERO for replication
static TClonesArray*AliAnalysisTaskSE::fgAODVertices! Vertices for replication
static TTask*TTask::fgBeginTaskpointer to task initiator
static TTask*TTask::fgBreakPointpointer to current break point
static AliTOFHeader*AliAnalysisTaskSE::fgTOFHeader! TOFHeader for replication
private:
AliRDHFCuts*fAnalysisCutsCuts for candidates
Double_tfBayesThresKaonthreshold for kaon identification via Bayesian PID
Double_tfBayesThresPionthreshold for pion identification via Bayesian PID
AliNormalizationCounter*fCounter!Counter for normalization
TH1F*fDeltaMass! hist. mass difference after rotations
THnSparse*fDeltaMassFullAnalysis! hist. mass difference after rotations with more details
Int_tfDoEventMixingflag for event mixing
Double_tfEtaAccCuteta limits for acceptance step
TTree**fEventBuffer! structure for event mixing
TObjString*fEventInfounique event Id for event mixing checks
TH2F*fEventsPerPool! hist with number of events per pool
UInt_tfFilterMaskFilterMask
Int_tfFullAnalysisflag to set analysis level (0 is the fastest)
Bool_tfGoUpToQuarkflag for definition of c,b origin
TH1F*fHistCheckDecChan!hist. of decay channel of D meson
TH1F*fHistCheckDecChanAcc!hist. of decay channel of D meson in acc.
TH1F*fHistCheckOrigin!hist. of origin (c/b) of D meson
TH1F*fHistCheckOriginSel!hist. of origin (c/b) of D meson
TH1F*fHistNEvents!hist. for No. of events
TH1F*fHistTrackStatus!hist. of status of tracks
TObjArray*fKaonTracksarray of kaon-compatible tracks (TLorentzVectors)
Bool_tfKeepNegIDflag to keep also track with negative ID (default kFALSE, change it only if you know what you are doing)
TH3F*fMassVsPtVsY! hist. of Y vs. Pt vs. Mass (all cand)
TH3F*fMassVsPtVsYBkg! hist. of Y vs. Pt vs. Mass (background)
TH3F*fMassVsPtVsYLSmm! hist. of Y vs. Pt vs. Mass (like sign --)
TH3F*fMassVsPtVsYLSpp! hist. of Y vs. Pt vs. Mass (like sign ++)
TH3F*fMassVsPtVsYME! hist. of Y vs. Pt vs. Mass (mixedevents)
TH3F*fMassVsPtVsYMELSmm! hist. of Y vs. Pt vs. Mass (mixedevents)
TH3F*fMassVsPtVsYMELSpp! hist. of Y vs. Pt vs. Mass (mixedevents)
TH3F*fMassVsPtVsYRefl! hist. of Y vs. Pt vs. Mass (reflections)
TH3F*fMassVsPtVsYRot! hist. of Y vs. Pt vs. Mass (rotations)
TH3F*fMassVsPtVsYSig! hist. of Y vs. Pt vs. Mass (signal)
Double_tfMaxAngleForRotmaximum angle for track rotation
Double_tfMaxAngleForRot3maximum angle for track rotation (3rd prong)
Double_tfMaxMassmaximum value of invariant mass
Double_tfMaxMultDiffForMixcut on multiplicity difference for event mixing with cuts
Double_tfMaxMultiplicityupper limit for multiplcities in MC histos
Double_tfMaxPtmaximum pT value for inv. mass histograms
Double_tfMaxzVertDistForMixcut on zvertex distance for event mixing with cuts
Int_tfMesonmesonSpecies (see enum)
Double_tfMinAngleForRotminimum angle for track rotation
Double_tfMinAngleForRot3minimum angle for track rotation (3rd prong)
Double_tfMinMassminimum value of invariant mass
Double_tfMinMultiplicitylower limit for multiplcities in MC histos
TH2F*fMixingsPerPool! hist with number of mixings per pool
Double_t*fMultPoolLims[fNMultPoolsLimSize] limits of the pools in multiplicity
Double_tfMultiplicitymultiplicity
Int_tfNMultPoolsnumber of pools in multiplicity for event mixing
Int_tfNMultPoolsLimSizenumber of pools in multiplicity for event mixing +1
Int_tfNOfPoolsnumber of pools
Int_tfNRotationsnumber of rotations
TH1F*fNSelected! hist. of n. of selected D+
TH1F*fNormRotated! hist. rotated/selected D+
Int_tfNumberOfEventsForMixingmaximum number of events to be used in event mixing
Int_tfNzVertPoolsnumber of pools in z vertex for event mixing
Int_tfNzVertPoolsLimSizenumber of pools in z vertex for event mixing +1
TList*fOutput! list send on output slot 0
Int_tfPIDselCaseZeroflag to change PID strategy
Int_tfPIDstrategyknSigma, kBayesianMaxProb, kBayesianThres
AliAODPidHF*fPidHFPID configuration
TObjArray*fPionTracksarray of pion-compatible tracks (TLorentzVectors)
Int_tfPromptFeeddownflag to select prompt (1), feeddown (2) or all (3)
Double_tfPtAccCutpt limits for acceptance step
Double_tfPtBinWidthwidth of pt bin (GeV/c)
TH3F*fPtVsYVsMultGen! hist. of Y vs. Pt vs. Mult generated (all D)
TH3F*fPtVsYVsMultGenAcc! hist. of Y vs. Pt vs. Mult generated (D in acc)
TH3F*fPtVsYVsMultGenLargeAcc! hist. of Y vs. Pt vs. Mult generated (|y|<0.9)
TH3F*fPtVsYVsMultGenLimAcc! hist. of Y vs. Pt vs. Mult generated (|y|<0.5)
TH3F*fPtVsYVsMultReco! hist. of Y vs. Pt vs. Mult generated (Reco D)
Bool_tfReadMCflag for access to MC
AliESDtrackCuts*fTrackCutsAlltrack selection
AliESDtrackCuts*fTrackCutsKaonkaon track selection
AliESDtrackCuts*fTrackCutsPionpion track selection
Double_tfVtxZzVertex
Double_tfmaxPforIDKaonflag for upper p limit for id band for kaon
Double_tfmaxPforIDPionflag for upper p limit for id band for pion
Double_t*fzVertPoolLims[fNzVertPoolsLimSize] limits of the pools in zVertex

Class Charts

Inheritance Chart:
TTask
AliAnalysisTask
AliAnalysisTaskSE
AliAnalysisTaskCombinHF

Function documentation

AliAnalysisTaskCombinHF()
 default constructor
AliAnalysisTaskCombinHF(Int_t meson, AliRDHFCuts* analysiscuts)
 standard constructor
~AliAnalysisTaskCombinHF()
 Destructor

void ConfigureZVertPools(Int_t nPools, Double_t* zVertLimits)
 sets the pools for event mizing in zvertex
void ConfigureMultiplicityPools(Int_t nPools, Double_t* multLimits)
 sets the pools for event mizing in zvertex
void UserCreateOutputObjects()
 Create the output container

void UserExec(Option_t* option)
Build the 3-track combinatorics (+-+ and -+-) for D+->Kpipi decays
void FillLSHistos(Int_t pdgD, Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t* pdgdau, Int_t charge)
 Fill histos for LS candidates
void FillGenHistos(TClonesArray* arrayMC)
 Fill histos with generated quantities
Bool_t FillHistos(Int_t pdgD, Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t* pdgdau, TClonesArray* arrayMC, Int_t* dgLabels)
 Fill histos for candidates with proper charge sign
void FillMEHistos(Int_t pdgD, Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t* pdgdau)
 Fill histos for candidates in MixedEvents
void FillMEHistosLS(Int_t pdgD, Int_t nProngs, AliAODRecoDecay* tmpRD, Double_t* px, Double_t* py, Double_t* pz, UInt_t* pdgdau, Int_t charge)
 Fill histos for candidates in MixedEvents
Bool_t IsTrackSelected(AliAODTrack* track)
 track selection cuts
Bool_t IsKaon(AliAODTrack* track)
 kaon selection cuts
Bool_t IsPion(AliAODTrack* track)
 pion selection cuts
Bool_t SelectAODTrack(AliAODTrack* track, AliESDtrackCuts* cuts)
 AOD track selection
Bool_t CheckAcceptance(TClonesArray* arrayMC, Int_t nProng, Int_t* labDau)
 check if the decay products are in the good eta and pt range
Int_t GetPoolIndex(Double_t zvert, Double_t mult)
 check in which of the pools the current event falls
void ResetPool(Int_t poolIndex)
 delete the contets of the pool
Bool_t CanBeMixed(Double_t zv1, Double_t zv2, Double_t mult1, Double_t mult2)
 check mixing
void DoMixingWithCuts()
 perform mixed event analysis
void DoMixingWithPools(Int_t poolIndex)
 perform mixed event analysis
void FinishTaskOutput()
 perform mixed event analysis
void Terminate(Option_t* option)
 Terminate analysis

AliAnalysisTaskCombinHF()
void Init()
{}
void LocalInit()
{Init();}
void SetReadMC(Bool_t read)
{fReadMC=read;}
void SetEventMixingWithCuts(Double_t maxDeltaVz, Double_t maxDeltaMult)
void SetEventMixingWithPools()
void SetEventMixingOff()
void SetNumberOfEventsForMixing(Int_t minn)
void SelectPromptD()
void SelectFeeddownD()
void SelectPromptAndFeeddownD()
void SetGoUpToQuark(Bool_t opt)
void SetKeepNegIDtracks(Bool_t nid)
{fKeepNegID=nid;}
void SetTrackCuts(AliESDtrackCuts* cuts)
void SetPionTrackCuts(AliESDtrackCuts* cuts)
void SetKaonTrackCuts(AliESDtrackCuts* cuts)
void SetPIDHF(AliAODPidHF* pid)
void SetRDHFCuts(AliRDHFCuts* cuts)
void SetFilterMask(UInt_t mask = 16)
{fFilterMask=mask;}
void SetAnalysisLevel(Int_t level)
{fFullAnalysis=level;}
void ConfigureRotation(Int_t n, Double_t phimin, Double_t phimax)
void SetMassWindow(Double_t minMass, Double_t maxMass)
{fMinMass=minMass; fMaxMass=maxMass;}
void SetMaxPt(Double_t maxPt)
{fMaxPt=maxPt;}
void SetPtBinWidth(Double_t binw)
{fPtBinWidth=binw;}
void SetEtaAccCut(Double_t etacut)
{fEtaAccCut=etacut;}
void SetPtAccCut(Double_t ptcut)
{fPtAccCut=ptcut;}
void SetMultiplicityRange(Double_t mmin = -0.5, Double_t mmax = 199.5)
void SetPIDstrategy(Int_t strat)
{fPIDstrategy=strat;}
void SetMaxPforIDPion(Double_t maxpIdPion)
{fmaxPforIDPion=maxpIdPion;}
void SetMaxPforIDKaon(Double_t maxpIdKaon)
{fmaxPforIDKaon=maxpIdKaon;}
void SetPIDselCaseZero(Int_t strat)
void SetBayesThres(Double_t thresKaon, Double_t thresPion)
AliAnalysisTaskCombinHF& operator=(const AliAnalysisTaskCombinHF& source)