]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/TRD/AliTRDcheckESD.h
- new definition of cluster to track residuals
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDcheckESD.h
CommitLineData
1ee39b3a 1#ifndef ALITRDCHECKESD_H
2#define ALITRDCHECKESD_H
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
8/////////////////////////////////////////////////////
9//
10// Check basic detector results at ESD level
11//
12// Author
13// Alex Bercuci <A.Bercuci@gsi.de>
14//
15//////////////////////////////////////////////////////
16
17#ifndef ALIANALYSISTASK_H
18#include "AliAnalysisTask.h"
19#endif
20
21class AliESDEvent;
22class AliMCEvent;
23class TH1;
24class TObjArray;
25class TGraph;
26class TGraphErrors;
27class AliTRDcheckESD : public AliAnalysisTask {
28public:
29 enum ETRDcheckESDstatus {
a96ac33a 30 kMC = BIT(0) // use MC info
31 ,kLoad = BIT(1) // container from file
1ee39b3a 32 };
33 enum ETRDcheckESDhistos {
34 kNCl = 0 // number of clusters per track
35 ,kTRDstat // TRD tracks status
36 ,kTRDmom // TRD track momentum
fb09668f 37 ,kPtRes // Pt resolution @ vertex for TRD
38 ,kNhistos = 4 // number of histograms
1ee39b3a 39 ,kNgraphs = 6 // number of graphs
40 };
41 enum ETRDcheckESDbits {
42 kTPCout = 1 // track left TPC
43 ,kTRDin // track reach TRD fiducial volume
44 ,kTRDout // track reconstructed in TRD
45 ,kTRDpid // PID calculated in TRD
46 ,kTRDref // track refitted in TRD
1ee39b3a 47 };
48 AliTRDcheckESD();
49 virtual ~AliTRDcheckESD();
50
51 void ConnectInputData(Option_t *);
52 void CreateOutputObjects();
53 TGraph* GetGraph(Int_t id, Option_t *opt="bc");
54 void Exec(Option_t *);
55
56 Bool_t HasMC() const { return TESTBIT(fStatus, kMC);}
a96ac33a 57 Bool_t IsLoad() const { return TESTBIT(fStatus, kLoad);}
1ee39b3a 58 TObjArray* Histos();
59 Bool_t Load(const Char_t *fn, const Char_t *name=0x0);
60 void SetMC(Bool_t mc = kTRUE) { mc ? SETBIT(fStatus, kMC) : CLRBIT(fStatus, kMC);}
61 Bool_t PutTrendValue(const Char_t *name, Double_t val);
62 void Terminate(Option_t *);
63
64private:
65 static const Float_t fgkxTPC; // end radial position of TPC
66 static const Float_t fgkxTOF; // start radial position of TOF
67
68 AliTRDcheckESD(const AliTRDcheckESD&);
69 AliTRDcheckESD& operator=(const AliTRDcheckESD&);
fb09668f 70 Int_t Pdg2Idx(Int_t pdg);
1ee39b3a 71 void Process(TH1 **h, TGraphErrors *g);
72 void PrintStatus(ULong_t s);
73
74 Int_t fStatus; // bit mask for controlling the task
a96ac33a 75 AliESDEvent *fESD; //! ESD event
76 AliMCEvent *fMC; //! MC event
77 TObjArray *fHistos; //! QA histos
1ee39b3a 78 TObjArray *fResults; // QA graphs
79 static FILE *fgFile; //! trend file streamer
80 ClassDef(AliTRDcheckESD, 3) // user oriented TRD analysis based on ESD-MC data
81};
82#endif