#include "AliMUONQADataMakerRec.h"
#include "AliDAQ.h"
#include "AliMUONTrackerQADataMakerRec.h"
#include "AliMUONTriggerQADataMakerRec.h"
#include "AliQAChecker.h"
#include "AliRawReader.h"
#include "AliRawEventHeaderBase.h"
ClassImp(AliMUONQADataMakerRec)
AliMUONQADataMakerRec::AliMUONQADataMakerRec(Bool_t tracker, Bool_t trigger) :
AliQADataMakerRec(AliQAv1::GetDetName(AliQAv1::kMUON), "MUON Quality Assurance Data Maker"),
fTracker(tracker ? new AliMUONTrackerQADataMakerRec(this) : 0x0),
fTrigger(trigger ? new AliMUONTriggerQADataMakerRec(this) : 0x0)
{
AliInfo(Form("tracker=%d trigger=%d",tracker,trigger));
}
AliMUONQADataMakerRec::~AliMUONQADataMakerRec()
{
delete fTracker;
delete fTrigger;
}
Int_t AliMUONQADataMakerRec::Add2List(TH1 * hist, const Int_t index, AliQAv1::TASKINDEX_t task, const Bool_t expert, const Bool_t image, const Bool_t saveForCorr)
{
TObjArray** list = GetList(task);
if (list)
{
return Add2List(hist,index,list,expert,image,saveForCorr);
}
return -1;
}
void AliMUONQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray** list)
{
ResetEventTrigClasses();
for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++)
{
if (! IsValidEventSpecie(specie, list) ) continue;
SetEventSpecie(AliRecoParam::ConvertIndex(specie));
if ( task == AliQAv1::kRAWS )
{
if ( fTracker ) fTracker->EndOfDetectorCycleRaws(specie,list);
if ( fTrigger ) fTrigger->EndOfDetectorCycleRaws(specie,list);
}
else if ( task == AliQAv1::kRECPOINTS )
{
if ( fTracker ) fTracker->EndOfDetectorCycleRecPoints(specie,list);
if ( fTrigger ) fTrigger->EndOfDetectorCycleRecPoints(specie,list);
}
else if ( task == AliQAv1::kESDS )
{
if ( fTracker ) fTracker->EndOfDetectorCycleESDs(specie,list);
if ( fTrigger ) fTrigger->EndOfDetectorCycleESDs(specie,list);
}
else if ( task == AliQAv1::kDIGITSR )
{
if ( fTracker ) fTracker->EndOfDetectorCycleDigits(specie,list);
if ( fTrigger ) fTrigger->EndOfDetectorCycleDigits(specie,list);
}
else
{
AliFatal(Form("Not implemented for task %s",AliQAv1::GetTaskName(task).Data()));
}
}
AliQAChecker::Instance()->Run(AliQAv1::kMUON,task,list,const_cast<AliDetectorRecoParam*>(GetRecoParam()));
}
TObject* AliMUONQADataMakerRec::GetData(AliQAv1::TASKINDEX_t task, const Int_t index)
{
TObjArray** list = GetList(task);
if (list) return GetData(list,index);
return 0x0;
}
TObjArray** AliMUONQADataMakerRec::GetList(AliQAv1::TASKINDEX_t task)
{
if ( task == AliQAv1::kRAWS )
{
return fRawsQAList;
}
else if ( task == AliQAv1::kDIGITS || task == AliQAv1::kDIGITSR )
{
return fDigitsQAList;
}
else if ( task == AliQAv1::kRECPOINTS )
{
return fRecPointsQAList;
}
else
{
AliFatal(Form("task %s not supported here yet",AliQAv1::GetTaskName(task).Data()));
}
return 0x0;
}
void AliMUONQADataMakerRec::InitRaws()
{
if ( fTracker ) fTracker->InitRaws();
if ( fTrigger ) fTrigger->InitRaws();
ClonePerTrigClass(AliQAv1::kRAWS);
}
void AliMUONQADataMakerRec::InitDigits()
{
if ( fTracker ) fTracker->InitDigits();
if ( fTrigger ) fTrigger->InitDigits();
ClonePerTrigClass(AliQAv1::kDIGITS);
}
void AliMUONQADataMakerRec::InitRecPoints()
{
if ( fTracker ) fTracker->InitRecPoints();
if ( fTrigger ) fTrigger->InitRecPoints();
ClonePerTrigClass(AliQAv1::kRECPOINTS);
}
void AliMUONQADataMakerRec::InitESDs()
{
if ( fTracker ) fTracker->InitESDs();
if ( fTrigger ) fTrigger->InitESDs();
ClonePerTrigClass(AliQAv1::kESDS);
}
void AliMUONQADataMakerRec::MakeRaws(AliRawReader* rawReader)
{
if ( !rawReader || !rawReader->GetDetectorPattern() ) return;
UInt_t clmask = rawReader->GetDetectorPattern()[0];
if ( fTracker && rawReader->GetType() == AliRawEventHeaderBase::kPhysicsEvent )
{
UInt_t mchMask = AliDAQ::DetectorPattern(" MUONTRK ");
if ( clmask & mchMask )
{
rawReader->Reset();
fTracker->MakeRaws(rawReader);
}
}
if ( fTrigger && (rawReader->GetType() == AliRawEventHeaderBase::kPhysicsEvent ||
rawReader->GetType() == AliRawEventHeaderBase::kCalibrationEvent ) )
{
UInt_t mtrMask = AliDAQ::DetectorPattern(" MUONTRG ");
if ( clmask & mtrMask )
{
rawReader->Reset();
fTrigger->MakeRaws(rawReader);
}
}
IncEvCountCycleRaws();
IncEvCountTotalRaws();
}
void AliMUONQADataMakerRec::MakeDigits()
{
AliFatal("Not implemented");
}
void AliMUONQADataMakerRec::MakeDigits(TTree* digitsTree)
{
if ( GetEventSpecie() == AliRecoParam::kCalib ) return;
if ( fTracker ) fTracker->MakeDigits(digitsTree);
if ( fTrigger ) fTrigger->MakeDigits(digitsTree);
IncEvCountCycleDigits();
IncEvCountTotalDigits();
}
void AliMUONQADataMakerRec::MakeRecPoints(TTree* clustersTree)
{
if ( GetEventSpecie() == AliRecoParam::kCalib ) return;
if ( fTracker ) fTracker->MakeRecPoints(clustersTree);
if ( fTrigger ) fTrigger->MakeRecPoints(clustersTree);
IncEvCountCycleRecPoints();
IncEvCountTotalRecPoints();
}
void AliMUONQADataMakerRec::MakeESDs(AliESDEvent* esd)
{
if ( GetEventSpecie() == AliRecoParam::kCalib ) return;
if ( fTracker ) fTracker->MakeESDs(esd);
if ( fTrigger ) fTrigger->MakeESDs(esd);
IncEvCountCycleESDs();
IncEvCountTotalESDs();
}
void AliMUONQADataMakerRec::ResetDetector(AliQAv1::TASKINDEX_t task)
{
for (int spec = 0; spec < AliRecoParam::kNSpecies; ++spec)
{
if (!AliQAv1::Instance()->IsEventSpecieSet(AliRecoParam::ConvertIndex(spec)))
continue;
if ( task == AliQAv1::kRAWS )
{
if (fTracker) fTracker->ResetDetectorRaws(fRawsQAList[spec]);
if (fTrigger) fTrigger->ResetDetectorRaws(fRawsQAList[spec]);
}
else if ( task == AliQAv1::kRECPOINTS )
{
if (fTracker) fTracker->ResetDetectorRecPoints(fRecPointsQAList[spec]);
if (fTrigger) fTrigger->ResetDetectorRecPoints(fRecPointsQAList[spec]);
}
else if ( task == AliQAv1::kESDS )
{
if (fTracker) fTracker->ResetDetectorESDs(fESDsQAList[spec]);
if (fTrigger) fTrigger->ResetDetectorESDs(fESDsQAList[spec]);
}
else if ( task == AliQAv1::kDIGITS )
{
if (fTracker) fTracker->ResetDetectorDigits(fDigitsQAList[spec]);
if (fTrigger) fTrigger->ResetDetectorDigits(fDigitsQAList[spec]);
}
else
{
AliFatal(Form("Not implemented for task %s",AliQAv1::GetTaskName(task).Data()));
}
}
}
void AliMUONQADataMakerRec::StartOfDetectorCycle()
{
}
AliMUONQADataMakerRec.cxx:1 AliMUONQADataMakerRec.cxx:2 AliMUONQADataMakerRec.cxx:3 AliMUONQADataMakerRec.cxx:4 AliMUONQADataMakerRec.cxx:5 AliMUONQADataMakerRec.cxx:6 AliMUONQADataMakerRec.cxx:7 AliMUONQADataMakerRec.cxx:8 AliMUONQADataMakerRec.cxx:9 AliMUONQADataMakerRec.cxx:10 AliMUONQADataMakerRec.cxx:11 AliMUONQADataMakerRec.cxx:12 AliMUONQADataMakerRec.cxx:13 AliMUONQADataMakerRec.cxx:14 AliMUONQADataMakerRec.cxx:15 AliMUONQADataMakerRec.cxx:16 AliMUONQADataMakerRec.cxx:17 AliMUONQADataMakerRec.cxx:18 AliMUONQADataMakerRec.cxx:19 AliMUONQADataMakerRec.cxx:20 AliMUONQADataMakerRec.cxx:21 AliMUONQADataMakerRec.cxx:22 AliMUONQADataMakerRec.cxx:23 AliMUONQADataMakerRec.cxx:24 AliMUONQADataMakerRec.cxx:25 AliMUONQADataMakerRec.cxx:26 AliMUONQADataMakerRec.cxx:27 AliMUONQADataMakerRec.cxx:28 AliMUONQADataMakerRec.cxx:29 AliMUONQADataMakerRec.cxx:30 AliMUONQADataMakerRec.cxx:31 AliMUONQADataMakerRec.cxx:32 AliMUONQADataMakerRec.cxx:33 AliMUONQADataMakerRec.cxx:34 AliMUONQADataMakerRec.cxx:35 AliMUONQADataMakerRec.cxx:36 AliMUONQADataMakerRec.cxx:37 AliMUONQADataMakerRec.cxx:38 AliMUONQADataMakerRec.cxx:39 AliMUONQADataMakerRec.cxx:40 AliMUONQADataMakerRec.cxx:41 AliMUONQADataMakerRec.cxx:42 AliMUONQADataMakerRec.cxx:43 AliMUONQADataMakerRec.cxx:44 AliMUONQADataMakerRec.cxx:45 AliMUONQADataMakerRec.cxx:46 AliMUONQADataMakerRec.cxx:47 AliMUONQADataMakerRec.cxx:48 AliMUONQADataMakerRec.cxx:49 AliMUONQADataMakerRec.cxx:50 AliMUONQADataMakerRec.cxx:51 AliMUONQADataMakerRec.cxx:52 AliMUONQADataMakerRec.cxx:53 AliMUONQADataMakerRec.cxx:54 AliMUONQADataMakerRec.cxx:55 AliMUONQADataMakerRec.cxx:56 AliMUONQADataMakerRec.cxx:57 AliMUONQADataMakerRec.cxx:58 AliMUONQADataMakerRec.cxx:59 AliMUONQADataMakerRec.cxx:60 AliMUONQADataMakerRec.cxx:61 AliMUONQADataMakerRec.cxx:62 AliMUONQADataMakerRec.cxx:63 AliMUONQADataMakerRec.cxx:64 AliMUONQADataMakerRec.cxx:65 AliMUONQADataMakerRec.cxx:66 AliMUONQADataMakerRec.cxx:67 AliMUONQADataMakerRec.cxx:68 AliMUONQADataMakerRec.cxx:69 AliMUONQADataMakerRec.cxx:70 AliMUONQADataMakerRec.cxx:71 AliMUONQADataMakerRec.cxx:72 AliMUONQADataMakerRec.cxx:73 AliMUONQADataMakerRec.cxx:74 AliMUONQADataMakerRec.cxx:75 AliMUONQADataMakerRec.cxx:76 AliMUONQADataMakerRec.cxx:77 AliMUONQADataMakerRec.cxx:78 AliMUONQADataMakerRec.cxx:79 AliMUONQADataMakerRec.cxx:80 AliMUONQADataMakerRec.cxx:81 AliMUONQADataMakerRec.cxx:82 AliMUONQADataMakerRec.cxx:83 AliMUONQADataMakerRec.cxx:84 AliMUONQADataMakerRec.cxx:85 AliMUONQADataMakerRec.cxx:86 AliMUONQADataMakerRec.cxx:87 AliMUONQADataMakerRec.cxx:88 AliMUONQADataMakerRec.cxx:89 AliMUONQADataMakerRec.cxx:90 AliMUONQADataMakerRec.cxx:91 AliMUONQADataMakerRec.cxx:92 AliMUONQADataMakerRec.cxx:93 AliMUONQADataMakerRec.cxx:94 AliMUONQADataMakerRec.cxx:95 AliMUONQADataMakerRec.cxx:96 AliMUONQADataMakerRec.cxx:97 AliMUONQADataMakerRec.cxx:98 AliMUONQADataMakerRec.cxx:99 AliMUONQADataMakerRec.cxx:100 AliMUONQADataMakerRec.cxx:101 AliMUONQADataMakerRec.cxx:102 AliMUONQADataMakerRec.cxx:103 AliMUONQADataMakerRec.cxx:104 AliMUONQADataMakerRec.cxx:105 AliMUONQADataMakerRec.cxx:106 AliMUONQADataMakerRec.cxx:107 AliMUONQADataMakerRec.cxx:108 AliMUONQADataMakerRec.cxx:109 AliMUONQADataMakerRec.cxx:110 AliMUONQADataMakerRec.cxx:111 AliMUONQADataMakerRec.cxx:112 AliMUONQADataMakerRec.cxx:113 AliMUONQADataMakerRec.cxx:114 AliMUONQADataMakerRec.cxx:115 AliMUONQADataMakerRec.cxx:116 AliMUONQADataMakerRec.cxx:117 AliMUONQADataMakerRec.cxx:118 AliMUONQADataMakerRec.cxx:119 AliMUONQADataMakerRec.cxx:120 AliMUONQADataMakerRec.cxx:121 AliMUONQADataMakerRec.cxx:122 AliMUONQADataMakerRec.cxx:123 AliMUONQADataMakerRec.cxx:124 AliMUONQADataMakerRec.cxx:125 AliMUONQADataMakerRec.cxx:126 AliMUONQADataMakerRec.cxx:127 AliMUONQADataMakerRec.cxx:128 AliMUONQADataMakerRec.cxx:129 AliMUONQADataMakerRec.cxx:130 AliMUONQADataMakerRec.cxx:131 AliMUONQADataMakerRec.cxx:132 AliMUONQADataMakerRec.cxx:133 AliMUONQADataMakerRec.cxx:134 AliMUONQADataMakerRec.cxx:135 AliMUONQADataMakerRec.cxx:136 AliMUONQADataMakerRec.cxx:137 AliMUONQADataMakerRec.cxx:138 AliMUONQADataMakerRec.cxx:139 AliMUONQADataMakerRec.cxx:140 AliMUONQADataMakerRec.cxx:141 AliMUONQADataMakerRec.cxx:142 AliMUONQADataMakerRec.cxx:143 AliMUONQADataMakerRec.cxx:144 AliMUONQADataMakerRec.cxx:145 AliMUONQADataMakerRec.cxx:146 AliMUONQADataMakerRec.cxx:147 AliMUONQADataMakerRec.cxx:148 AliMUONQADataMakerRec.cxx:149 AliMUONQADataMakerRec.cxx:150 AliMUONQADataMakerRec.cxx:151 AliMUONQADataMakerRec.cxx:152 AliMUONQADataMakerRec.cxx:153 AliMUONQADataMakerRec.cxx:154 AliMUONQADataMakerRec.cxx:155 AliMUONQADataMakerRec.cxx:156 AliMUONQADataMakerRec.cxx:157 AliMUONQADataMakerRec.cxx:158 AliMUONQADataMakerRec.cxx:159 AliMUONQADataMakerRec.cxx:160 AliMUONQADataMakerRec.cxx:161 AliMUONQADataMakerRec.cxx:162 AliMUONQADataMakerRec.cxx:163 AliMUONQADataMakerRec.cxx:164 AliMUONQADataMakerRec.cxx:165 AliMUONQADataMakerRec.cxx:166 AliMUONQADataMakerRec.cxx:167 AliMUONQADataMakerRec.cxx:168 AliMUONQADataMakerRec.cxx:169 AliMUONQADataMakerRec.cxx:170 AliMUONQADataMakerRec.cxx:171 AliMUONQADataMakerRec.cxx:172 AliMUONQADataMakerRec.cxx:173 AliMUONQADataMakerRec.cxx:174 AliMUONQADataMakerRec.cxx:175 AliMUONQADataMakerRec.cxx:176 AliMUONQADataMakerRec.cxx:177 AliMUONQADataMakerRec.cxx:178 AliMUONQADataMakerRec.cxx:179 AliMUONQADataMakerRec.cxx:180 AliMUONQADataMakerRec.cxx:181 AliMUONQADataMakerRec.cxx:182 AliMUONQADataMakerRec.cxx:183 AliMUONQADataMakerRec.cxx:184 AliMUONQADataMakerRec.cxx:185 AliMUONQADataMakerRec.cxx:186 AliMUONQADataMakerRec.cxx:187 AliMUONQADataMakerRec.cxx:188 AliMUONQADataMakerRec.cxx:189 AliMUONQADataMakerRec.cxx:190 AliMUONQADataMakerRec.cxx:191 AliMUONQADataMakerRec.cxx:192 AliMUONQADataMakerRec.cxx:193 AliMUONQADataMakerRec.cxx:194 AliMUONQADataMakerRec.cxx:195 AliMUONQADataMakerRec.cxx:196 AliMUONQADataMakerRec.cxx:197 AliMUONQADataMakerRec.cxx:198 AliMUONQADataMakerRec.cxx:199 AliMUONQADataMakerRec.cxx:200 AliMUONQADataMakerRec.cxx:201 AliMUONQADataMakerRec.cxx:202 AliMUONQADataMakerRec.cxx:203 AliMUONQADataMakerRec.cxx:204 AliMUONQADataMakerRec.cxx:205 AliMUONQADataMakerRec.cxx:206 AliMUONQADataMakerRec.cxx:207 AliMUONQADataMakerRec.cxx:208 AliMUONQADataMakerRec.cxx:209 AliMUONQADataMakerRec.cxx:210 AliMUONQADataMakerRec.cxx:211 AliMUONQADataMakerRec.cxx:212 AliMUONQADataMakerRec.cxx:213 AliMUONQADataMakerRec.cxx:214 AliMUONQADataMakerRec.cxx:215 AliMUONQADataMakerRec.cxx:216 AliMUONQADataMakerRec.cxx:217 AliMUONQADataMakerRec.cxx:218 AliMUONQADataMakerRec.cxx:219 AliMUONQADataMakerRec.cxx:220 AliMUONQADataMakerRec.cxx:221 AliMUONQADataMakerRec.cxx:222 AliMUONQADataMakerRec.cxx:223 AliMUONQADataMakerRec.cxx:224 AliMUONQADataMakerRec.cxx:225 AliMUONQADataMakerRec.cxx:226 AliMUONQADataMakerRec.cxx:227 AliMUONQADataMakerRec.cxx:228 AliMUONQADataMakerRec.cxx:229 AliMUONQADataMakerRec.cxx:230 AliMUONQADataMakerRec.cxx:231 AliMUONQADataMakerRec.cxx:232 AliMUONQADataMakerRec.cxx:233 AliMUONQADataMakerRec.cxx:234 AliMUONQADataMakerRec.cxx:235 AliMUONQADataMakerRec.cxx:236 AliMUONQADataMakerRec.cxx:237 AliMUONQADataMakerRec.cxx:238 AliMUONQADataMakerRec.cxx:239 AliMUONQADataMakerRec.cxx:240 AliMUONQADataMakerRec.cxx:241 AliMUONQADataMakerRec.cxx:242 AliMUONQADataMakerRec.cxx:243 AliMUONQADataMakerRec.cxx:244 AliMUONQADataMakerRec.cxx:245 AliMUONQADataMakerRec.cxx:246 AliMUONQADataMakerRec.cxx:247 AliMUONQADataMakerRec.cxx:248 AliMUONQADataMakerRec.cxx:249 AliMUONQADataMakerRec.cxx:250 AliMUONQADataMakerRec.cxx:251 AliMUONQADataMakerRec.cxx:252 AliMUONQADataMakerRec.cxx:253 AliMUONQADataMakerRec.cxx:254 AliMUONQADataMakerRec.cxx:255 AliMUONQADataMakerRec.cxx:256 AliMUONQADataMakerRec.cxx:257 AliMUONQADataMakerRec.cxx:258 AliMUONQADataMakerRec.cxx:259 AliMUONQADataMakerRec.cxx:260 AliMUONQADataMakerRec.cxx:261 AliMUONQADataMakerRec.cxx:262 AliMUONQADataMakerRec.cxx:263 AliMUONQADataMakerRec.cxx:264 AliMUONQADataMakerRec.cxx:265 AliMUONQADataMakerRec.cxx:266 AliMUONQADataMakerRec.cxx:267 AliMUONQADataMakerRec.cxx:268 AliMUONQADataMakerRec.cxx:269 AliMUONQADataMakerRec.cxx:270 AliMUONQADataMakerRec.cxx:271 AliMUONQADataMakerRec.cxx:272 AliMUONQADataMakerRec.cxx:273 AliMUONQADataMakerRec.cxx:274 AliMUONQADataMakerRec.cxx:275 AliMUONQADataMakerRec.cxx:276 AliMUONQADataMakerRec.cxx:277 AliMUONQADataMakerRec.cxx:278 AliMUONQADataMakerRec.cxx:279 AliMUONQADataMakerRec.cxx:280 AliMUONQADataMakerRec.cxx:281 AliMUONQADataMakerRec.cxx:282 AliMUONQADataMakerRec.cxx:283 AliMUONQADataMakerRec.cxx:284 AliMUONQADataMakerRec.cxx:285 AliMUONQADataMakerRec.cxx:286 AliMUONQADataMakerRec.cxx:287 AliMUONQADataMakerRec.cxx:288 AliMUONQADataMakerRec.cxx:289 AliMUONQADataMakerRec.cxx:290 AliMUONQADataMakerRec.cxx:291 AliMUONQADataMakerRec.cxx:292 AliMUONQADataMakerRec.cxx:293 AliMUONQADataMakerRec.cxx:294 AliMUONQADataMakerRec.cxx:295 AliMUONQADataMakerRec.cxx:296 AliMUONQADataMakerRec.cxx:297 AliMUONQADataMakerRec.cxx:298 AliMUONQADataMakerRec.cxx:299 AliMUONQADataMakerRec.cxx:300 AliMUONQADataMakerRec.cxx:301 AliMUONQADataMakerRec.cxx:302 AliMUONQADataMakerRec.cxx:303 AliMUONQADataMakerRec.cxx:304 AliMUONQADataMakerRec.cxx:305 AliMUONQADataMakerRec.cxx:306 AliMUONQADataMakerRec.cxx:307 AliMUONQADataMakerRec.cxx:308 AliMUONQADataMakerRec.cxx:309 AliMUONQADataMakerRec.cxx:310 AliMUONQADataMakerRec.cxx:311 AliMUONQADataMakerRec.cxx:312 AliMUONQADataMakerRec.cxx:313 AliMUONQADataMakerRec.cxx:314 AliMUONQADataMakerRec.cxx:315 AliMUONQADataMakerRec.cxx:316 AliMUONQADataMakerRec.cxx:317 AliMUONQADataMakerRec.cxx:318 AliMUONQADataMakerRec.cxx:319 AliMUONQADataMakerRec.cxx:320 AliMUONQADataMakerRec.cxx:321 AliMUONQADataMakerRec.cxx:322 AliMUONQADataMakerRec.cxx:323 AliMUONQADataMakerRec.cxx:324 AliMUONQADataMakerRec.cxx:325