]>
Commit | Line | Data |
---|---|---|
b5c5bbb6 | 1 | #ifndef ALIANALYSISTASKSELC2PK0SFROMAODTRACKS_H |
2 | #define ALIANALYSISTASKSELC2PK0SFROMAODTRACKS_H | |
3 | ||
4 | /************************************************************************** | |
5 | * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
6 | * * | |
7 | * Author: The ALICE Off-line Project. * | |
8 | * Contributors are mentioned in the code where appropriate. * | |
9 | * * | |
10 | * Permission to use, copy, modify and distribute this software and its * | |
11 | * documentation strictly for non-commercial purposes is hereby granted * | |
12 | * without fee, provided that the above copyright notice appears in all * | |
13 | * copies and that both the copyright notice and this permission notice * | |
14 | * appear in the supporting documentation. The authors make no claims * | |
15 | * about the suitability of this software for any purpose. It is * | |
16 | * provided "as is" without express or implied warranty. * | |
17 | **************************************************************************/ | |
18 | ||
19 | /* $Id$ */ | |
20 | ||
21 | #include "TROOT.h" | |
22 | #include "TSystem.h" | |
23 | ||
24 | #include "AliAnalysisTaskSE.h" | |
25 | #include "AliAODEvent.h" | |
26 | #include "AliPID.h" | |
27 | #include "AliRDHFCutsLctopK0sfromAODtracks.h" | |
28 | ||
29 | class THnSparse; | |
30 | class TH1F; | |
31 | class TClonesArray; | |
32 | class AliAODRecoCascadeHF; | |
33 | class AliESDVertex; | |
34 | ||
35 | class AliAnalysisTaskSELc2pK0sfromAODtracks : public AliAnalysisTaskSE | |
36 | { | |
37 | public: | |
38 | AliAnalysisTaskSELc2pK0sfromAODtracks(); | |
39 | AliAnalysisTaskSELc2pK0sfromAODtracks(const Char_t* name, AliRDHFCutsLctopK0sfromAODtracks* cuts, AliRDHFCutsLctopK0sfromAODtracks* cuts2, Bool_t writeVariableTree=kTRUE); | |
40 | virtual ~AliAnalysisTaskSELc2pK0sfromAODtracks(); | |
41 | ||
42 | // Implementation of interface methods | |
43 | virtual void UserCreateOutputObjects(); | |
44 | virtual void Init(); | |
45 | virtual void LocalInit() {Init();} | |
46 | virtual void UserExec(Option_t *option); | |
47 | virtual void Terminate(Option_t *option); | |
48 | ||
49 | void FillROOTObjects(AliAODRecoCascadeHF *lcobj); | |
50 | void MakeAnalysis(AliAODEvent *aod); | |
51 | ||
52 | ||
53 | // set MC usage | |
54 | void SetMC(Bool_t theMCon) {fUseMCInfo = theMCon;} | |
55 | Bool_t GetMC() const {return fUseMCInfo;} | |
56 | ||
57 | void SetIspp(Bool_t a) { fIspp=a; } | |
58 | Bool_t GetIspp() { return fIspp; } | |
59 | void SetIspA(Bool_t a) { fIspA=a; } | |
60 | Bool_t GetIspA() { return fIspA; } | |
61 | void SetIsAA(Bool_t a) { fIsAA=a; } | |
62 | Bool_t GetIsAA() { return fIsAA; } | |
63 | ||
64 | AliAODRecoCascadeHF* MakeCascadeHF(AliAODv0 *casc, AliAODTrack *trk, AliAODEvent *aod, AliAODVertex *vert); | |
65 | AliAODVertex* ReconstructSecondaryVertex(AliAODv0 *casc, AliAODTrack *trk, AliAODEvent *aod); | |
66 | ||
67 | ||
68 | private: | |
69 | ||
70 | AliAnalysisTaskSELc2pK0sfromAODtracks(const AliAnalysisTaskSELc2pK0sfromAODtracks &source); | |
71 | AliAnalysisTaskSELc2pK0sfromAODtracks& operator=(const AliAnalysisTaskSELc2pK0sfromAODtracks& source); | |
72 | ||
73 | void DefineTreeVariables(); | |
74 | void DefineGeneralHistograms(); | |
75 | void DefineAnalysisHistograms(); | |
76 | ||
77 | AliAODVertex *CallPrimaryVertex(AliAODv0 *v0, AliAODTrack *trk, AliAODEvent *evt); | |
78 | AliAODVertex* PrimaryVertex(const TObjArray *trkArray,AliVEvent *event); | |
79 | ||
80 | Bool_t fUseMCInfo; // Use MC info | |
81 | TList *fOutput; //! User output slot 1 // general histos | |
82 | TList *fOutputAll; //! User Output slot 3 //analysis histograms | |
83 | TList *fListCuts; //! User output slot 2 // Cuts | |
84 | TH1F *fCEvents; //! Histogram to check selected events | |
85 | TH1F *fHTrigger; //! Histogram to check Trigger | |
86 | TH1F *fHCentrality; //! Histogram to check Centrality | |
87 | AliRDHFCutsLctopK0sfromAODtracks *fProdCuts;// Cuts - sent to output slot 2 | |
88 | AliRDHFCutsLctopK0sfromAODtracks *fAnalCuts;// Cuts - sent to output slot 2 | |
89 | Bool_t fIsEventSelected; // flag for event selected | |
90 | Bool_t fWriteVariableTree; // flag to decide whether to write the candidate variables on a tree variables | |
91 | TTree *fVariablesTree; //! tree of the candidate variables after track selection on output slot 4 | |
92 | Bool_t fIspp; //ispp event | |
93 | Bool_t fIspA; //ispA event | |
94 | Bool_t fIsAA; //isAA event | |
95 | Bool_t fIsMB; //MB trigger event | |
96 | Bool_t fIsSemi; //SemiCentral trigger event | |
97 | Bool_t fIsCent; //Central trigger event | |
98 | Bool_t fIsINT7; //INT7 trigger event | |
99 | Bool_t fIsEMC7; //EMC7 trigger event | |
100 | Float_t *fCandidateVariables; //! variables to be written to the tree | |
101 | AliAODVertex *fVtx1; // primary vertex | |
102 | AliESDVertex *fV1; // primary vertex | |
103 | Double_t fBzkG; // magnetic field value [kG] | |
104 | Float_t fCentrality; //Centrality | |
105 | Float_t fTriggerCheck; //Stores trigger information | |
106 | ||
107 | //--------------------- My histograms ------------------ | |
108 | std::vector<THnSparse*> fHistoLcK0SpMass; //Lc mass spectra | |
109 | ||
110 | TH1F* fHistoBachPt; //! Bachelor pT histogram | |
111 | TH1F* fHistod0Bach; //! Bachelor d0 histogram | |
112 | TH1F* fHistod0V0; //! V0 d0 histogram | |
113 | TH1F* fHistod0d0; //! Bachelor d0 * V0 d0 histogram | |
114 | TH1F* fHistoV0CosPA; //! V0 cosine pointing angle to primary vertex | |
115 | TH1F* fHistoProbProton; //! Probability to be proton histogram | |
116 | TH1F* fHistoDecayLength; //! Decay length histogram | |
117 | TH1F* fHistoK0SMass; //! K0s mass histogram | |
118 | ||
119 | ||
120 | ClassDef(AliAnalysisTaskSELc2pK0sfromAODtracks,1); // class for Lc->p K0 | |
121 | }; | |
122 | #endif | |
123 |