#include <TClonesArray.h>
#include <TFile.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TDirectory.h>
#include "AliESDEvent.h"
#include "AliLog.h"
#include "AliACORDEdigit.h"
#include "AliACORDEhit.h"
#include "AliACORDEQADataMakerSim.h"
#include "AliQAChecker.h"
#include "AliACORDERawReader.h"
ClassImp(AliACORDEQADataMakerSim)
AliACORDEQADataMakerSim::AliACORDEQADataMakerSim():AliQADataMakerSim(AliQAv1::GetDetName(AliQAv1::kACORDE), "ACORDE Quality Assurance Data Maker")
{
}
AliACORDEQADataMakerSim::AliACORDEQADataMakerSim(const AliACORDEQADataMakerSim& qadm) :
AliQADataMakerSim()
{
SetName((const char*)qadm.GetName()) ;
SetTitle((const char*)qadm.GetTitle());
}
AliACORDEQADataMakerSim& AliACORDEQADataMakerSim::operator = (const AliACORDEQADataMakerSim& qadm )
{
this->~AliACORDEQADataMakerSim();
new(this) AliACORDEQADataMakerSim(qadm);
return *this;
}
void AliACORDEQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
{
ResetEventTrigClasses();
AliDebug(AliQAv1::GetQADebugLevel(), "ACORDE---->Detector specific actions at END of cycle\n................\n");
AliQAChecker::Instance()->Run(AliQAv1::kACORDE, task, list) ;
}
void AliACORDEQADataMakerSim::StartOfDetectorCycle()
{
AliDebug(AliQAv1::GetQADebugLevel(), "ACORDE---->Detector specific actions at START of cycle\n................\n");
}
void AliACORDEQADataMakerSim::InitHits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F * fHitsACORDE;
fHitsACORDE = new TH1F("ACORDEBitPatternfromHits","Distribution of ACORDE fired modules from HITS",60,1,60);
Add2HitsList(fHitsACORDE,0,!expert,image);
const char *acoModule[60]={"0_0","0_1","0_2","0_3","0_4","0_5","0_6","0_7","0_8","0_9",
"1_0","1_1","1_2","1_3","1_4","1_5","1_6","1_7","1_8","1_9",
"2_0","2_1","2_2","2_3","2_4","2_5","2_6","2_7","2_8","2_9",
"3_0","3_1","3_2","3_3","3_4","3_5","3_6","3_7","3_8","3_9",
"4_0","4_1","4_2","4_3","4_4","4_5","4_6","4_7","4_8","4_9",
"5_0","5_1","5_2","5_3","5_4","5_5","5_6","5_7","5_8","5_9"};
fHitsACORDE->SetXTitle("Modules");
fHitsACORDE->SetYTitle("Counts");
for (Int_t i=0;i<60;i++)
{
fHitsACORDE->GetXaxis()->SetBinLabel(i+1,acoModule[i]);
}
ClonePerTrigClass(AliQAv1::kHITS);
}
void AliACORDEQADataMakerSim::InitDigits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F * fhDigitsModule;
fhDigitsModule = new TH1F("ACORDEBitPatternfromDigits","Distribution of ACORDE fired modules from DIGITS",60,1,60);
Add2DigitsList(fhDigitsModule,0,!expert,image);
const char *acoModule[60]={"0_0","0_1","0_2","0_3","0_4","0_5","0_6","0_7","0_8","0_9",
"1_0","1_1","1_2","1_3","1_4","1_5","1_6","1_7","1_8","1_9",
"2_0","2_1","2_2","2_3","2_4","2_5","2_6","2_7","2_8","2_9",
"3_0","3_1","3_2","3_3","3_4","3_5","3_6","3_7","3_8","3_9",
"4_0","4_1","4_2","4_3","4_4","4_5","4_6","4_7","4_8","4_9",
"5_0","5_1","5_2","5_3","5_4","5_5","5_6","5_7","5_8","5_9"};
fhDigitsModule->SetXTitle("Modules");
fhDigitsModule->SetYTitle("Counts");
for (Int_t i=0;i<60;i++)
{
fhDigitsModule->GetXaxis()->SetBinLabel(i+1,acoModule[i]);
}
ClonePerTrigClass(AliQAv1::kDIGITS);
}
void AliACORDEQADataMakerSim::MakeHits(TTree *hitTree)
{
IncEvCountCycleHits();
IncEvCountTotalHits();
if (fHitsArray)
fHitsArray->Clear() ;
else
fHitsArray = new TClonesArray("AliACORDEhit",1000);
TBranch * branch = hitTree->GetBranch("ACORDE");
if (!branch)
{
AliWarning("ACORDE branch in Hit Tree not found");
} else
{
branch->SetAddress(&fHitsArray);
for(Int_t track = 0 ; track < branch->GetEntries() ; track++)
{
branch->GetEntry(track);
for(Int_t ihit=0 ; ihit < fHitsArray->GetEntriesFast() ; ihit++)
{
AliACORDEhit *AcoHit = (AliACORDEhit*) fHitsArray->UncheckedAt(ihit);
if(!AcoHit)
{
AliError("The unchecked hit doesn't exist");
continue ;
}
FillHitsData(0,AcoHit->GetModule());
}
}
}
}
void AliACORDEQADataMakerSim::MakeDigits( TTree *digitsTree)
{
IncEvCountCycleDigits();
IncEvCountTotalDigits();
if (fDigitsArray)
fDigitsArray->Clear() ;
else
fDigitsArray = new TClonesArray("AliACORDEdigit",1000);
TBranch * branch = digitsTree->GetBranch("ACORDEdigit");
if (!branch) {
AliWarning("ACORDE branch in Digits Tree not found");
} else {
branch->SetAddress(&fDigitsArray);
for(Int_t track = 0 ; track < branch->GetEntries() ; track++) {
branch->GetEntry(track);
for(Int_t idigit = 0 ; idigit < fDigitsArray->GetEntriesFast() ; idigit++) {
AliACORDEdigit *AcoDigit = (AliACORDEdigit*) fDigitsArray->UncheckedAt(idigit);
if (!AcoDigit) {
AliError("The unchecked digit doesn't exist");
continue ;
}
FillDigitsData(0,AcoDigit->GetModule());
}
}
}
}
AliACORDEQADataMakerSim.cxx:1 AliACORDEQADataMakerSim.cxx:2 AliACORDEQADataMakerSim.cxx:3 AliACORDEQADataMakerSim.cxx:4 AliACORDEQADataMakerSim.cxx:5 AliACORDEQADataMakerSim.cxx:6 AliACORDEQADataMakerSim.cxx:7 AliACORDEQADataMakerSim.cxx:8 AliACORDEQADataMakerSim.cxx:9 AliACORDEQADataMakerSim.cxx:10 AliACORDEQADataMakerSim.cxx:11 AliACORDEQADataMakerSim.cxx:12 AliACORDEQADataMakerSim.cxx:13 AliACORDEQADataMakerSim.cxx:14 AliACORDEQADataMakerSim.cxx:15 AliACORDEQADataMakerSim.cxx:16 AliACORDEQADataMakerSim.cxx:17 AliACORDEQADataMakerSim.cxx:18 AliACORDEQADataMakerSim.cxx:19 AliACORDEQADataMakerSim.cxx:20 AliACORDEQADataMakerSim.cxx:21 AliACORDEQADataMakerSim.cxx:22 AliACORDEQADataMakerSim.cxx:23 AliACORDEQADataMakerSim.cxx:24 AliACORDEQADataMakerSim.cxx:25 AliACORDEQADataMakerSim.cxx:26 AliACORDEQADataMakerSim.cxx:27 AliACORDEQADataMakerSim.cxx:28 AliACORDEQADataMakerSim.cxx:29 AliACORDEQADataMakerSim.cxx:30 AliACORDEQADataMakerSim.cxx:31 AliACORDEQADataMakerSim.cxx:32 AliACORDEQADataMakerSim.cxx:33 AliACORDEQADataMakerSim.cxx:34 AliACORDEQADataMakerSim.cxx:35 AliACORDEQADataMakerSim.cxx:36 AliACORDEQADataMakerSim.cxx:37 AliACORDEQADataMakerSim.cxx:38 AliACORDEQADataMakerSim.cxx:39 AliACORDEQADataMakerSim.cxx:40 AliACORDEQADataMakerSim.cxx:41 AliACORDEQADataMakerSim.cxx:42 AliACORDEQADataMakerSim.cxx:43 AliACORDEQADataMakerSim.cxx:44 AliACORDEQADataMakerSim.cxx:45 AliACORDEQADataMakerSim.cxx:46 AliACORDEQADataMakerSim.cxx:47 AliACORDEQADataMakerSim.cxx:48 AliACORDEQADataMakerSim.cxx:49 AliACORDEQADataMakerSim.cxx:50 AliACORDEQADataMakerSim.cxx:51 AliACORDEQADataMakerSim.cxx:52 AliACORDEQADataMakerSim.cxx:53 AliACORDEQADataMakerSim.cxx:54 AliACORDEQADataMakerSim.cxx:55 AliACORDEQADataMakerSim.cxx:56 AliACORDEQADataMakerSim.cxx:57 AliACORDEQADataMakerSim.cxx:58 AliACORDEQADataMakerSim.cxx:59 AliACORDEQADataMakerSim.cxx:60 AliACORDEQADataMakerSim.cxx:61 AliACORDEQADataMakerSim.cxx:62 AliACORDEQADataMakerSim.cxx:63 AliACORDEQADataMakerSim.cxx:64 AliACORDEQADataMakerSim.cxx:65 AliACORDEQADataMakerSim.cxx:66 AliACORDEQADataMakerSim.cxx:67 AliACORDEQADataMakerSim.cxx:68 AliACORDEQADataMakerSim.cxx:69 AliACORDEQADataMakerSim.cxx:70 AliACORDEQADataMakerSim.cxx:71 AliACORDEQADataMakerSim.cxx:72 AliACORDEQADataMakerSim.cxx:73 AliACORDEQADataMakerSim.cxx:74 AliACORDEQADataMakerSim.cxx:75 AliACORDEQADataMakerSim.cxx:76 AliACORDEQADataMakerSim.cxx:77 AliACORDEQADataMakerSim.cxx:78 AliACORDEQADataMakerSim.cxx:79 AliACORDEQADataMakerSim.cxx:80 AliACORDEQADataMakerSim.cxx:81 AliACORDEQADataMakerSim.cxx:82 AliACORDEQADataMakerSim.cxx:83 AliACORDEQADataMakerSim.cxx:84 AliACORDEQADataMakerSim.cxx:85 AliACORDEQADataMakerSim.cxx:86 AliACORDEQADataMakerSim.cxx:87 AliACORDEQADataMakerSim.cxx:88 AliACORDEQADataMakerSim.cxx:89 AliACORDEQADataMakerSim.cxx:90 AliACORDEQADataMakerSim.cxx:91 AliACORDEQADataMakerSim.cxx:92 AliACORDEQADataMakerSim.cxx:93 AliACORDEQADataMakerSim.cxx:94 AliACORDEQADataMakerSim.cxx:95 AliACORDEQADataMakerSim.cxx:96 AliACORDEQADataMakerSim.cxx:97 AliACORDEQADataMakerSim.cxx:98 AliACORDEQADataMakerSim.cxx:99 AliACORDEQADataMakerSim.cxx:100 AliACORDEQADataMakerSim.cxx:101 AliACORDEQADataMakerSim.cxx:102 AliACORDEQADataMakerSim.cxx:103 AliACORDEQADataMakerSim.cxx:104 AliACORDEQADataMakerSim.cxx:105 AliACORDEQADataMakerSim.cxx:106 AliACORDEQADataMakerSim.cxx:107 AliACORDEQADataMakerSim.cxx:108 AliACORDEQADataMakerSim.cxx:109 AliACORDEQADataMakerSim.cxx:110 AliACORDEQADataMakerSim.cxx:111 AliACORDEQADataMakerSim.cxx:112 AliACORDEQADataMakerSim.cxx:113 AliACORDEQADataMakerSim.cxx:114 AliACORDEQADataMakerSim.cxx:115 AliACORDEQADataMakerSim.cxx:116 AliACORDEQADataMakerSim.cxx:117 AliACORDEQADataMakerSim.cxx:118 AliACORDEQADataMakerSim.cxx:119 AliACORDEQADataMakerSim.cxx:120 AliACORDEQADataMakerSim.cxx:121 AliACORDEQADataMakerSim.cxx:122 AliACORDEQADataMakerSim.cxx:123 AliACORDEQADataMakerSim.cxx:124 AliACORDEQADataMakerSim.cxx:125 AliACORDEQADataMakerSim.cxx:126 AliACORDEQADataMakerSim.cxx:127 AliACORDEQADataMakerSim.cxx:128 AliACORDEQADataMakerSim.cxx:129 AliACORDEQADataMakerSim.cxx:130 AliACORDEQADataMakerSim.cxx:131 AliACORDEQADataMakerSim.cxx:132 AliACORDEQADataMakerSim.cxx:133 AliACORDEQADataMakerSim.cxx:134 AliACORDEQADataMakerSim.cxx:135 AliACORDEQADataMakerSim.cxx:136 AliACORDEQADataMakerSim.cxx:137 AliACORDEQADataMakerSim.cxx:138 AliACORDEQADataMakerSim.cxx:139 AliACORDEQADataMakerSim.cxx:140 AliACORDEQADataMakerSim.cxx:141 AliACORDEQADataMakerSim.cxx:142 AliACORDEQADataMakerSim.cxx:143 AliACORDEQADataMakerSim.cxx:144 AliACORDEQADataMakerSim.cxx:145 AliACORDEQADataMakerSim.cxx:146 AliACORDEQADataMakerSim.cxx:147 AliACORDEQADataMakerSim.cxx:148 AliACORDEQADataMakerSim.cxx:149 AliACORDEQADataMakerSim.cxx:150 AliACORDEQADataMakerSim.cxx:151 AliACORDEQADataMakerSim.cxx:152 AliACORDEQADataMakerSim.cxx:153 AliACORDEQADataMakerSim.cxx:154 AliACORDEQADataMakerSim.cxx:155 AliACORDEQADataMakerSim.cxx:156 AliACORDEQADataMakerSim.cxx:157 AliACORDEQADataMakerSim.cxx:158 AliACORDEQADataMakerSim.cxx:159 AliACORDEQADataMakerSim.cxx:160 AliACORDEQADataMakerSim.cxx:161 AliACORDEQADataMakerSim.cxx:162 AliACORDEQADataMakerSim.cxx:163 AliACORDEQADataMakerSim.cxx:164 AliACORDEQADataMakerSim.cxx:165 AliACORDEQADataMakerSim.cxx:166 AliACORDEQADataMakerSim.cxx:167 AliACORDEQADataMakerSim.cxx:168 AliACORDEQADataMakerSim.cxx:169 AliACORDEQADataMakerSim.cxx:170 AliACORDEQADataMakerSim.cxx:171 AliACORDEQADataMakerSim.cxx:172 AliACORDEQADataMakerSim.cxx:173 AliACORDEQADataMakerSim.cxx:174 AliACORDEQADataMakerSim.cxx:175 AliACORDEQADataMakerSim.cxx:176 AliACORDEQADataMakerSim.cxx:177 AliACORDEQADataMakerSim.cxx:178 AliACORDEQADataMakerSim.cxx:179 AliACORDEQADataMakerSim.cxx:180 AliACORDEQADataMakerSim.cxx:181 AliACORDEQADataMakerSim.cxx:182 AliACORDEQADataMakerSim.cxx:183 AliACORDEQADataMakerSim.cxx:184 AliACORDEQADataMakerSim.cxx:185 AliACORDEQADataMakerSim.cxx:186 AliACORDEQADataMakerSim.cxx:187 AliACORDEQADataMakerSim.cxx:188 AliACORDEQADataMakerSim.cxx:189 AliACORDEQADataMakerSim.cxx:190 AliACORDEQADataMakerSim.cxx:191 AliACORDEQADataMakerSim.cxx:192 AliACORDEQADataMakerSim.cxx:193 AliACORDEQADataMakerSim.cxx:194 AliACORDEQADataMakerSim.cxx:195 AliACORDEQADataMakerSim.cxx:196 AliACORDEQADataMakerSim.cxx:197 AliACORDEQADataMakerSim.cxx:198 AliACORDEQADataMakerSim.cxx:199 AliACORDEQADataMakerSim.cxx:200 AliACORDEQADataMakerSim.cxx:201 AliACORDEQADataMakerSim.cxx:202 AliACORDEQADataMakerSim.cxx:203 AliACORDEQADataMakerSim.cxx:204 AliACORDEQADataMakerSim.cxx:205 AliACORDEQADataMakerSim.cxx:206 AliACORDEQADataMakerSim.cxx:207 AliACORDEQADataMakerSim.cxx:208 AliACORDEQADataMakerSim.cxx:209 AliACORDEQADataMakerSim.cxx:210 AliACORDEQADataMakerSim.cxx:211