]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/Base/AliAnalysisTaskCFTree.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGCF / Correlations / Base / AliAnalysisTaskCFTree.h
CommitLineData
5fe7e785 1#ifndef AliAnalysisTaskCFTree_h
2#define AliAnalysisTaskCFTree_h
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7// Analysis task to produce trees of lightweight events
8// evgeny.kryshen@cern.ch
9
10#include "AliAnalysisTask.h"
11class AliInputEventHandler;
12class TList;
13class TH1I;
14class TTree;
15class TClonesArray;
16class AliAnalysisFilter;
17class AliPIDResponse;
18class AliVParticle;
19class AliCFParticle;
20
21class AliAnalysisTaskCFTree : public AliAnalysisTask {
22 public:
23 AliAnalysisTaskCFTree(const char* name="AliAnalysisTaskCFTree");
24 virtual ~AliAnalysisTaskCFTree(){};
25 virtual void ConnectInputData(Option_t *);
26 virtual void CreateOutputObjects();
27 virtual void Exec(Option_t *option);
28
29 void SetTrackFilter(AliAnalysisFilter* filter) { fTrackFilter = filter; }
30 void SetHybridConstrainedMask(UInt_t mask) { fHybridConstrainedMask = mask; }
31 void SetTPConlyConstrainedMask(UInt_t mask) { fTPConlyConstrainedMask = mask; }
32 void SetDebug(Int_t val) { fDebug = val; }
33 void SetMode(Int_t val) { fMode = val; }
4c66fa46 34 void SetAOD(Bool_t val) { fIsAOD = val; }
5fe7e785 35 // Event cut setters
36 void SetEventSelectionBit(UInt_t val) { fSelectBit = val; }
37 void SetZVertex(Float_t val) { fZVertexCut = val; }
38 void SetTracksInVertex(Int_t val) { fnTracksVertex = val; }
39 void SetCentralityMethod(char* val) { fCentralityMethod = val; }
40 // Track cut setters
41 void SetTrackFilterBit(UInt_t val) { fTrackFilterBit = val; }
42 void SetTrackEtaCut(Float_t val) { fTrackEtaCut = val; }
43 void SetPtMin(Float_t val) { fPtMin = val; }
44 void SetSharedClusterCut(Float_t val) { fSharedClusterCut = val; }
45 void SetCrossedRowsCut(Int_t val) { fCrossedRowsCut = val; }
46 void SetFoundFractionCut(Float_t val) { fFoundFractionCut = val; }
c0ff46c8 47 void SetDphiCut(Float_t val) { fDphiCut = val; }
4c66fa46 48 // Switchers for additional data to be stored
8e77b3fd 49 void SetStoreTracks(Bool_t val=kTRUE) { fStoreTracks = val; }
4c66fa46 50 void SetStoreTracklets(Bool_t val=kTRUE) { fStoreTracklets = val; }
51 void SetStoreMuons(Bool_t val=kTRUE) { fStoreMuons = val; }
5fe7e785 52
53 protected:
54 AliAnalysisTaskCFTree(const AliAnalysisTaskCFTree &task);
55 AliAnalysisTaskCFTree& operator=(const AliAnalysisTaskCFTree &task);
56
57 UInt_t GetFilterMap(AliVParticle* part);
58 AliCFParticle* AddTrack(AliVParticle* track, UInt_t mask, UInt_t flag=0);
59
60 Int_t fDebug; // debug level
61 Int_t fMode; // Analysis mode: 0 - data, 1 - mc
4c66fa46 62 Bool_t fIsAOD; // kTRUE - AOD
5fe7e785 63 AliInputEventHandler* fInputHandler; // AOD or ESD input handler
64 AliInputEventHandler* fMcHandler; // MC input handler (ESD)
65 AliAnalysisFilter* fTrackFilter; // track filter used in ESD analysis
66 UInt_t fHybridConstrainedMask; // Filter mask for hybrid constrained tracks (ESD analysis)
67 UInt_t fTPConlyConstrainedMask; // Filter mask for TPConly constrained tracks (ESD analysis)
68 AliPIDResponse* fPIDResponse; //!
69 TList* fListOfHistos; //! list of output histograms
70 TH1I* fEventStatistics; //! cut-by-cut counter of events
71 TTree* fTree; //! output tree
72 // Tree variables
73 TClonesArray* fParticles; //! tree var: selected AliCFParticles
4c66fa46 74 TClonesArray* fTracklets; //! tree var: selected tracklets (stored if fStoreTracklets=kTRUE)
75 TClonesArray* fMuons; //! tree var: selected muons (stored if fStoreMuons=kTRUE)
5fe7e785 76 Float_t fField; // tree var: magnetic field value
77 Float_t fCentrality; // tree var: centrality
78 Float_t fZvtx; // tree var: z-vertex
79 Int_t fRunNumber; // tree var: run number
80 UInt_t fPeriod; // tree var: period
81 UInt_t fOrbit; // tree var: orbit
82 UShort_t fBc; // tree var: bunch crossing
83 UInt_t fSelectMask; // tree var: physics selection mask
84 // Event cuts
85 UInt_t fSelectBit; // event selection bit
86 Float_t fZVertexCut; // Z-vertex cut
87 Int_t fnTracksVertex; // min number of vertex contributors
88 TString fCentralityMethod; // method to determine centrality
89 // Track cuts
90 UInt_t fTrackFilterBit; // track filter bits to be stored
91 Float_t fTrackEtaCut; // maximum abs(eta) cut
92 Float_t fPtMin; // minimum pt cut
93 Float_t fSharedClusterCut; // cut on shared clusters
94 Int_t fCrossedRowsCut; // cut on crossed rows
95 Float_t fFoundFractionCut; // cut on crossed rows/findable clusters
c0ff46c8 96 Float_t fDphiCut; // cut on tracklet dphi
4c66fa46 97 //
8e77b3fd 98 Bool_t fStoreTracks; // if kTRUE - Barrel tracks will be stored as AliCFParticles
4c66fa46 99 Bool_t fStoreTracklets; // if kTRUE - SPD tracklets will be stored as AliCFParticles
100 Bool_t fStoreMuons; // if kTRUE - muon tracks will be stored as AliCFParticles
c0ff46c8 101 ClassDef(AliAnalysisTaskCFTree,3);
5fe7e785 102};
103#endif
104