]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/charmFlow/AliAnalysisTaskFlowD2H.h
Adding PiKP-only histograms and eliminating a number of switches where histograms...
[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
19class TList;
20class TH2D;
21class TProfile;
22
23class AliAODEvent;
24
25class AliFlowEvent;
26class AliFlowCandidateTrack;
27class AliFlowTrackCuts;
28
29class AliRDHFCuts;
30class AliRDHFCutsD0toKpi;
31
32class AliAnalysisTaskFlowD2H : public AliAnalysisTaskSE {
33 public:
34 AliAnalysisTaskFlowD2H();
35 AliAnalysisTaskFlowD2H( const Char_t *name, AliFlowTrackCuts *cutsRPs,
36 AliRDHFCuts *cutsPOIs, Int_t specie );
8dda6917 37 void SetDebug() {fDebugV2 = true;}
a8f6c03f 38 void SetPOIEtaRange( Double_t minEta, Double_t maxEta )
39 { fPOIEta[0] = minEta; fPOIEta[1] = maxEta; }
40 void SetFlowEtaRangeAB( Double_t minA, Double_t maxA, Double_t minB, Double_t maxB )
41 { fFlowEta[0] = minA; fFlowEta[1] = maxA;
42 fFlowEta[2] = minB; fFlowEta[3] = maxB; }
43 void SetFlowPtRange( Int_t minPt, Int_t maxPt )
44 { fFlowPts[0] = minPt; fFlowPts[1] = maxPt; }
45 void SetFlowBandRange( Int_t band, Double_t minMass, Double_t maxMass )
46 { fFlowBands[0][band] = minMass;
47 fFlowBands[1][band] = maxMass; } //TODO
48 virtual ~AliAnalysisTaskFlowD2H();
49 virtual void UserCreateOutputObjects();
50 virtual void UserExec(Option_t *);
51 virtual void Terminate(Option_t *);
52 virtual void NotifyRun();
53
54 private:
55 AliAnalysisTaskFlowD2H(const AliAnalysisTaskFlowD2H& analysisTask);
56 AliAnalysisTaskFlowD2H& operator=(const AliAnalysisTaskFlowD2H& analysisTask);
57 void AddHistograms();
58 void FillD0toKpi( AliAODEvent *aod, AliFlowEvent *mb[5]);
59 void FillD0toKpipipi( AliAODEvent *aod, AliFlowEvent *mb[5]);
8dda6917 60 void FillDStartoKpipi( const AliAODEvent *aod, AliFlowEvent *mb[5]);
61 void FillDplustoKpipi( const AliAODEvent *aod, AliFlowEvent *mb[5]);
a8f6c03f 62 void FillDstoKKpi( AliAODEvent *aod, AliFlowEvent *mb[5]);
63 void FillJpsitoee( AliAODEvent *aod, AliFlowEvent *mb[5]);
64 void FillLctoV0( AliAODEvent *aod, AliFlowEvent *mb[5]);
65 void FillLctopKpi( AliAODEvent *aod, AliFlowEvent *mb[5]);
66 AliFlowCandidateTrack* MakeTrack( Double_t mass, Double_t pt,
67 Double_t phi, Double_t eta,
8dda6917 68 Int_t nDaughters, const Int_t *iID );
a8f6c03f 69 AliFlowTrackCuts *fCutsRP; // cuts for RPs
70 AliRDHFCuts *fCutsPOI; // cuts for POIs
71 Int_t fSource; // AliRDHFCuts::ESele
8dda6917 72 Bool_t fDebugV2; // fully talkative task
a8f6c03f 73 TList *fHList; // List for histos
74 TProfile *fAnaCuts; // store analysis related cuts
75 TH2D *fEvent[2]; // Events histogram
76 TH2D *fMass[2]; // Mass spectra
77 Double_t fPOIEta[2]; // Eta cut for POI
78 Double_t fFlowEta[4]; // SP subEvents
79 Int_t fFlowPts[2]; // Pt range
80 Double_t fFlowBands[2][5]; // Mass bands TODO
81
82 ClassDef(AliAnalysisTaskFlowD2H, 1);
83};
84
85#endif