]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PWG1/TRD/AliTRDinfoGen.h
add identifiers between MC and no MC data for histo titles
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDinfoGen.h
... / ...
CommitLineData
1#ifndef ALITRDINFOGEN_H
2#define ALITRDINFOGEN_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id: AliTRDinfoGen.h 27496 2008-07-22 08:35:45Z cblume $ */
7
8////////////////////////////////////////////////////////////////////////////
9// //
10// TRD Performance tender wagon //
11// //
12////////////////////////////////////////////////////////////////////////////
13
14#ifndef ALIANALYSISTASKSE_H
15#include "AliAnalysisTaskSE.h"
16#endif
17
18class AliESDEvent;
19class AliMCEvent;
20class AliESDfriend;
21class AliTRDtrackInfo;
22class AliTRDeventInfo;
23class AliTRDv0Info;
24class AliTRDeventCuts;
25class AliESDtrackCuts;
26class TObjArray;
27class TString;
28class TTreeSRedirector;
29class AliTRDReconstructor;
30class AliTRDgeometry;
31class AliTRDinfoGen : public AliAnalysisTaskSE
32{
33public:
34 enum AliTRDinfoGenSteeringBits{
35 kMCdata = BIT(18)
36 ,kUseLocalEvSelection = BIT(19)
37 ,kUseLocalTrkSelection = BIT(20)
38 ,kCollision = BIT(21)
39 ,kOCDB = BIT(22)
40 };
41
42 AliTRDinfoGen();
43 AliTRDinfoGen(char* name);
44 virtual ~AliTRDinfoGen();
45
46 void ConnectInputData(Option_t *opt) {AliAnalysisTaskSE::ConnectInputData(opt);}
47 static Float_t GetEndITS() { return fgkITS;}
48 static Float_t GetEndTPC() { return fgkTPC;}
49 static Float_t GetEndTRD() { return fgkTRD;}
50 Int_t GetNRefFigures() const { return 1;}
51 const char* GetOCDB() const {return fOCDB.Data();}
52 Bool_t GetRefFigure(Int_t ifig);
53 Bool_t Load(const Char_t *fn="AnalysisResults.root", const Char_t *dir="TRD_Performance", const Char_t *name=NULL);
54
55 Bool_t HasMCdata() const { return TestBit(kMCdata);};
56 // temporary until check with AliAnalysisTaskSE collision selection mechanism
57 Bool_t IsInitOCDB() const {return TestBit(kOCDB);}
58 Bool_t IsCollision() const {return TestBit(kCollision);}
59 static const AliTRDReconstructor* Reconstructor() {return fgReconstructor;}
60 static AliTRDgeometry* Geometry() {return fgGeo;}
61 void SetInitOCDB(Bool_t set=kTRUE) {SetBit(kOCDB, set);}
62 void SetCollision(Bool_t set=kTRUE) {SetBit(kCollision, set);}
63 //void SetLocalEvSelection(const AliTRDeventCuts */*cut*/){;}
64 void SetLocalEvSelection(Bool_t use=kTRUE) {SetBit(kUseLocalEvSelection, use);}
65 //void SetLocalTrkSelection(const AliESDtrackCuts */*cut*/){;}
66 void SetLocalTrkSelection(Bool_t use=kTRUE) {SetBit(kUseLocalTrkSelection, use);}
67 void SetLocalV0Selection(const AliTRDv0Info *v0);
68 void SetMCdata(Bool_t mc = kTRUE) {SetBit(kMCdata, mc);}
69 void SetOCDB(const char *ocdb) {fOCDB=ocdb;}
70 void SetTrigger(const Char_t *trigger);
71
72 Bool_t UseLocalEvSelection() const {return TestBit(kUseLocalEvSelection);}
73 Bool_t UseLocalTrkSelection() const {return TestBit(kUseLocalTrkSelection);}
74 void UserCreateOutputObjects();
75 void UserExec(Option_t *);
76
77private:
78 // rough radial limits for TRD
79 static const Float_t fgkITS; // end ITS
80 static const Float_t fgkTPC; // end TPC
81 static const Float_t fgkTRD; // end TRD
82
83 // Trigger selection
84 TString *fEvTrigger; // list of trigger classes separated by space
85 // Vertex selection
86 static const Float_t fgkEvVertexZ;// cm
87 static const Int_t fgkEvVertexN;// cm
88 // Track selection
89 static const Float_t fgkTrkDCAxy; // cm
90 static const Float_t fgkTrkDCAz; // cm
91 static const Int_t fgkNclTPC; // N clusters TPC
92 static const Float_t fgkPt; // min. pt
93 static const Float_t fgkEta; // eta range
94 static AliTRDReconstructor *fgReconstructor; // single instance of TRD reconstructor used by all tasks
95 static AliTRDgeometry *fgGeo; // single instance of TRD geometry used by all tasks
96
97 AliTRDinfoGen(const AliTRDinfoGen&);
98 AliTRDinfoGen& operator=(const AliTRDinfoGen&);
99 TTreeSRedirector* DebugStream();
100
101 AliESDEvent *fESDev; //! ESD event
102 AliMCEvent *fMCev; //! MC event
103 // event/track cuts OO - to be used
104 AliTRDeventCuts *fEventCut; // event cut
105 AliESDtrackCuts *fTrackCut; // track cut
106 AliTRDv0Info *fV0Cut; // v0 cut
107 TString fOCDB; // OCDB location
108 AliTRDtrackInfo *fTrackInfo; //! Track info
109 AliTRDeventInfo *fEventInfo; //! Event info
110 AliTRDv0Info *fV0Info; //! V0 info
111 TObjArray *fTracksBarrel; //! Array of barrel tracks
112 TObjArray *fTracksSA; //! Array of stand alone tracks
113 TObjArray *fTracksKink; //! Array of kink tracks
114 TObjArray *fV0List; //! V0 container
115 TObjArray *fContainer; //! container to store results
116 TTreeSRedirector *fDebugStream; //! debug stream
117
118 ClassDef(AliTRDinfoGen, 7) // entry to TRD analysis train
119};
120#endif