]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDCalibTask.h
added protection for missing AODEvent in cases we write only delta AOD (Andrei G.)
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibTask.h
CommitLineData
71121636 1#ifndef ALITRDCALIBTASK_H\r
2#define ALITRDCALIBTASK_H\r
3\r
4///////////////////////////////////////////////////////////////////////////////\r
5// //\r
6// TRD calibration task for offline calibration //\r
7// //\r
8///////////////////////////////////////////////////////////////////////////////\r
7b7a2591 9\r
7b7a2591 10\r
11class TList;\r
12class TObject;\r
13class TObjArray;\r
14class TH2F;\r
15class TH1F;\r
16class TH1I;\r
17class TProfile2D;\r
18class TH2I;\r
19class TTree;\r
20class AliESDEvent;\r
21class AliESDfriend;\r
22class AliESDtrack;\r
23class AliESDfriendTrack;\r
24class AliTRDtrackV1;\r
25class AliTRDCalibraFillHisto;\r
26class AliTRDcluster;\r
27class AliESDtrackCuts;\r
28class AliTRDCalDet;\r
29\r
30#include "TObjString.h"\r
31#include "AliAnalysisTask.h" \r
32\r
33class AliTRDCalibTask : public AliAnalysisTask {\r
34 public:\r
35 AliTRDCalibTask(const char *name = "AliTRDCalibTask");\r
36 virtual ~AliTRDCalibTask();\r
37 \r
38 virtual void ConnectInputData(Option_t *);\r
39 virtual void CreateOutputObjects();\r
40 virtual void Exec(Option_t *option);\r
41 virtual void Terminate(Option_t *);\r
42 virtual Bool_t Load(const Char_t *filename);\r
43 void Plot();\r
44\r
45 void SetHisto2d(Bool_t histo2d) {fHisto2d=histo2d;};\r
46 void SetVector2d(Bool_t vector2d) {fVector2d=vector2d;};\r
47 void SetVdriftLinear(Bool_t vdriftLinear) {fVdriftLinear = vdriftLinear;};\r
48 void SetNbTimeBins(Int_t nbTimeBins) {fNbTimeBins=nbTimeBins;}; \r
49 \r
50 void SetNz(Short_t nz, Int_t i) {fNz[i]=nz;};\r
51 void SetNrphi(Short_t nrphi, Int_t i) {fNrphi[i]=nrphi;};\r
52 \r
53 void AddSelectedTriggerClass(const char*name) {fSelectedTrigger->Add(new TObjString(name));};\r
54 void SetReject(Bool_t rejected) {fRejected = rejected;};\r
55 \r
71121636 56 void SetESDtrackCuts(AliESDtrackCuts * const esdtrackCuts) {fEsdTrackCuts = esdtrackCuts;};\r
7b7a2591 57 void SetRequirePrimaryVertex(Bool_t requirePrimaryVertex) {fRequirePrimaryVertex = requirePrimaryVertex;};\r
58 void SetMinNbOfContributors(Int_t minNbOfContributors) {fMinNbContributors = minNbOfContributors;}; \r
59 \r
60 void SetLow(Int_t low) {fLow=low;};\r
61 void SetHigh(Int_t high) {fHigh=high;};\r
62 void SetFillZero(Bool_t fillZero) {fFillZero = fillZero;};\r
63 void SetNormalizeNbOfCluster(Bool_t normalizeNbOfCluster = kTRUE) {fNormalizeNbOfCluster = normalizeNbOfCluster;};\r
64 void SetMaxCluster(Float_t maxCluster) {fMaxCluster = maxCluster; }; \r
65 void SetNbMaxCluster(Short_t nbMaxCluster) {fNbMaxCluster = nbMaxCluster; }; \r
66 void SetOfflineTracks() {fOfflineTracks=kTRUE; fStandaloneTracks=kFALSE; };\r
67 void SetStandaloneTracks() {fStandaloneTracks=kTRUE; fOfflineTracks=kFALSE; };\r
68\r
71121636 69 void SetCalDetGain(AliTRDCalDet * const calDetGain) {fCalDetGain = calDetGain;}; \r
7b7a2591 70\r
71 void SetMaxEvent(Int_t nbevents) { fMaxEvent = nbevents; };\r
72 void SetDebug(Int_t debug) { fDebug = debug; };\r
73\r
74 private:\r
75 AliESDEvent *fESD; //! ESD object\r
76 AliESDfriend *fESDfriend; //! ESD friend\r
71121636 77 const AliESDtrack *fkEsdTrack; //! ESD track\r
7b7a2591 78 AliESDfriendTrack *fFriendTrack; //! ESD friend track\r
79 TObject *fCalibObject; //! calibration objects attached to the ESD friend\r
80 AliTRDtrackV1 *fTrdTrack; //! trdtrack\r
81 AliTRDcluster *fCl; //! cluster\r
82 \r
83 TList *fListHist; //! list of histograms\r
84\r
85 AliTRDCalibraFillHisto *fTRDCalibraFillHisto; //! calibration analyse object\r
86\r
87 TH1I *fNEvents; //! counter \r
88 \r
89 TH1F *fNbTRDTrack; //! nb ESD tracks with TRD clusters\r
90 TH1F *fNbTRDTrackOffline; //! nb ESD tracks with TRD clusters\r
91 TH1F *fNbTRDTrackStandalone; //! nb ESD tracks with TRD clusters\r
92 TH2F *fNbTPCTRDtrack; //! nb TPC and TRD tracks when problems\r
93 \r
94 TH1F *fNbTimeBin; //! nb Time Bin\r
95 TH1F *fNbTimeBinOffline; //! nb Time Bin offline\r
96 TH1F *fNbTimeBinStandalone; //! nb Time Bin standalone\r
97 TH1F *fNbClusters; //! nb Clusters\r
98 TH1F *fNbClustersOffline; //! nb Clusters offline\r
99 TH1F *fNbClustersStandalone; //! nb Clusters standalone\r
100 TH1F *fNbTracklets; //! nb Tracklets\r
101 TH1F *fNbTrackletsOffline; //! nb Tracklets offline\r
102 TH1F *fNbTrackletsStandalone; //! nb Tracklets standalone\r
103 \r
104 TH2I *fCH2dSum; //! CH2d charge all\r
105 TProfile2D *fPH2dSum; //! PH2d PH all\r
106 TH2I *fCH2dSM; //! CH2d per SM\r
107 TProfile2D *fPH2dSM; //! PH2d per SM\r
108\r
109 Bool_t fHisto2d; //! histo\r
110 Bool_t fVector2d; //! vector\r
111 Bool_t fVdriftLinear; //! vdrift Linear\r
112\r
113 Int_t fNbTimeBins; //! number of timebins \r
114\r
115 Short_t fNz[3]; // Nz mode \r
116 Short_t fNrphi[3]; // Nrphi mode\r
117 \r
118 TObjArray *fSelectedTrigger; // Trigger class names accepted/rejected\r
119 Bool_t fRejected; // Reject the selected trigger class\r
120 \r
121 AliESDtrackCuts *fEsdTrackCuts; // Quality cut on the AliESDtrack\r
122 Bool_t fRequirePrimaryVertex; // Primary Vertex\r
123 Int_t fMinNbContributors; // Min number of contributors\r
124 \r
125 Int_t fLow; // lower limit of nb of TRD clusters per tracklet\r
126 Int_t fHigh; // higher limit of nb of TRD clusters per tracklet\r
127 Bool_t fFillZero; // fill zero\r
128 Bool_t fNormalizeNbOfCluster; // normalize with number of clusters (per default not) \r
129 Float_t fRelativeScale; // relative scale for gas gain\r
130 Float_t fMaxCluster; // Maxcluster \r
131 Short_t fNbMaxCluster; // Number of tb at the end\r
132 Bool_t fOfflineTracks; // Only Offline refitted tracks\r
133 Bool_t fStandaloneTracks; // Take only standalone tracks\r
134\r
135 AliTRDCalDet *fCalDetGain; // Calib object gain\r
136\r
137 Int_t fMaxEvent; // max events\r
138 Int_t fCounter; // max events\r
139 Int_t fDebug; //! fDebug\r
140\r
141 AliTRDCalibTask(const AliTRDCalibTask&); \r
142 AliTRDCalibTask& operator=(const AliTRDCalibTask&); \r
143\r
144 ClassDef(AliTRDCalibTask, 1); \r
145};\r
146\r
147#endif\r