]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/charmFlow/AliAnalysisTaskFlowD2H.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / charmFlow / AliAnalysisTaskFlowD2H.h
CommitLineData
a8f6c03f 1/* Copyright(c) 1998-1999, ALICExperiment at CERN, All rights reserved. *
2* See cxx source for full Copyright notice */
f829c4f7 3/* $Id$ */
a8f6c03f 4
8dda6917 5#ifndef ALIANALYSISTASKFLOWD2H_H
6#define ALIANALYSISTASKFLOWD2H_H
a8f6c03f 7
8#include "AliAnalysisTaskSE.h"
9
10//==============================================================================
11// FlowD2H main task:
12// >> Make flowEvent with RPcuts and POIcuts given in constructor and passes it
13// to the daughter tasks.
14// >> The POIcuts are polymorphic based on the AliRDHFCuts class allowing the
15// use of all charmed candidates reconstructed in the central barrel.
16// Author: Carlos Perez (cperez@cern.ch)
17//==============================================================================
18
a8f6c03f 19class AliAODEvent;
a8f6c03f 20class AliRDHFCuts;
21class AliRDHFCutsD0toKpi;
fcfcc352 22class AliFlowEventCuts;
fc4003c2 23class AliFlowEvent;
fcfcc352 24class AliFlowCandidateTrack;
fc4003c2 25class AliFlowTrackCuts;
fcfcc352 26class TList;
27class TH1D;
a8f6c03f 28
29class AliAnalysisTaskFlowD2H : public AliAnalysisTaskSE {
30 public:
31 AliAnalysisTaskFlowD2H();
fcfcc352 32 AliAnalysisTaskFlowD2H( const Char_t *name,
fc4003c2 33 AliFlowTrackCuts *cutsTPC,
34 AliFlowTrackCuts *cutsVZE,
fcfcc352 35 AliRDHFCuts *cutsPOIs,
36 Int_t specie );
8dda6917 37 void SetDebug() {fDebugV2 = true;}
b9eaee3e 38 void SetSwapAsumption() {fSwap = true;}
a8f6c03f 39 virtual ~AliAnalysisTaskFlowD2H();
40 virtual void UserCreateOutputObjects();
41 virtual void UserExec(Option_t *);
dffffe9e 42 virtual void Terminate(Option_t *);
fc4003c2 43 void SetCommonConstants(Int_t massBins, Double_t minMass, Double_t maxMass, Int_t ptWidth);
a8f6c03f 44
45 private:
46 AliAnalysisTaskFlowD2H(const AliAnalysisTaskFlowD2H& analysisTask);
47 AliAnalysisTaskFlowD2H& operator=(const AliAnalysisTaskFlowD2H& analysisTask);
48 void AddHistograms();
fcfcc352 49 void FillD0toKpi( const AliAODEvent *aod );
50 void FillD0toKpipipi( const AliAODEvent *aod );
51 void FillDStartoKpipi( const AliAODEvent *aod );
52 void FillDplustoKpipi( const AliAODEvent *aod );
53 void FillDstoKKpi( const AliAODEvent *aod );
54 void FillJpsitoee( const AliAODEvent *aod );
55 void FillLctoV0( const AliAODEvent *aod );
56 void FillLctopKpi( const AliAODEvent *aod );
57 void MakeTrack( Double_t mass, Double_t pt,
58 Double_t phi, Double_t eta,
59 Int_t nDaughters, const Int_t *iID );
fc4003c2 60
dffffe9e 61 AliFlowEvent *fTPCEvent; //!
62 AliFlowEvent *fVZEEvent; //!
839a24c5 63 AliFlowTrackCuts *fCutsTPC;
64 AliFlowTrackCuts *fCutsVZE;
65 AliFlowTrackCuts *fNoPOIs;
fc4003c2 66
fcfcc352 67 AliRDHFCuts *fCutsPOI; // cuts for POIs
68 Int_t fSource; // AliRDHFCuts::ESele
69 Bool_t fDebugV2; // fully talkative task
b9eaee3e 70 Bool_t fSwap; // swap assumption (for neutral)
fcfcc352 71
fc4003c2 72 Int_t fMassBins; // configures mass bins for the analysis
73 Double_t fMinMass; // configures mass range for the analysis
74 Double_t fMaxMass; // configures mass range for the analysis
75 Int_t fPtBinWidth; // configures pt bin width for the analysis
76
dffffe9e 77 TList *fHList; //! List for histos
fc4003c2 78 TH1D *fEvent; // Event counter
79 TH1D *fCC; // CC histogram
80 TH1D *fRFPMTPC; // Multiplicity RFPTPC
81 TH1D *fRFPPhiTPC; // Phi RFPTPC
fcfcc352 82
83 TObjArray *fCandidates; // Array of selected candidates
a8f6c03f 84
dffffe9e 85 ClassDef(AliAnalysisTaskFlowD2H, 5);
a8f6c03f 86};
87
88#endif