#include <TClonesArray.h>
#include <TFile.h>
#include <TH1F.h>
#include <TH2F.h>
#include <Riostream.h>
#include "AliESDCaloCluster.h"
#include "AliESDEvent.h"
#include "AliQAChecker.h"
#include "AliLog.h"
#include "AliHMPIDDigit.h"
#include "AliHMPIDHit.h"
#include "AliHMPIDCluster.h"
#include "AliHMPIDQADataMakerSim.h"
#include "AliHMPIDParam.h"
#include "AliHMPIDRawStream.h"
#include "AliLog.h"
ClassImp(AliHMPIDQADataMakerSim)
AliHMPIDQADataMakerSim::AliHMPIDQADataMakerSim() :
AliQADataMakerSim(AliQAv1::GetDetName(AliQAv1::kHMPID), "HMPID Quality Assurance Data Maker"), fChannel(0)
{
}
AliHMPIDQADataMakerSim::AliHMPIDQADataMakerSim(const AliHMPIDQADataMakerSim& qadm) :
AliQADataMakerSim(),fChannel(0)
{
SetName((const char*)qadm.GetName()) ;
SetTitle((const char*)qadm.GetTitle());
}
AliHMPIDQADataMakerSim& AliHMPIDQADataMakerSim::operator = (const AliHMPIDQADataMakerSim& qadm )
{
this->~AliHMPIDQADataMakerSim();
new(this) AliHMPIDQADataMakerSim(qadm);
return *this;
}
void AliHMPIDQADataMakerSim::InitHits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F *hHitQdc=new TH1F("HitQdc","HMPID Hit Qdc all chamber;QDC;Entries",500,0,4000);
Add2HitsList(hHitQdc,0, !expert, image);
TH2F *hHitMap[7];
for(Int_t iCh=0;iCh<7;iCh++) {
hHitMap[iCh]=new TH2F(Form("HMPID HitMap%i",iCh),Form("Ch%i;x_{Hit};y_{Hit};Entries",iCh),162,-1,161,146,-1,145);
Add2HitsList(hHitMap[iCh],iCh+1,expert,!image);
}
ClonePerTrigClass(AliQAv1::kHITS);
}
void AliHMPIDQADataMakerSim::InitDigits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F *hDigChEvt = new TH1F("hDigChEvt","Chamber occupancy per event;Occupanc [%];Entries",AliHMPIDParam::kMaxCh+1,AliHMPIDParam::kMinCh,AliHMPIDParam::kMaxCh+1);
TH1F *hDigPcEvt = new TH1F("hDigPcEvt","PC occupancy",156,-1,77);
TH2F *hDigMap[7];
TH1F *hDigQ[42];
for(Int_t iCh =0; iCh < 7; iCh++){
hDigMap[iCh] = new TH2F(Form("MapCh%i",iCh),Form("Digit Map in Chamber %i;Digit #;Entries",iCh),159,0,159,143,0,143);
for(Int_t iPc =0; iPc < 6; iPc++ ){
hDigQ[iCh*6+iPc] = new TH1F(Form("QCh%iPc%i ",iCh,iPc),Form("Charge of digits (ADC) in Chamber %i and PC %i;Charge;Entries",iCh,iPc),4100,0,4100);
}
}
Add2DigitsList(hDigChEvt,0, !expert, image);
Add2DigitsList(hDigPcEvt,1,expert, !image);
for(Int_t iMap=0; iMap < 7; iMap++) Add2DigitsList(hDigMap[iMap],2+iMap,expert, !image);
for(Int_t iH =0; iH < 42 ; iH++) Add2DigitsList(hDigQ[iH] ,9+iH,expert,!image);
ClonePerTrigClass(AliQAv1::kDIGITS);
}
void AliHMPIDQADataMakerSim::InitSDigits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F *hSDigits = new TH1F("hHmpidSDigits", "SDigits Q distribution in HMPID;QDC;Entries", 500, 0., 5000.) ;
Add2SDigitsList(hSDigits,0, !expert, image);
ClonePerTrigClass(AliQAv1::kSDIGITS);
}
void AliHMPIDQADataMakerSim::MakeHits()
{
TIter next(fHitsArray);
AliHMPIDHit * hit ;
while ( (hit = dynamic_cast<AliHMPIDHit *>(next())) ) {
if(hit->Pid()<500000) FillHitsData(0,hit->Q()) ;
if(hit->Pid()<500000) FillHitsData(hit->Ch()+1,hit->LorsX(),hit->LorsY());
}
}
void AliHMPIDQADataMakerSim::MakeHits(TTree * data)
{
if (fHitsArray)
fHitsArray->Clear() ;
else
fHitsArray=new TClonesArray("AliHMPIDHit");
data->SetBranchAddress("HMPID",&fHitsArray);
for(Int_t iEnt=0;iEnt<data->GetEntriesFast();iEnt++){
data->GetEntry(iEnt);
MakeHits();
}
}
void AliHMPIDQADataMakerSim::MakeDigits()
{
Int_t i = fChannel ;
FillDigitsData(0,i,fDigitsArray->GetEntriesFast()/(48.*80.*6.));
TIter next(fDigitsArray);
AliHMPIDDigit * digit;
while ( (digit = dynamic_cast<AliHMPIDDigit *>(next())) ) {
FillDigitsData(1,10.*i+digit->Pc(),1./(48.*80.));
FillDigitsData(2+i,digit->PadChX(),digit->PadChY());
FillDigitsData(9+i*6+digit->Pc(),digit->Q());
}
}
void AliHMPIDQADataMakerSim::MakeDigits(TTree * data)
{
if(fDigitsArray)
fDigitsArray->Clear() ;
else
fDigitsArray=new TClonesArray("AliHMPIDDigit");
for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++){
fChannel = iCh ;
data->SetBranchAddress(Form("HMPID%i",iCh),&fDigitsArray);
data->GetEntry(0);
MakeDigits();
fDigitsArray->Clear() ;
}
}
void AliHMPIDQADataMakerSim::MakeSDigits()
{
TIter next(fSDigitsArray) ;
AliHMPIDDigit * sdigit ;
while ( (sdigit = dynamic_cast<AliHMPIDDigit *>(next())) ) {
FillSDigitsData(0,sdigit->Q());
}
}
void AliHMPIDQADataMakerSim::MakeSDigits(TTree * data)
{
if (fSDigitsArray)
fSDigitsArray->Clear() ;
else
fSDigitsArray = new TClonesArray("AliHMPIDDigit", 1000) ;
TBranch * branch = data->GetBranch("HMPID") ;
if ( ! branch ) {
AliError("HMPID SDigit Tree not found") ;
return;
}
branch->SetAddress(&fSDigitsArray) ;
branch->GetEntry(0) ;
MakeSDigits() ;
}
void AliHMPIDQADataMakerSim::StartOfDetectorCycle()
{
}
void AliHMPIDQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray **obj)
{
ResetEventTrigClasses();
AliQAChecker::Instance()->Run(AliQAv1::kHMPID, task, obj) ;
}
AliHMPIDQADataMakerSim.cxx:1 AliHMPIDQADataMakerSim.cxx:2 AliHMPIDQADataMakerSim.cxx:3 AliHMPIDQADataMakerSim.cxx:4 AliHMPIDQADataMakerSim.cxx:5 AliHMPIDQADataMakerSim.cxx:6 AliHMPIDQADataMakerSim.cxx:7 AliHMPIDQADataMakerSim.cxx:8 AliHMPIDQADataMakerSim.cxx:9 AliHMPIDQADataMakerSim.cxx:10 AliHMPIDQADataMakerSim.cxx:11 AliHMPIDQADataMakerSim.cxx:12 AliHMPIDQADataMakerSim.cxx:13 AliHMPIDQADataMakerSim.cxx:14 AliHMPIDQADataMakerSim.cxx:15 AliHMPIDQADataMakerSim.cxx:16 AliHMPIDQADataMakerSim.cxx:17 AliHMPIDQADataMakerSim.cxx:18 AliHMPIDQADataMakerSim.cxx:19 AliHMPIDQADataMakerSim.cxx:20 AliHMPIDQADataMakerSim.cxx:21 AliHMPIDQADataMakerSim.cxx:22 AliHMPIDQADataMakerSim.cxx:23 AliHMPIDQADataMakerSim.cxx:24 AliHMPIDQADataMakerSim.cxx:25 AliHMPIDQADataMakerSim.cxx:26 AliHMPIDQADataMakerSim.cxx:27 AliHMPIDQADataMakerSim.cxx:28 AliHMPIDQADataMakerSim.cxx:29 AliHMPIDQADataMakerSim.cxx:30 AliHMPIDQADataMakerSim.cxx:31 AliHMPIDQADataMakerSim.cxx:32 AliHMPIDQADataMakerSim.cxx:33 AliHMPIDQADataMakerSim.cxx:34 AliHMPIDQADataMakerSim.cxx:35 AliHMPIDQADataMakerSim.cxx:36 AliHMPIDQADataMakerSim.cxx:37 AliHMPIDQADataMakerSim.cxx:38 AliHMPIDQADataMakerSim.cxx:39 AliHMPIDQADataMakerSim.cxx:40 AliHMPIDQADataMakerSim.cxx:41 AliHMPIDQADataMakerSim.cxx:42 AliHMPIDQADataMakerSim.cxx:43 AliHMPIDQADataMakerSim.cxx:44 AliHMPIDQADataMakerSim.cxx:45 AliHMPIDQADataMakerSim.cxx:46 AliHMPIDQADataMakerSim.cxx:47 AliHMPIDQADataMakerSim.cxx:48 AliHMPIDQADataMakerSim.cxx:49 AliHMPIDQADataMakerSim.cxx:50 AliHMPIDQADataMakerSim.cxx:51 AliHMPIDQADataMakerSim.cxx:52 AliHMPIDQADataMakerSim.cxx:53 AliHMPIDQADataMakerSim.cxx:54 AliHMPIDQADataMakerSim.cxx:55 AliHMPIDQADataMakerSim.cxx:56 AliHMPIDQADataMakerSim.cxx:57 AliHMPIDQADataMakerSim.cxx:58 AliHMPIDQADataMakerSim.cxx:59 AliHMPIDQADataMakerSim.cxx:60 AliHMPIDQADataMakerSim.cxx:61 AliHMPIDQADataMakerSim.cxx:62 AliHMPIDQADataMakerSim.cxx:63 AliHMPIDQADataMakerSim.cxx:64 AliHMPIDQADataMakerSim.cxx:65 AliHMPIDQADataMakerSim.cxx:66 AliHMPIDQADataMakerSim.cxx:67 AliHMPIDQADataMakerSim.cxx:68 AliHMPIDQADataMakerSim.cxx:69 AliHMPIDQADataMakerSim.cxx:70 AliHMPIDQADataMakerSim.cxx:71 AliHMPIDQADataMakerSim.cxx:72 AliHMPIDQADataMakerSim.cxx:73 AliHMPIDQADataMakerSim.cxx:74 AliHMPIDQADataMakerSim.cxx:75 AliHMPIDQADataMakerSim.cxx:76 AliHMPIDQADataMakerSim.cxx:77 AliHMPIDQADataMakerSim.cxx:78 AliHMPIDQADataMakerSim.cxx:79 AliHMPIDQADataMakerSim.cxx:80 AliHMPIDQADataMakerSim.cxx:81 AliHMPIDQADataMakerSim.cxx:82 AliHMPIDQADataMakerSim.cxx:83 AliHMPIDQADataMakerSim.cxx:84 AliHMPIDQADataMakerSim.cxx:85 AliHMPIDQADataMakerSim.cxx:86 AliHMPIDQADataMakerSim.cxx:87 AliHMPIDQADataMakerSim.cxx:88 AliHMPIDQADataMakerSim.cxx:89 AliHMPIDQADataMakerSim.cxx:90 AliHMPIDQADataMakerSim.cxx:91 AliHMPIDQADataMakerSim.cxx:92 AliHMPIDQADataMakerSim.cxx:93 AliHMPIDQADataMakerSim.cxx:94 AliHMPIDQADataMakerSim.cxx:95 AliHMPIDQADataMakerSim.cxx:96 AliHMPIDQADataMakerSim.cxx:97 AliHMPIDQADataMakerSim.cxx:98 AliHMPIDQADataMakerSim.cxx:99 AliHMPIDQADataMakerSim.cxx:100 AliHMPIDQADataMakerSim.cxx:101 AliHMPIDQADataMakerSim.cxx:102 AliHMPIDQADataMakerSim.cxx:103 AliHMPIDQADataMakerSim.cxx:104 AliHMPIDQADataMakerSim.cxx:105 AliHMPIDQADataMakerSim.cxx:106 AliHMPIDQADataMakerSim.cxx:107 AliHMPIDQADataMakerSim.cxx:108 AliHMPIDQADataMakerSim.cxx:109 AliHMPIDQADataMakerSim.cxx:110 AliHMPIDQADataMakerSim.cxx:111 AliHMPIDQADataMakerSim.cxx:112 AliHMPIDQADataMakerSim.cxx:113 AliHMPIDQADataMakerSim.cxx:114 AliHMPIDQADataMakerSim.cxx:115 AliHMPIDQADataMakerSim.cxx:116 AliHMPIDQADataMakerSim.cxx:117 AliHMPIDQADataMakerSim.cxx:118 AliHMPIDQADataMakerSim.cxx:119 AliHMPIDQADataMakerSim.cxx:120 AliHMPIDQADataMakerSim.cxx:121 AliHMPIDQADataMakerSim.cxx:122 AliHMPIDQADataMakerSim.cxx:123 AliHMPIDQADataMakerSim.cxx:124 AliHMPIDQADataMakerSim.cxx:125 AliHMPIDQADataMakerSim.cxx:126 AliHMPIDQADataMakerSim.cxx:127 AliHMPIDQADataMakerSim.cxx:128 AliHMPIDQADataMakerSim.cxx:129 AliHMPIDQADataMakerSim.cxx:130 AliHMPIDQADataMakerSim.cxx:131 AliHMPIDQADataMakerSim.cxx:132 AliHMPIDQADataMakerSim.cxx:133 AliHMPIDQADataMakerSim.cxx:134 AliHMPIDQADataMakerSim.cxx:135 AliHMPIDQADataMakerSim.cxx:136 AliHMPIDQADataMakerSim.cxx:137 AliHMPIDQADataMakerSim.cxx:138 AliHMPIDQADataMakerSim.cxx:139 AliHMPIDQADataMakerSim.cxx:140 AliHMPIDQADataMakerSim.cxx:141 AliHMPIDQADataMakerSim.cxx:142 AliHMPIDQADataMakerSim.cxx:143 AliHMPIDQADataMakerSim.cxx:144 AliHMPIDQADataMakerSim.cxx:145 AliHMPIDQADataMakerSim.cxx:146 AliHMPIDQADataMakerSim.cxx:147 AliHMPIDQADataMakerSim.cxx:148 AliHMPIDQADataMakerSim.cxx:149 AliHMPIDQADataMakerSim.cxx:150 AliHMPIDQADataMakerSim.cxx:151 AliHMPIDQADataMakerSim.cxx:152 AliHMPIDQADataMakerSim.cxx:153 AliHMPIDQADataMakerSim.cxx:154 AliHMPIDQADataMakerSim.cxx:155 AliHMPIDQADataMakerSim.cxx:156 AliHMPIDQADataMakerSim.cxx:157 AliHMPIDQADataMakerSim.cxx:158 AliHMPIDQADataMakerSim.cxx:159 AliHMPIDQADataMakerSim.cxx:160 AliHMPIDQADataMakerSim.cxx:161 AliHMPIDQADataMakerSim.cxx:162 AliHMPIDQADataMakerSim.cxx:163 AliHMPIDQADataMakerSim.cxx:164 AliHMPIDQADataMakerSim.cxx:165 AliHMPIDQADataMakerSim.cxx:166 AliHMPIDQADataMakerSim.cxx:167 AliHMPIDQADataMakerSim.cxx:168 AliHMPIDQADataMakerSim.cxx:169 AliHMPIDQADataMakerSim.cxx:170 AliHMPIDQADataMakerSim.cxx:171 AliHMPIDQADataMakerSim.cxx:172 AliHMPIDQADataMakerSim.cxx:173 AliHMPIDQADataMakerSim.cxx:174 AliHMPIDQADataMakerSim.cxx:175 AliHMPIDQADataMakerSim.cxx:176 AliHMPIDQADataMakerSim.cxx:177 AliHMPIDQADataMakerSim.cxx:178 AliHMPIDQADataMakerSim.cxx:179 AliHMPIDQADataMakerSim.cxx:180 AliHMPIDQADataMakerSim.cxx:181 AliHMPIDQADataMakerSim.cxx:182 AliHMPIDQADataMakerSim.cxx:183 AliHMPIDQADataMakerSim.cxx:184 AliHMPIDQADataMakerSim.cxx:185 AliHMPIDQADataMakerSim.cxx:186 AliHMPIDQADataMakerSim.cxx:187 AliHMPIDQADataMakerSim.cxx:188 AliHMPIDQADataMakerSim.cxx:189 AliHMPIDQADataMakerSim.cxx:190 AliHMPIDQADataMakerSim.cxx:191 AliHMPIDQADataMakerSim.cxx:192 AliHMPIDQADataMakerSim.cxx:193 AliHMPIDQADataMakerSim.cxx:194 AliHMPIDQADataMakerSim.cxx:195 AliHMPIDQADataMakerSim.cxx:196 AliHMPIDQADataMakerSim.cxx:197 AliHMPIDQADataMakerSim.cxx:198 AliHMPIDQADataMakerSim.cxx:199 AliHMPIDQADataMakerSim.cxx:200 AliHMPIDQADataMakerSim.cxx:201 AliHMPIDQADataMakerSim.cxx:202 AliHMPIDQADataMakerSim.cxx:203 AliHMPIDQADataMakerSim.cxx:204 AliHMPIDQADataMakerSim.cxx:205 AliHMPIDQADataMakerSim.cxx:206 AliHMPIDQADataMakerSim.cxx:207 AliHMPIDQADataMakerSim.cxx:208 AliHMPIDQADataMakerSim.cxx:209 AliHMPIDQADataMakerSim.cxx:210 AliHMPIDQADataMakerSim.cxx:211 AliHMPIDQADataMakerSim.cxx:212 AliHMPIDQADataMakerSim.cxx:213 AliHMPIDQADataMakerSim.cxx:214 AliHMPIDQADataMakerSim.cxx:215 AliHMPIDQADataMakerSim.cxx:216 AliHMPIDQADataMakerSim.cxx:217 AliHMPIDQADataMakerSim.cxx:218 AliHMPIDQADataMakerSim.cxx:219 AliHMPIDQADataMakerSim.cxx:220 AliHMPIDQADataMakerSim.cxx:221 AliHMPIDQADataMakerSim.cxx:222 AliHMPIDQADataMakerSim.cxx:223 AliHMPIDQADataMakerSim.cxx:224 AliHMPIDQADataMakerSim.cxx:225 AliHMPIDQADataMakerSim.cxx:226 AliHMPIDQADataMakerSim.cxx:227 AliHMPIDQADataMakerSim.cxx:228 AliHMPIDQADataMakerSim.cxx:229 AliHMPIDQADataMakerSim.cxx:230 AliHMPIDQADataMakerSim.cxx:231 AliHMPIDQADataMakerSim.cxx:232 AliHMPIDQADataMakerSim.cxx:233 AliHMPIDQADataMakerSim.cxx:234 AliHMPIDQADataMakerSim.cxx:235 AliHMPIDQADataMakerSim.cxx:236 AliHMPIDQADataMakerSim.cxx:237 AliHMPIDQADataMakerSim.cxx:238 AliHMPIDQADataMakerSim.cxx:239 AliHMPIDQADataMakerSim.cxx:240 AliHMPIDQADataMakerSim.cxx:241 AliHMPIDQADataMakerSim.cxx:242 AliHMPIDQADataMakerSim.cxx:243 AliHMPIDQADataMakerSim.cxx:244 AliHMPIDQADataMakerSim.cxx:245 AliHMPIDQADataMakerSim.cxx:246 AliHMPIDQADataMakerSim.cxx:247 AliHMPIDQADataMakerSim.cxx:248