Update of ACORDE-QA-Raw data histograms (now they go from -0.5 to 59.5)
[u/mrichter/AliRoot.git] / MUON / AliMUONVQADataMakerRec.cxx
1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 *                                                                        *
4 * Author: The ALICE Off-line Project.                                    *
5 * Contributors are mentioned in the code where appropriate.              *
6 *                                                                        *
7 * Permission to use, copy, modify and distribute this software and its   *
8 * documentation strictly for non-commercial purposes is hereby granted   *
9 * without fee, provided that the above copyright notice appears in all   *
10 * copies and that both the copyright notice and this permission notice   *
11 * appear in the supporting documentation. The authors make no claims     *
12 * about the suitability of this software for any purpose. It is          *
13 * provided "as is" without express or implied warranty.                  *
14 **************************************************************************/
15
16 // $Id$
17
18 #include "AliMUONVQADataMakerRec.h"
19
20 ///
21 /// \class AliMUONVQADataMakerRec
22 /// 
23 /// Interface for a MUON QADataMakerRec, common to MCH and MTR
24 /// 
25 /// \author Laurent Aphecetche
26
27 /// \cond CLASSIMP
28 ClassImp(AliMUONVQADataMakerRec)
29 /// \endcond
30
31 #include "AliQADataMakerRec.h"
32 #include "AliMUONRecoParam.h"
33 #include "AliCDBManager.h"
34 #include "TH1.h"
35
36 //_____________________________________________________________________________
37 AliMUONVQADataMakerRec::AliMUONVQADataMakerRec(AliQADataMakerRec* master)
38 : fMaster(master)
39 {
40   /// ctor
41 }
42
43 //_____________________________________________________________________________
44 AliMUONVQADataMakerRec::~AliMUONVQADataMakerRec()
45 {
46   /// dtor
47 }
48
49 //_____________________________________________________________________________
50 Int_t 
51 AliMUONVQADataMakerRec::Add2DigitsList(TH1 * hist, const Int_t index, const Bool_t expert , const Bool_t image )
52 {
53   /// fwd
54   return fMaster ? fMaster->Add2DigitsList(hist,index,expert,image) : -1;
55 }
56
57 //_____________________________________________________________________________
58 Int_t 
59 AliMUONVQADataMakerRec::Add2ESDsList(TH1 * hist, const Int_t index, const Bool_t expert , const Bool_t image )
60 {
61   /// fwd
62   return fMaster ? fMaster->Add2ESDsList(hist,index,expert,image) : -1;
63 }
64
65 //_____________________________________________________________________________
66 Int_t 
67 AliMUONVQADataMakerRec::Add2RecPointsList(TH1 * hist, const Int_t index, const Bool_t expert , const Bool_t image )
68 {
69   /// fwd
70   return fMaster ? fMaster->Add2RecPointsList(hist,index,expert,image) : -1;
71 }
72
73 //_____________________________________________________________________________
74 Int_t 
75 AliMUONVQADataMakerRec::Add2RawsList(TH1 * hist, const Int_t index, const Bool_t expert , const Bool_t image , const Bool_t saveForCorr )
76 {
77   /// fwd
78   return fMaster ? fMaster->Add2RawsList(hist,index,expert,image,saveForCorr) : -1;
79 }
80
81 //_____________________________________________________________________________
82 AliRecoParam::EventSpecie_t 
83 AliMUONVQADataMakerRec::CurrentEventSpecie() const
84 {
85   /// fwd
86   return fMaster ? fMaster->GetEventSpecie() : AliRecoParam::kDefault;
87 }
88
89 //_____________________________________________________________________________
90 const AliMUONRecoParam* 
91 AliMUONVQADataMakerRec::GetRecoParam() const
92 {
93   /// fwd
94   return fMaster ? dynamic_cast<const AliMUONRecoParam*>(fMaster->GetRecoParam()) : 0x0;
95 }
96
97 //_____________________________________________________________________________
98 TH1* 
99 AliMUONVQADataMakerRec::GetDigitsData(Int_t index) const
100 {
101   /// fwd
102   return fMaster ? fMaster->GetDigitsData(index) : 0x0;
103 }
104
105 //_____________________________________________________________________________
106 TH1* 
107 AliMUONVQADataMakerRec::GetESDsData(Int_t index) const
108 {
109   /// fwd
110   return fMaster ? fMaster->GetESDsData(index) : 0x0;
111 }
112
113 //_____________________________________________________________________________
114 TH1* 
115 AliMUONVQADataMakerRec::GetRecPointsData(Int_t index) const
116 {
117   /// fwd
118   return fMaster ? fMaster->GetRecPointsData(index) : 0x0;
119 }
120
121 //_____________________________________________________________________________
122 TH1* 
123 AliMUONVQADataMakerRec::GetRawsData(Int_t index) const
124 {
125   /// fwd
126   return fMaster ? fMaster->GetRawsData(index) : 0x0;
127 }
128
129 //_____________________________________________________________________________
130 void 
131 AliMUONVQADataMakerRec::ResetDetector(TObjArray* list)
132 {
133   /// Reset all histograms found in list, that match either trigger or tracker
134
135   TString cn(ClassName());
136   TString pattern;
137   
138   if ( cn.Contains("Trigger") ) pattern = "Trigger";
139   if ( cn.Contains("Tracker") ) pattern = "Tracker";
140   
141   TIter next(list); 
142   TObject* o;
143   while ( (o = next()) ) 
144   {
145     TH1* h = dynamic_cast<TH1*>(o);
146     if ( h ) 
147     {
148       TString hcn(h->ClassName());
149       if ( hcn.Contains(pattern) ) 
150       {
151         h->Reset();
152       }
153     }
154   }
155 }
156
157 //_____________________________________________________________________________
158 Int_t 
159 AliMUONVQADataMakerRec::RunNumber() const
160 {
161   /// fwd
162   return fMaster ? fMaster->GetRun() : -1;
163 }