]>
Commit | Line | Data |
---|---|---|
49061176 | 1 | #ifndef ALIANALYSISTASKSED0MASS_H |
2 | #define ALIANALYSISTASKSED0MASS_H | |
3 | ||
4 | /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //************************************************************************* | |
8 | // Class AliAnalysisTaskSED0Mass | |
9 | // AliAnalysisTaskSE for D0 candidates invariant mass histogram | |
a41f6fad | 10 | // and comparison to MC truth (kinematics stored in the AOD) and cut variables |
11 | // distributions | |
49061176 | 12 | // Authors: A.Dainese, andrea.dainese@ln.infn.it |
13 | // and C.Bianchin, chiara.bianchin@pd.infn.it | |
14 | //************************************************************************* | |
15 | ||
16 | #include <TROOT.h> | |
17 | #include <TSystem.h> | |
18 | #include <TNtuple.h> | |
19 | #include <TH1F.h> | |
20 | ||
21 | #include "AliAnalysisTaskSE.h" | |
ea0d8716 | 22 | #include "AliRDHFCutsD0toKpi.h" |
23 | ||
4e61a020 | 24 | class AliAODEvent; |
49061176 | 25 | |
26 | class AliAnalysisTaskSED0Mass : public AliAnalysisTaskSE | |
27 | { | |
28 | public: | |
29 | ||
30 | AliAnalysisTaskSED0Mass(); | |
ea0d8716 | 31 | AliAnalysisTaskSED0Mass(const char *name,AliRDHFCutsD0toKpi* cuts); |
49061176 | 32 | virtual ~AliAnalysisTaskSED0Mass(); |
33 | ||
34 | ||
35 | // Implementation of interface methods | |
36 | virtual void UserCreateOutputObjects(); | |
37 | virtual void Init(); | |
38 | virtual void LocalInit() {Init();} | |
39 | virtual void UserExec(Option_t *option); | |
40 | virtual void Terminate(Option_t *option); | |
41 | ||
feb73eca | 42 | void SetArray(Int_t type=AliAnalysisTaskSED0Mass::kD0){fArray=type;} |
feb73eca | 43 | enum{kD0,kLS}; |
ce39f0ac | 44 | |
45 | void SetReadMC(Bool_t readMC=kFALSE){fReadMC=readMC;} | |
ea0d8716 | 46 | void SetCutOnDistr(Bool_t cutondistr=kFALSE){fCutOnDistr=cutondistr;} |
4e61a020 | 47 | |
49061176 | 48 | private: |
49 | ||
50 | AliAnalysisTaskSED0Mass(const AliAnalysisTaskSED0Mass &source); | |
51 | AliAnalysisTaskSED0Mass& operator=(const AliAnalysisTaskSED0Mass& source); | |
ea0d8716 | 52 | void FillMassHists(AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout); |
4e61a020 | 53 | void FillVarHists(AliAODEvent *aodev,AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout); |
54 | AliAODVertex* GetPrimaryVtxSkipped(AliAODEvent *aodev,AliAODRecoDecayHF2Prong *d); | |
55 | ||
ea0d8716 | 56 | TList *fOutputMass; //! list send on output slot 1 |
57 | TList *fDistr; //! list send on output slot 2 | |
feb73eca | 58 | TH1F *fNentries; //! histogram with number of events on output slot 3 |
ea0d8716 | 59 | TList *fChecks; //! list send on output slot 4 |
4b4a1d25 | 60 | //TList* fCutList; //! |
ea0d8716 | 61 | AliRDHFCutsD0toKpi *fCuts; // Cuts - sent to output slot 5 |
9de8c723 | 62 | Int_t fArray; // can be D0 or Like Sign candidates |
ce39f0ac | 63 | Bool_t fReadMC; // flag for MC array: kTRUE = read it, kFALSE = do not read it |
ea0d8716 | 64 | Bool_t fCutOnDistr; // Flag to decide if apply cut also on distributions: 0 no cuts, 1 looser cuts, 2 tighter cuts |
87020237 | 65 | Int_t fNPtBins; // number of pt bins |
66 | Int_t* fTotPosPairs; //[fNPtBins] | |
67 | Int_t* fTotNegPairs; //[fNPtBins] | |
9de8c723 | 68 | Double_t fLsNormalization; // normalization |
feb73eca | 69 | |
70 | ||
87020237 | 71 | ClassDef(AliAnalysisTaskSED0Mass,7); // AliAnalysisTaskSE for the MC association of heavy-flavour decay candidates |
49061176 | 72 | }; |
73 | ||
74 | #endif | |
87020237 | 75 |