#include <TClonesArray.h>
#include <TFile.h>
#include <TH1F.h>
#include <TH1I.h>
#include <TH2F.h>
#include <TTree.h>
#include "AliESDCaloCluster.h"
#include "AliLog.h"
#include "AliPHOSDigit.h"
#include "AliPHOSHit.h"
#include "AliPHOSQADataMakerSim.h"
#include "AliQAChecker.h"
ClassImp(AliPHOSQADataMakerSim)
AliPHOSQADataMakerSim::AliPHOSQADataMakerSim() :
AliQADataMakerSim(AliQAv1::GetDetName(AliQAv1::kPHOS), "PHOS Quality Assurance Data Maker")
{
}
AliPHOSQADataMakerSim::AliPHOSQADataMakerSim(const AliPHOSQADataMakerSim& qadm) :
AliQADataMakerSim()
{
SetName((const char*)qadm.GetName()) ;
SetTitle((const char*)qadm.GetTitle());
}
AliPHOSQADataMakerSim& AliPHOSQADataMakerSim::operator = (const AliPHOSQADataMakerSim& qadm )
{
this->~AliPHOSQADataMakerSim();
new(this) AliPHOSQADataMakerSim(qadm);
return *this;
}
void AliPHOSQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
{
AliQAChecker::Instance()->Run(AliQAv1::kPHOS, task, list) ;
}
void AliPHOSQADataMakerSim::InitHits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F * h0 = new TH1F("hPhosHits", "Hits energy distribution in PHOS;Energy [MeV];Counts", 100, 0., 100.) ;
h0->Sumw2() ;
Add2HitsList(h0, kHits, !expert, image) ;
TH1I * h1 = new TH1I("hPhosHitsMul", "Hits multiplicity distribution in PHOS;# of Hits;Entries", 500, 0., 10000) ;
h1->Sumw2() ;
Add2HitsList(h1, kHitsMul, !expert, image) ;
ClonePerTrigClass(AliQAv1::kHITS);
}
void AliPHOSQADataMakerSim::InitDigits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1I * h0 = new TH1I("hPhosDigits", "Digits amplitude distribution in PHOS;Amplitude [ADC counts];Counts", 500, 0, 1000) ;
h0->Sumw2() ;
Add2DigitsList(h0, kDigits, !expert, image) ;
TH1I * h1 = new TH1I("hPhosDigitsMul", "Digits multiplicity distribution in PHOS;# of Digits;Entries", 2000, 0, 10000) ;
h1->Sumw2() ;
Add2DigitsList(h1, kDigitsMul, !expert, image) ;
ClonePerTrigClass(AliQAv1::kDIGITS);
}
void AliPHOSQADataMakerSim::InitSDigits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F * h0 = new TH1F("hPhosSDigits", "SDigits energy distribution in PHOS; Energy [MeV];Counts", 500, 0., 1000.) ;
h0->Sumw2() ;
Add2SDigitsList(h0, kSDigits, !expert, image) ;
TH1I * h1 = new TH1I("hPhosSDigitsMul", "SDigits multiplicity distribution in PHOS;# of SDigits;Entries", 500, 0, 1000) ;
h1->Sumw2() ;
Add2SDigitsList(h1, kSDigitsMul, !expert, image) ;
ClonePerTrigClass(AliQAv1::kSDIGITS);
}
void AliPHOSQADataMakerSim::MakeHits()
{
TIter next(fHitsArray) ;
AliPHOSHit * hit ;
while ( (hit = dynamic_cast<AliPHOSHit *>(next())) ) {
FillHitsData(kHits, hit->GetEnergy()) ;
}
}
void AliPHOSQADataMakerSim::MakeHits(TTree * hitTree)
{
if (fHitsArray)
fHitsArray->Clear() ;
else
fHitsArray = new TClonesArray("AliPHOSHit", 1000);
TBranch * branch = hitTree->GetBranch("PHOS") ;
if ( ! branch ) { AliWarning("PHOS branch in Hit Tree not found"); return;}
Int_t nHits = 0;
branch->SetAddress(&fHitsArray) ;
for (Int_t ientry = 0 ; ientry < branch->GetEntries() ; ientry++) {
branch->GetEntry(ientry) ;
nHits += fHitsArray->GetEntriesFast();
MakeHits() ;
fHitsArray->Clear();
}
FillHitsData(1,nHits) ;
IncEvCountCycleHits();
IncEvCountTotalHits();
}
void AliPHOSQADataMakerSim::MakeDigits()
{
FillDigitsData(1,fDigitsArray->GetEntriesFast()) ;
TIter next(fDigitsArray) ;
AliPHOSDigit * digit ;
while ( (digit = dynamic_cast<AliPHOSDigit *>(next())) ) {
FillDigitsData(kDigits, digit->GetEnergy()) ;
}
}
void AliPHOSQADataMakerSim::MakeDigits(TTree * digitTree)
{
if (fDigitsArray)
fDigitsArray->Clear() ;
else
fDigitsArray = new TClonesArray("AliPHOSDigit", 1000) ;
TBranch * branch = digitTree->GetBranch("PHOS") ;
if ( ! branch ) {AliWarning("PHOS branch in Digit Tree not found"); return;}
branch->SetAddress(&fDigitsArray) ;
branch->GetEntry(0) ;
MakeDigits() ;
IncEvCountCycleDigits();
IncEvCountTotalDigits();
}
void AliPHOSQADataMakerSim::MakeSDigits()
{
FillSDigitsData(1,fSDigitsArray->GetEntriesFast()) ;
TIter next(fSDigitsArray) ;
AliPHOSDigit * sdigit ;
while ( (sdigit = dynamic_cast<AliPHOSDigit *>(next())) ) {
FillSDigitsData(kSDigits, sdigit->GetEnergy()) ;
}
}
void AliPHOSQADataMakerSim::MakeSDigits(TTree * sdigitTree)
{
if (fSDigitsArray)
fSDigitsArray->Clear() ;
else
fSDigitsArray = new TClonesArray("AliPHOSDigit", 1000) ;
TBranch * branch = sdigitTree->GetBranch("PHOS") ;
if ( ! branch ) {AliWarning("PHOS branch in SDigit Tree not found"); return;}
branch->SetAddress(&fSDigitsArray) ;
branch->GetEntry(0) ;
MakeSDigits() ;
IncEvCountCycleSDigits();
IncEvCountTotalSDigits();
}
void AliPHOSQADataMakerSim::StartOfDetectorCycle()
{
}
AliPHOSQADataMakerSim.cxx:1 AliPHOSQADataMakerSim.cxx:2 AliPHOSQADataMakerSim.cxx:3 AliPHOSQADataMakerSim.cxx:4 AliPHOSQADataMakerSim.cxx:5 AliPHOSQADataMakerSim.cxx:6 AliPHOSQADataMakerSim.cxx:7 AliPHOSQADataMakerSim.cxx:8 AliPHOSQADataMakerSim.cxx:9 AliPHOSQADataMakerSim.cxx:10 AliPHOSQADataMakerSim.cxx:11 AliPHOSQADataMakerSim.cxx:12 AliPHOSQADataMakerSim.cxx:13 AliPHOSQADataMakerSim.cxx:14 AliPHOSQADataMakerSim.cxx:15 AliPHOSQADataMakerSim.cxx:16 AliPHOSQADataMakerSim.cxx:17 AliPHOSQADataMakerSim.cxx:18 AliPHOSQADataMakerSim.cxx:19 AliPHOSQADataMakerSim.cxx:20 AliPHOSQADataMakerSim.cxx:21 AliPHOSQADataMakerSim.cxx:22 AliPHOSQADataMakerSim.cxx:23 AliPHOSQADataMakerSim.cxx:24 AliPHOSQADataMakerSim.cxx:25 AliPHOSQADataMakerSim.cxx:26 AliPHOSQADataMakerSim.cxx:27 AliPHOSQADataMakerSim.cxx:28 AliPHOSQADataMakerSim.cxx:29 AliPHOSQADataMakerSim.cxx:30 AliPHOSQADataMakerSim.cxx:31 AliPHOSQADataMakerSim.cxx:32 AliPHOSQADataMakerSim.cxx:33 AliPHOSQADataMakerSim.cxx:34 AliPHOSQADataMakerSim.cxx:35 AliPHOSQADataMakerSim.cxx:36 AliPHOSQADataMakerSim.cxx:37 AliPHOSQADataMakerSim.cxx:38 AliPHOSQADataMakerSim.cxx:39 AliPHOSQADataMakerSim.cxx:40 AliPHOSQADataMakerSim.cxx:41 AliPHOSQADataMakerSim.cxx:42 AliPHOSQADataMakerSim.cxx:43 AliPHOSQADataMakerSim.cxx:44 AliPHOSQADataMakerSim.cxx:45 AliPHOSQADataMakerSim.cxx:46 AliPHOSQADataMakerSim.cxx:47 AliPHOSQADataMakerSim.cxx:48 AliPHOSQADataMakerSim.cxx:49 AliPHOSQADataMakerSim.cxx:50 AliPHOSQADataMakerSim.cxx:51 AliPHOSQADataMakerSim.cxx:52 AliPHOSQADataMakerSim.cxx:53 AliPHOSQADataMakerSim.cxx:54 AliPHOSQADataMakerSim.cxx:55 AliPHOSQADataMakerSim.cxx:56 AliPHOSQADataMakerSim.cxx:57 AliPHOSQADataMakerSim.cxx:58 AliPHOSQADataMakerSim.cxx:59 AliPHOSQADataMakerSim.cxx:60 AliPHOSQADataMakerSim.cxx:61 AliPHOSQADataMakerSim.cxx:62 AliPHOSQADataMakerSim.cxx:63 AliPHOSQADataMakerSim.cxx:64 AliPHOSQADataMakerSim.cxx:65 AliPHOSQADataMakerSim.cxx:66 AliPHOSQADataMakerSim.cxx:67 AliPHOSQADataMakerSim.cxx:68 AliPHOSQADataMakerSim.cxx:69 AliPHOSQADataMakerSim.cxx:70 AliPHOSQADataMakerSim.cxx:71 AliPHOSQADataMakerSim.cxx:72 AliPHOSQADataMakerSim.cxx:73 AliPHOSQADataMakerSim.cxx:74 AliPHOSQADataMakerSim.cxx:75 AliPHOSQADataMakerSim.cxx:76 AliPHOSQADataMakerSim.cxx:77 AliPHOSQADataMakerSim.cxx:78 AliPHOSQADataMakerSim.cxx:79 AliPHOSQADataMakerSim.cxx:80 AliPHOSQADataMakerSim.cxx:81 AliPHOSQADataMakerSim.cxx:82 AliPHOSQADataMakerSim.cxx:83 AliPHOSQADataMakerSim.cxx:84 AliPHOSQADataMakerSim.cxx:85 AliPHOSQADataMakerSim.cxx:86 AliPHOSQADataMakerSim.cxx:87 AliPHOSQADataMakerSim.cxx:88 AliPHOSQADataMakerSim.cxx:89 AliPHOSQADataMakerSim.cxx:90 AliPHOSQADataMakerSim.cxx:91 AliPHOSQADataMakerSim.cxx:92 AliPHOSQADataMakerSim.cxx:93 AliPHOSQADataMakerSim.cxx:94 AliPHOSQADataMakerSim.cxx:95 AliPHOSQADataMakerSim.cxx:96 AliPHOSQADataMakerSim.cxx:97 AliPHOSQADataMakerSim.cxx:98 AliPHOSQADataMakerSim.cxx:99 AliPHOSQADataMakerSim.cxx:100 AliPHOSQADataMakerSim.cxx:101 AliPHOSQADataMakerSim.cxx:102 AliPHOSQADataMakerSim.cxx:103 AliPHOSQADataMakerSim.cxx:104 AliPHOSQADataMakerSim.cxx:105 AliPHOSQADataMakerSim.cxx:106 AliPHOSQADataMakerSim.cxx:107 AliPHOSQADataMakerSim.cxx:108 AliPHOSQADataMakerSim.cxx:109 AliPHOSQADataMakerSim.cxx:110 AliPHOSQADataMakerSim.cxx:111 AliPHOSQADataMakerSim.cxx:112 AliPHOSQADataMakerSim.cxx:113 AliPHOSQADataMakerSim.cxx:114 AliPHOSQADataMakerSim.cxx:115 AliPHOSQADataMakerSim.cxx:116 AliPHOSQADataMakerSim.cxx:117 AliPHOSQADataMakerSim.cxx:118 AliPHOSQADataMakerSim.cxx:119 AliPHOSQADataMakerSim.cxx:120 AliPHOSQADataMakerSim.cxx:121 AliPHOSQADataMakerSim.cxx:122 AliPHOSQADataMakerSim.cxx:123 AliPHOSQADataMakerSim.cxx:124 AliPHOSQADataMakerSim.cxx:125 AliPHOSQADataMakerSim.cxx:126 AliPHOSQADataMakerSim.cxx:127 AliPHOSQADataMakerSim.cxx:128 AliPHOSQADataMakerSim.cxx:129 AliPHOSQADataMakerSim.cxx:130 AliPHOSQADataMakerSim.cxx:131 AliPHOSQADataMakerSim.cxx:132 AliPHOSQADataMakerSim.cxx:133 AliPHOSQADataMakerSim.cxx:134 AliPHOSQADataMakerSim.cxx:135 AliPHOSQADataMakerSim.cxx:136 AliPHOSQADataMakerSim.cxx:137 AliPHOSQADataMakerSim.cxx:138 AliPHOSQADataMakerSim.cxx:139 AliPHOSQADataMakerSim.cxx:140 AliPHOSQADataMakerSim.cxx:141 AliPHOSQADataMakerSim.cxx:142 AliPHOSQADataMakerSim.cxx:143 AliPHOSQADataMakerSim.cxx:144 AliPHOSQADataMakerSim.cxx:145 AliPHOSQADataMakerSim.cxx:146 AliPHOSQADataMakerSim.cxx:147 AliPHOSQADataMakerSim.cxx:148 AliPHOSQADataMakerSim.cxx:149 AliPHOSQADataMakerSim.cxx:150 AliPHOSQADataMakerSim.cxx:151 AliPHOSQADataMakerSim.cxx:152 AliPHOSQADataMakerSim.cxx:153 AliPHOSQADataMakerSim.cxx:154 AliPHOSQADataMakerSim.cxx:155 AliPHOSQADataMakerSim.cxx:156 AliPHOSQADataMakerSim.cxx:157 AliPHOSQADataMakerSim.cxx:158 AliPHOSQADataMakerSim.cxx:159 AliPHOSQADataMakerSim.cxx:160 AliPHOSQADataMakerSim.cxx:161 AliPHOSQADataMakerSim.cxx:162 AliPHOSQADataMakerSim.cxx:163 AliPHOSQADataMakerSim.cxx:164 AliPHOSQADataMakerSim.cxx:165 AliPHOSQADataMakerSim.cxx:166 AliPHOSQADataMakerSim.cxx:167 AliPHOSQADataMakerSim.cxx:168 AliPHOSQADataMakerSim.cxx:169 AliPHOSQADataMakerSim.cxx:170 AliPHOSQADataMakerSim.cxx:171 AliPHOSQADataMakerSim.cxx:172 AliPHOSQADataMakerSim.cxx:173 AliPHOSQADataMakerSim.cxx:174 AliPHOSQADataMakerSim.cxx:175 AliPHOSQADataMakerSim.cxx:176 AliPHOSQADataMakerSim.cxx:177 AliPHOSQADataMakerSim.cxx:178 AliPHOSQADataMakerSim.cxx:179 AliPHOSQADataMakerSim.cxx:180 AliPHOSQADataMakerSim.cxx:181 AliPHOSQADataMakerSim.cxx:182 AliPHOSQADataMakerSim.cxx:183 AliPHOSQADataMakerSim.cxx:184 AliPHOSQADataMakerSim.cxx:185 AliPHOSQADataMakerSim.cxx:186 AliPHOSQADataMakerSim.cxx:187 AliPHOSQADataMakerSim.cxx:188 AliPHOSQADataMakerSim.cxx:189 AliPHOSQADataMakerSim.cxx:190 AliPHOSQADataMakerSim.cxx:191 AliPHOSQADataMakerSim.cxx:192 AliPHOSQADataMakerSim.cxx:193 AliPHOSQADataMakerSim.cxx:194 AliPHOSQADataMakerSim.cxx:195 AliPHOSQADataMakerSim.cxx:196 AliPHOSQADataMakerSim.cxx:197 AliPHOSQADataMakerSim.cxx:198 AliPHOSQADataMakerSim.cxx:199 AliPHOSQADataMakerSim.cxx:200 AliPHOSQADataMakerSim.cxx:201 AliPHOSQADataMakerSim.cxx:202 AliPHOSQADataMakerSim.cxx:203 AliPHOSQADataMakerSim.cxx:204 AliPHOSQADataMakerSim.cxx:205 AliPHOSQADataMakerSim.cxx:206 AliPHOSQADataMakerSim.cxx:207 AliPHOSQADataMakerSim.cxx:208 AliPHOSQADataMakerSim.cxx:209 AliPHOSQADataMakerSim.cxx:210 AliPHOSQADataMakerSim.cxx:211 AliPHOSQADataMakerSim.cxx:212 AliPHOSQADataMakerSim.cxx:213 AliPHOSQADataMakerSim.cxx:214 AliPHOSQADataMakerSim.cxx:215 AliPHOSQADataMakerSim.cxx:216 AliPHOSQADataMakerSim.cxx:217 AliPHOSQADataMakerSim.cxx:218 AliPHOSQADataMakerSim.cxx:219 AliPHOSQADataMakerSim.cxx:220 AliPHOSQADataMakerSim.cxx:221 AliPHOSQADataMakerSim.cxx:222 AliPHOSQADataMakerSim.cxx:223 AliPHOSQADataMakerSim.cxx:224 AliPHOSQADataMakerSim.cxx:225 AliPHOSQADataMakerSim.cxx:226 AliPHOSQADataMakerSim.cxx:227 AliPHOSQADataMakerSim.cxx:228 AliPHOSQADataMakerSim.cxx:229 AliPHOSQADataMakerSim.cxx:230 AliPHOSQADataMakerSim.cxx:231 AliPHOSQADataMakerSim.cxx:232 AliPHOSQADataMakerSim.cxx:233 AliPHOSQADataMakerSim.cxx:234 AliPHOSQADataMakerSim.cxx:235 AliPHOSQADataMakerSim.cxx:236 AliPHOSQADataMakerSim.cxx:237