]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/AliAnalysisTaskSELc2pK0sfromAODtracks.h
Updates
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliAnalysisTaskSELc2pK0sfromAODtracks.h
CommitLineData
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
29class THnSparse;
30class TH1F;
31class TClonesArray;
32class AliAODRecoCascadeHF;
33class AliESDVertex;
34
35class 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