]>
Commit | Line | Data |
---|---|---|
ddd1a033 | 1 | #ifndef ALITRDCHECKESD_H |
2 | #define ALITRDCHECKESD_H | |
9a281e83 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id: AliTRDcheckESD.h 27496 2008-07-22 08:35:45Z cblume $ */ | |
7 | ||
ddd1a033 | 8 | ///////////////////////////////////////////////////// |
9 | // | |
10 | // Check basic detector results at ESD level | |
11 | // | |
12 | // Author | |
13 | // Alex Bercuci <A.Bercuci@gsi.de> | |
14 | // | |
15 | ////////////////////////////////////////////////////// | |
9a281e83 | 16 | |
17 | #ifndef ALIANALYSISTASK_H | |
18 | #include "AliAnalysisTask.h" | |
19 | #endif | |
20 | ||
21 | class AliESDEvent; | |
22 | class AliMCEvent; | |
873458ab | 23 | class TH1; |
9a281e83 | 24 | class TObjArray; |
965e895b | 25 | class TGraphErrors; |
9a281e83 | 26 | class AliTRDcheckESD : public AliAnalysisTask { |
27 | public: | |
28 | enum ETRDcheckESDstatus { | |
29 | kMC = BIT(0) | |
30 | }; | |
31 | enum ETRDcheckESDhistos { | |
d12237d6 | 32 | kNCl = 0 // number of clusters per track |
33 | ,kTRDstat // TRD tracks status | |
34 | ,kResults // graphs as results | |
965e895b | 35 | ,kNhistos = 3 // number of histograms |
ddd1a033 | 36 | ,kNgraphs = 4 // number of graphs |
d12237d6 | 37 | }; |
38 | enum ETRDcheckESDbits { | |
39 | kTPCout = 1 // track left TPC | |
40 | ,kTRDin // track reach TRD fiducial volume | |
41 | ,kTRDout // track reconstructed in TRD | |
42 | ,kTRDpid // PID calculated in TRD | |
43 | ,kTRDref // track refitted in TRD | |
44 | ,kNbits = 5 // number of check bits | |
9a281e83 | 45 | }; |
46 | AliTRDcheckESD(); | |
47 | virtual ~AliTRDcheckESD(); | |
48 | ||
965e895b | 49 | void ConnectInputData(Option_t *); |
50 | void CreateOutputObjects(); | |
ea4502f6 | 51 | TGraphErrors* GetGraph(Int_t id, Option_t *opt="bc"); |
965e895b | 52 | void Exec(Option_t *); |
9a281e83 | 53 | |
965e895b | 54 | Bool_t HasMC() const { return TESTBIT(fStatus, kMC);} |
c2fd5953 | 55 | TObjArray* Histos(); |
965e895b | 56 | Bool_t Load(const Char_t *fn, const Char_t *name=0x0); |
57 | void SetMC(Bool_t mc = kTRUE) { mc ? SETBIT(fStatus, kMC) : CLRBIT(fStatus, kMC);} | |
59589fc9 | 58 | Bool_t PutTrendValue(const Char_t *name, Double_t val, Double_t err); |
965e895b | 59 | void Terminate(Option_t *); |
9a281e83 | 60 | |
9a281e83 | 61 | private: |
ddd1a033 | 62 | static const Float_t fgkxTPC; // end radial position of TPC |
63 | static const Float_t fgkxTOF; // start radial position of TOF | |
64 | ||
9a281e83 | 65 | AliTRDcheckESD(const AliTRDcheckESD&); |
66 | AliTRDcheckESD& operator=(const AliTRDcheckESD&); | |
965e895b | 67 | void Process(TH1 **h, TGraphErrors *g); |
e9ed5db1 | 68 | void PrintStatus(ULong_t s); |
965e895b | 69 | |
9a281e83 | 70 | Int_t fStatus; // bit mask for controlling the task |
71 | AliESDEvent *fESD; // ESD event | |
72 | AliMCEvent *fMC; // MC event | |
73 | TObjArray *fHistos; // QA histos | |
59589fc9 | 74 | static FILE *fgFile; //! trend file streamer |
75 | ClassDef(AliTRDcheckESD, 2) // user oriented TRD analysis based on ESD-MC data | |
9a281e83 | 76 | }; |
77 | #endif |