1 #ifndef ALIITSQADATAMAKERREC_H
2 #define ALIITSQADATAMAKERREC_H
3 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
11 // Checks the quality assurance.
12 // By comparing with reference data
16 // W. Ferrarese + P. Cerello Feb 2008
18 // ESD QA (Tracking and primary vertex)
19 // A. Dainese Jun 2008
21 #include "AliQADataMakerRec.h"
23 class AliDetectorRecoParam;
24 class AliReconstructor;
25 //#include "AliITSDDLModuleMapSDD.h"
28 class AliITSQASPDDataMakerRec;
29 class AliITSQASDDDataMakerRec;
30 class AliITSQASSDDataMakerRec;
34 class AliITSDDLModuleMapSDD;
36 class AliITSQADataMakerRec: public AliQADataMakerRec {
38 friend class AliITSQASPDDataMakerRec; //friend class of SPD QA
39 friend class AliITSQASDDDataMakerRec; //friend class of SDD QA
40 friend class AliITSQASSDDataMakerRec; //friend class of SSD QA
43 AliITSQADataMakerRec(Bool_t kMode = kFALSE, Short_t subDet = 0, Short_t ldc = 0); // kMode = kFALSE (offline), kTRUE (online); subDet = 0 (ALL), 1 (SPD), 2 (SDD), 3 (SSD)
44 AliITSQADataMakerRec(const AliITSQADataMakerRec& qadm);
45 AliITSQADataMakerRec& operator = (const AliITSQADataMakerRec& qac);
46 virtual Int_t GetEventSpecie() const { return AliRecoParam::AConvert(fEventSpecie); }
47 virtual void StartOfDetectorCycle();
48 virtual void StartOfCycle(AliQAv1::TASKINDEX_t task, Int_t run, const Bool_t sameCycle = kFALSE) ;
49 virtual void StartOfCycle(Int_t run){AliQADataMakerRec::StartOfCycle(run);}
50 virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list);
51 // virtual void EndOfDetectorCycle(const char *fgDataName);
52 virtual void InitRaws();
53 virtual void InitDigits();
54 virtual void InitRecPoints();
55 virtual void InitESDs();
56 virtual void MakeRaws(AliRawReader *rawReader);
57 virtual void MakeDigits(){AliWarning("Signature not implemented. A TTree* of digits should be passed as input argument");}
58 virtual void MakeDigits(TTree *digitsTree);
59 virtual void MakeRecPoints(TTree *clustersTree);
60 virtual void MakeESDs(AliESDEvent *esd);
61 virtual void FillRecPoint(AliITSRecPoint rcp);
62 virtual Bool_t ListExists(AliQAv1::TASKINDEX_t task) const;
63 AliQAv1::TASKINDEX_t GetTaskIndexSelected() const {return fSelectedTaskIndex;}
65 virtual void ResetDetector(AliQAv1::TASKINDEX_t task);
67 virtual ~AliITSQADataMakerRec(); // dtor
68 Short_t GetSubDet()const {return fSubDetector;};
69 Int_t GetDetTaskOffset(Int_t subdet,AliQAv1::TASKINDEX_t task,Int_t specie=0);
70 Int_t GetDetTaskHisto(Int_t subdet,AliQAv1::TASKINDEX_t task);
71 TH2F *GetITSGlobalHisto(Int_t layer);
72 static Bool_t AreEqual(Double_t a1, Double_t a2);
74 virtual void SetRunNumber(Int_t runnumber){fRunNumber=runnumber;};
75 Int_t GetRunNumber()const {return fRunNumber;};
77 virtual void SetEventNumber(Int_t eventnumber){fEventNumber=eventnumber;};
78 Int_t GetEventNumber() const {return fEventNumber;};
79 AliITSDDLModuleMapSDD *GetDDLSDDModuleMap();
83 Bool_t fkOnline; //online (1) or offline (0) use
84 Short_t fSubDetector; // subDetector: 0 (ALL), 1 (SPD), 2 (SDD), 3 (SSD)
85 Short_t fLDC; // number of LDC: 0 (one LDC for the whole subdetector)
86 Int_t fRunNumber; //run number
87 Int_t fEventNumber; //Event number (online mode)
88 AliQAv1::TASKINDEX_t fSelectedTaskIndex; //Current TaskIndex
90 AliITSQASPDDataMakerRec *fSPDDataMaker; // SPD Data Maker
91 AliITSQASDDDataMakerRec *fSDDDataMaker; // SDD Data Maker
92 AliITSQASSDDataMakerRec *fSSDDataMaker; // SSD Data Maker
94 ClassDef(AliITSQADataMakerRec,8) // description