]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/charmFlow/AliAnalysisTaskFlowD2H.h
Updates in D meson v2 task with flow package (Carlos, Grazia)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / charmFlow / AliAnalysisTaskFlowD2H.h
1 /* Copyright(c) 1998-1999, ALICExperiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3 /* $Id$ */
4
5 #ifndef ALIANALYSISTASKFLOWD2H_H
6 #define ALIANALYSISTASKFLOWD2H_H
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
19 class AliAODEvent;
20 class AliRDHFCuts;
21 class AliRDHFCutsD0toKpi;
22 class AliFlowEventCuts;
23 class AliFlowCandidateTrack;
24 class TList;
25 class TH1D;
26
27 class AliAnalysisTaskFlowD2H : public AliAnalysisTaskSE {
28   public:
29     AliAnalysisTaskFlowD2H();
30     AliAnalysisTaskFlowD2H( const Char_t *name, 
31                             AliFlowEventCuts *cutsEvent,
32                             AliRDHFCuts *cutsPOIs, 
33                             Int_t specie );
34     void SetDebug() {fDebugV2 = true;}
35     virtual ~AliAnalysisTaskFlowD2H();
36     virtual void UserCreateOutputObjects();
37     virtual void UserExec(Option_t *);
38
39   private:
40     AliAnalysisTaskFlowD2H(const AliAnalysisTaskFlowD2H& analysisTask);
41     AliAnalysisTaskFlowD2H& operator=(const AliAnalysisTaskFlowD2H& analysisTask);
42     void AddHistograms();
43     void FillD0toKpi( const AliAODEvent *aod );
44     void FillD0toKpipipi( const AliAODEvent *aod );
45     void FillDStartoKpipi( const AliAODEvent *aod );
46     void FillDplustoKpipi( const AliAODEvent *aod );
47     void FillDstoKKpi( const AliAODEvent *aod );
48     void FillJpsitoee( const AliAODEvent *aod );
49     void FillLctoV0( const AliAODEvent *aod );
50     void FillLctopKpi( const AliAODEvent *aod );
51     void MakeTrack( Double_t mass, Double_t pt,
52                     Double_t phi, Double_t eta,
53                     Int_t nDaughters, const Int_t *iID );
54     AliFlowEventCuts *fEventCuts;
55     AliRDHFCuts *fCutsPOI; // cuts for POIs
56     Int_t  fSource; // AliRDHFCuts::ESele
57     Bool_t fDebugV2; // fully talkative task
58
59     TList *fHList; // List for histos
60     TH1D  *fEvent; // Event counter
61
62     TObjArray *fCandidates; // Array of selected candidates
63
64   ClassDef(AliAnalysisTaskFlowD2H, 2);
65 };
66
67 #endif