]>
Commit | Line | Data |
---|---|---|
2f4cac02 | 1 | #ifndef ALIJCORRANTASK_H |
2 | #define ALIJCORRANTASK_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 for high pt particle correlations | |
8 | // author: R.Diaz, J. Rak, D.J. Kim | |
9 | // ALICE Group University of Jyvaskyla | |
10 | // Finland | |
11 | // | |
12 | // Fill the analysis containers for ESD or AOD | |
13 | // Note: Adapted for AliAnalysisTaskSE | |
14 | ////////////////////////////////////////////////////////////////////////////// | |
15 | ||
16 | #include <iostream> | |
17 | #include <fstream> | |
18 | #include <stdlib.h> | |
19 | #include <stdio.h> | |
20 | #include <iomanip> | |
21 | ||
22 | #include <TTree.h> | |
23 | #include <TList.h> | |
24 | #include "AliAnalysisTaskSE.h" | |
25 | #include "AliAnalysisFilter.h" | |
26 | #include "AliMCEvent.h" | |
27 | ||
28 | #include "AliPhJTrackList.h" | |
29 | #include "AliPhJMCTrackList.h" | |
30 | #include "AliPhJPhotonList.h" | |
31 | #include "AliPhJHeaderList.h" | |
32 | #include "AliJCORRANSetup.h" | |
33 | ||
34 | #include "AliJRunHeader.h" | |
35 | #include "JConst.h" | |
36 | ||
37 | //============================================================== | |
38 | ||
39 | using namespace std; | |
40 | ||
41 | const int kMaxDimBuffer = 300;//max length of a line read to a buffe | |
42 | ||
43 | class TH1D; | |
44 | class TH2D; | |
45 | class TNtuple; | |
6392490d | 46 | class TList; |
47 | class TTree; | |
48 | ||
2f4cac02 | 49 | class AliMCEvent; |
50 | class AliESDEvent; | |
51 | class AliAODEvent; | |
52 | class AliPHOSGeoUtils; | |
53 | class AliEMCALGeoUtils; | |
6392490d | 54 | class AliESDtrackCuts; |
55 | ||
2f4cac02 | 56 | class AliJRunHeader; |
57 | class AliMCEvent; | |
58 | class AliJCORRANSetup; | |
59 | class AliAnalysisFilter; | |
60 | class AliPhJHeaderList; | |
61 | class AliPhJPhotonList; | |
62 | class AliPhJMCTrackList; | |
63 | class AliPhJTrackList; | |
2f4cac02 | 64 | |
65 | ||
66 | ||
67 | class AliJCORRANTask : public AliAnalysisTaskSE { | |
68 | ||
69 | public: | |
70 | AliJCORRANTask() ; | |
6392490d | 71 | AliJCORRANTask(const char *name, TString inputformat, AliESDtrackCuts* esdTrackCuts, Int_t downSc, Double_t lowLPmom, Double_t lowCaloE); //FK// |
2f4cac02 | 72 | AliJCORRANTask(const AliJCORRANTask& ap); |
73 | AliJCORRANTask& operator = (const AliJCORRANTask& ap); | |
74 | virtual ~AliJCORRANTask(); | |
75 | ||
76 | // methods to fill from AliAnalysisTaskSE | |
77 | virtual void UserCreateOutputObjects(); | |
78 | virtual void Init(); | |
79 | virtual void LocalInit() { Init(); } | |
80 | virtual void UserExec(Option_t *option); | |
81 | virtual void Terminate(Option_t * opt = ""); | |
82 | ||
83 | // methods to read data from ESD | |
84 | void ReadESDTracks(const AliESDEvent* esd); | |
85 | void ReadESDCaloClusters(const AliESDEvent* esd); | |
86 | void ReadESDHeader(const AliESDEvent* esd); | |
87 | // methods to read data from AOD | |
88 | void ReadAODTracks(const AliAODEvent* aod); | |
89 | void ReadAODCaloClusters(const AliAODEvent* aod); | |
90 | void ReadAODHeader(const AliAODEvent* aod); | |
91 | void ReadFilter(); | |
92 | //void ReadMCTracks(AliMCEvent* fMC); | |
93 | Int_t GetSuperModuleNumber(bool isemcal, Int_t absId); | |
94 | ||
95 | ||
96 | private: | |
97 | ||
98 | UInt_t ConvertTriggerMask(/*Long64_t alicetriggermask*/);//Converts alice trigger mask to JCorran trigger mask | |
99 | ||
6392490d | 100 | bool StoreDownscaledMinBiasEvent(); |
101 | bool ContainsESDHighPtTrack(const AliESDEvent* esd); | |
102 | bool ContainsESDHighECaloClusters(const AliESDEvent* esd); | |
103 | ||
2f4cac02 | 104 | TString fInputFormat; // specify the input data format (ESD or AOD) |
105 | ||
6392490d | 106 | AliESDtrackCuts* fEsdTrackCuts; //FK// |
107 | ||
108 | Int_t fDownscaling; //FK// | |
109 | ||
110 | Double_t fLowerCutOnLPMom; //FK// | |
111 | ||
112 | Double_t fLowerCutOnLeadingCaloClusterE;//FK// | |
113 | ||
2f4cac02 | 114 | TString fActiveTriggers[kRangeTriggerTableAlice];//alice table mapping trigger bit to trigger name |
115 | ||
116 | TString fTriggerTableJCorran[kRangeTriggerTableJCorran];//JCorran trigger table TBit 0 =MinBias | |
117 | ||
118 | // jcorran output objects | |
119 | TTree* fTree; // output tree | |
120 | AliPhJTrackList* fTrackList; // list of charged track objects | |
121 | //AliPhJMCTrackList* fMCTrackList; // list of charged track objects | |
122 | AliPhJPhotonList* fPhotonList; // list of photons objects | |
123 | AliPhJHeaderList* fHeaderList; // run, event details | |
124 | ||
125 | AliJRunHeader* fAliRunHeader; // run, event details | |
126 | ||
127 | ||
128 | // QA output | |
129 | TList* fQAList; // list to hold all the qa objects | |
130 | TNtuple* fTrackQACuts ; // tree of track quality cuts applied on ESD | |
131 | TNtuple* fTrackKineCuts; // tree of track kinematic cuts applied on ESD | |
132 | ||
133 | AliPHOSGeoUtils * fPHOSGeom; //phos geometry matrix | |
134 | AliEMCALGeoUtils * fEMCALGeom; //emcal geometry matrix | |
135 | ||
136 | ClassDef(AliJCORRANTask, 1); // JCORRAN analysis task | |
137 | }; | |
138 | #endif // AliJCORRANTask_H |