#include "AliTPCQADataMakerSim.h"
#include "AliQAChecker.h"
#include "AliTPC.h"
#include "AliTPCv2.h"
#include "AliSimDigits.h"
#include <TTree.h>
ClassImp(AliTPCQADataMakerSim)
AliTPCQADataMakerSim::AliTPCQADataMakerSim() :
AliQADataMakerSim(AliQAv1::GetDetName(AliQAv1::kTPC),
"TPC Sim Quality Assurance Data Maker")
{
}
AliTPCQADataMakerSim::AliTPCQADataMakerSim(const AliTPCQADataMakerSim& qadm) :
AliQADataMakerSim()
{
SetName((const char*)qadm.GetName()) ;
SetTitle((const char*)qadm.GetTitle());
}
AliTPCQADataMakerSim& AliTPCQADataMakerSim::operator = (const AliTPCQADataMakerSim& qadm )
{
this->~AliTPCQADataMakerSim();
new(this) AliTPCQADataMakerSim(qadm);
return *this;
}
void AliTPCQADataMakerSim::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
{
AliQAChecker::Instance()->Run(AliQAv1::kTPC, task, list) ;
}
void AliTPCQADataMakerSim::InitDigits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F * histDigitsADC =
new TH1F("hDigitsADC", "Digit ADC distribution; ADC; Counts",
1000, 0, 1000);
histDigitsADC->Sumw2();
Add2DigitsList(histDigitsADC, kDigitsADC, !expert, image);
ClonePerTrigClass(AliQAv1::kDIGITS);
}
void AliTPCQADataMakerSim::InitHits()
{
const Bool_t expert = kTRUE ;
const Bool_t image = kTRUE ;
TH1F * histHitsNhits =
new TH1F("hHitsNhits", "Interactions per track in the TPC volume; Number of interactions; Counts",
100, 0, 10000);
histHitsNhits->Sumw2();
Add2HitsList(histHitsNhits, kNhits, !expert, image);
TH1F * histHitsElectrons =
new TH1F("hHitsElectrons", "Electrons per interaction; Electrons; Counts",
300, 0, 300);
histHitsElectrons->Sumw2();
Add2HitsList(histHitsElectrons, kElectrons, !expert, image);
TH1F * histHitsRadius =
new TH1F("hHitsRadius", "Position of interaction; Radius; Counts",
300, 0., 300.);
histHitsRadius->Sumw2();
Add2HitsList(histHitsRadius, kRadius, !expert, image);
TH1F * histHitsPrimPerCm =
new TH1F("hHitsPrimPerCm", "Primaries per cm; Primaries; Counts",
100, 0., 100.);
histHitsPrimPerCm->Sumw2();
Add2HitsList(histHitsPrimPerCm, kPrimPerCm, !expert, image);
TH1F * histHitsElectronsPerCm =
new TH1F("hHitsElectronsPerCm", "Electrons per cm; Electrons; Counts",
300, 0., 300.);
histHitsElectronsPerCm->Sumw2();
Add2HitsList(histHitsElectronsPerCm, kElectronsPerCm, !expert, image);
ClonePerTrigClass(AliQAv1::kHITS);
}
void AliTPCQADataMakerSim::MakeDigits(TTree* digitTree)
{
TBranch* branch = digitTree->GetBranch("Segment");
AliSimDigits* digArray = 0;
branch->SetAddress(&digArray);
Int_t nEntries = Int_t(digitTree->GetEntries());
for (Int_t n = 0; n < nEntries; n++) {
digitTree->GetEvent(n);
if (digArray->First())
do {
Float_t dig = digArray->CurrentDigit();
FillDigitsData(kDigitsADC,dig);
} while (digArray->Next());
}
IncEvCountCycleDigits();
IncEvCountTotalDigits();
}
void AliTPCQADataMakerSim::MakeHits(TTree * hitTree)
{
const Int_t nTracks = hitTree->GetEntries();
TBranch* branch = hitTree->GetBranch("TPC2");
AliTPCv2* tpc = (AliTPCv2*)gAlice->GetDetector("TPC");
for(Int_t n = 0; n < nTracks; n++){
Int_t nHits = 0;
branch->GetEntry(n);
AliTPChit* tpcHit = (AliTPChit*)tpc->FirstHit(-1);
if (tpcHit) {
Float_t dist = 0.;
Int_t nprim = 0;
Float_t xold = tpcHit->X();
Float_t yold = tpcHit->Y();
Float_t zold = tpcHit->Z();
Float_t radiusOld = TMath::Sqrt(xold*xold + yold*yold);
Int_t trackOld = tpcHit->GetTrack();
Float_t q = 0.;
while(tpcHit) {
Float_t x = tpcHit->X();
Float_t y = tpcHit->Y();
Float_t z = tpcHit->Z();
Float_t radius = TMath::Sqrt(x*x + y*y);
if(radius>50) {
nHits++;
Int_t trackNo = tpcHit->GetTrack();
FillHitsData(kElectrons,tpcHit->fQ);
FillHitsData(kRadius,radius);
if(trackNo==trackOld) {
dist += TMath::Sqrt((x-xold)*(x-xold) + (y-yold)*(y-yold) +
(z-zold)*(z-zold));
if(dist<1.){
nprim++;
q += tpcHit->fQ;
} else{
FillHitsData(kPrimPerCm,(Float_t)nprim);
FillHitsData(kElectronsPerCm,q);
dist = 0;
q = 0;
nprim = 0;
}
} else {
dist = 0;
q = 0;
nprim = 0;
}
}
radiusOld = radius;
xold = x;
yold = y;
zold = z;
trackOld = tpcHit->GetTrack();
tpcHit = (AliTPChit*) tpc->NextHit();
}
}
FillHitsData(kNhits,nHits);
}
IncEvCountCycleHits();
IncEvCountTotalHits();
}
AliTPCQADataMakerSim.cxx:1 AliTPCQADataMakerSim.cxx:2 AliTPCQADataMakerSim.cxx:3 AliTPCQADataMakerSim.cxx:4 AliTPCQADataMakerSim.cxx:5 AliTPCQADataMakerSim.cxx:6 AliTPCQADataMakerSim.cxx:7 AliTPCQADataMakerSim.cxx:8 AliTPCQADataMakerSim.cxx:9 AliTPCQADataMakerSim.cxx:10 AliTPCQADataMakerSim.cxx:11 AliTPCQADataMakerSim.cxx:12 AliTPCQADataMakerSim.cxx:13 AliTPCQADataMakerSim.cxx:14 AliTPCQADataMakerSim.cxx:15 AliTPCQADataMakerSim.cxx:16 AliTPCQADataMakerSim.cxx:17 AliTPCQADataMakerSim.cxx:18 AliTPCQADataMakerSim.cxx:19 AliTPCQADataMakerSim.cxx:20 AliTPCQADataMakerSim.cxx:21 AliTPCQADataMakerSim.cxx:22 AliTPCQADataMakerSim.cxx:23 AliTPCQADataMakerSim.cxx:24 AliTPCQADataMakerSim.cxx:25 AliTPCQADataMakerSim.cxx:26 AliTPCQADataMakerSim.cxx:27 AliTPCQADataMakerSim.cxx:28 AliTPCQADataMakerSim.cxx:29 AliTPCQADataMakerSim.cxx:30 AliTPCQADataMakerSim.cxx:31 AliTPCQADataMakerSim.cxx:32 AliTPCQADataMakerSim.cxx:33 AliTPCQADataMakerSim.cxx:34 AliTPCQADataMakerSim.cxx:35 AliTPCQADataMakerSim.cxx:36 AliTPCQADataMakerSim.cxx:37 AliTPCQADataMakerSim.cxx:38 AliTPCQADataMakerSim.cxx:39 AliTPCQADataMakerSim.cxx:40 AliTPCQADataMakerSim.cxx:41 AliTPCQADataMakerSim.cxx:42 AliTPCQADataMakerSim.cxx:43 AliTPCQADataMakerSim.cxx:44 AliTPCQADataMakerSim.cxx:45 AliTPCQADataMakerSim.cxx:46 AliTPCQADataMakerSim.cxx:47 AliTPCQADataMakerSim.cxx:48 AliTPCQADataMakerSim.cxx:49 AliTPCQADataMakerSim.cxx:50 AliTPCQADataMakerSim.cxx:51 AliTPCQADataMakerSim.cxx:52 AliTPCQADataMakerSim.cxx:53 AliTPCQADataMakerSim.cxx:54 AliTPCQADataMakerSim.cxx:55 AliTPCQADataMakerSim.cxx:56 AliTPCQADataMakerSim.cxx:57 AliTPCQADataMakerSim.cxx:58 AliTPCQADataMakerSim.cxx:59 AliTPCQADataMakerSim.cxx:60 AliTPCQADataMakerSim.cxx:61 AliTPCQADataMakerSim.cxx:62 AliTPCQADataMakerSim.cxx:63 AliTPCQADataMakerSim.cxx:64 AliTPCQADataMakerSim.cxx:65 AliTPCQADataMakerSim.cxx:66 AliTPCQADataMakerSim.cxx:67 AliTPCQADataMakerSim.cxx:68 AliTPCQADataMakerSim.cxx:69 AliTPCQADataMakerSim.cxx:70 AliTPCQADataMakerSim.cxx:71 AliTPCQADataMakerSim.cxx:72 AliTPCQADataMakerSim.cxx:73 AliTPCQADataMakerSim.cxx:74 AliTPCQADataMakerSim.cxx:75 AliTPCQADataMakerSim.cxx:76 AliTPCQADataMakerSim.cxx:77 AliTPCQADataMakerSim.cxx:78 AliTPCQADataMakerSim.cxx:79 AliTPCQADataMakerSim.cxx:80 AliTPCQADataMakerSim.cxx:81 AliTPCQADataMakerSim.cxx:82 AliTPCQADataMakerSim.cxx:83 AliTPCQADataMakerSim.cxx:84 AliTPCQADataMakerSim.cxx:85 AliTPCQADataMakerSim.cxx:86 AliTPCQADataMakerSim.cxx:87 AliTPCQADataMakerSim.cxx:88 AliTPCQADataMakerSim.cxx:89 AliTPCQADataMakerSim.cxx:90 AliTPCQADataMakerSim.cxx:91 AliTPCQADataMakerSim.cxx:92 AliTPCQADataMakerSim.cxx:93 AliTPCQADataMakerSim.cxx:94 AliTPCQADataMakerSim.cxx:95 AliTPCQADataMakerSim.cxx:96 AliTPCQADataMakerSim.cxx:97 AliTPCQADataMakerSim.cxx:98 AliTPCQADataMakerSim.cxx:99 AliTPCQADataMakerSim.cxx:100 AliTPCQADataMakerSim.cxx:101 AliTPCQADataMakerSim.cxx:102 AliTPCQADataMakerSim.cxx:103 AliTPCQADataMakerSim.cxx:104 AliTPCQADataMakerSim.cxx:105 AliTPCQADataMakerSim.cxx:106 AliTPCQADataMakerSim.cxx:107 AliTPCQADataMakerSim.cxx:108 AliTPCQADataMakerSim.cxx:109 AliTPCQADataMakerSim.cxx:110 AliTPCQADataMakerSim.cxx:111 AliTPCQADataMakerSim.cxx:112 AliTPCQADataMakerSim.cxx:113 AliTPCQADataMakerSim.cxx:114 AliTPCQADataMakerSim.cxx:115 AliTPCQADataMakerSim.cxx:116 AliTPCQADataMakerSim.cxx:117 AliTPCQADataMakerSim.cxx:118 AliTPCQADataMakerSim.cxx:119 AliTPCQADataMakerSim.cxx:120 AliTPCQADataMakerSim.cxx:121 AliTPCQADataMakerSim.cxx:122 AliTPCQADataMakerSim.cxx:123 AliTPCQADataMakerSim.cxx:124 AliTPCQADataMakerSim.cxx:125 AliTPCQADataMakerSim.cxx:126 AliTPCQADataMakerSim.cxx:127 AliTPCQADataMakerSim.cxx:128 AliTPCQADataMakerSim.cxx:129 AliTPCQADataMakerSim.cxx:130 AliTPCQADataMakerSim.cxx:131 AliTPCQADataMakerSim.cxx:132 AliTPCQADataMakerSim.cxx:133 AliTPCQADataMakerSim.cxx:134 AliTPCQADataMakerSim.cxx:135 AliTPCQADataMakerSim.cxx:136 AliTPCQADataMakerSim.cxx:137 AliTPCQADataMakerSim.cxx:138 AliTPCQADataMakerSim.cxx:139 AliTPCQADataMakerSim.cxx:140 AliTPCQADataMakerSim.cxx:141 AliTPCQADataMakerSim.cxx:142 AliTPCQADataMakerSim.cxx:143 AliTPCQADataMakerSim.cxx:144 AliTPCQADataMakerSim.cxx:145 AliTPCQADataMakerSim.cxx:146 AliTPCQADataMakerSim.cxx:147 AliTPCQADataMakerSim.cxx:148 AliTPCQADataMakerSim.cxx:149 AliTPCQADataMakerSim.cxx:150 AliTPCQADataMakerSim.cxx:151 AliTPCQADataMakerSim.cxx:152 AliTPCQADataMakerSim.cxx:153 AliTPCQADataMakerSim.cxx:154 AliTPCQADataMakerSim.cxx:155 AliTPCQADataMakerSim.cxx:156 AliTPCQADataMakerSim.cxx:157 AliTPCQADataMakerSim.cxx:158 AliTPCQADataMakerSim.cxx:159 AliTPCQADataMakerSim.cxx:160 AliTPCQADataMakerSim.cxx:161 AliTPCQADataMakerSim.cxx:162 AliTPCQADataMakerSim.cxx:163 AliTPCQADataMakerSim.cxx:164 AliTPCQADataMakerSim.cxx:165 AliTPCQADataMakerSim.cxx:166 AliTPCQADataMakerSim.cxx:167 AliTPCQADataMakerSim.cxx:168 AliTPCQADataMakerSim.cxx:169 AliTPCQADataMakerSim.cxx:170 AliTPCQADataMakerSim.cxx:171 AliTPCQADataMakerSim.cxx:172 AliTPCQADataMakerSim.cxx:173 AliTPCQADataMakerSim.cxx:174 AliTPCQADataMakerSim.cxx:175 AliTPCQADataMakerSim.cxx:176 AliTPCQADataMakerSim.cxx:177 AliTPCQADataMakerSim.cxx:178 AliTPCQADataMakerSim.cxx:179 AliTPCQADataMakerSim.cxx:180 AliTPCQADataMakerSim.cxx:181 AliTPCQADataMakerSim.cxx:182 AliTPCQADataMakerSim.cxx:183 AliTPCQADataMakerSim.cxx:184 AliTPCQADataMakerSim.cxx:185 AliTPCQADataMakerSim.cxx:186 AliTPCQADataMakerSim.cxx:187 AliTPCQADataMakerSim.cxx:188 AliTPCQADataMakerSim.cxx:189 AliTPCQADataMakerSim.cxx:190 AliTPCQADataMakerSim.cxx:191 AliTPCQADataMakerSim.cxx:192 AliTPCQADataMakerSim.cxx:193 AliTPCQADataMakerSim.cxx:194 AliTPCQADataMakerSim.cxx:195 AliTPCQADataMakerSim.cxx:196 AliTPCQADataMakerSim.cxx:197 AliTPCQADataMakerSim.cxx:198 AliTPCQADataMakerSim.cxx:199 AliTPCQADataMakerSim.cxx:200 AliTPCQADataMakerSim.cxx:201 AliTPCQADataMakerSim.cxx:202 AliTPCQADataMakerSim.cxx:203 AliTPCQADataMakerSim.cxx:204 AliTPCQADataMakerSim.cxx:205 AliTPCQADataMakerSim.cxx:206 AliTPCQADataMakerSim.cxx:207 AliTPCQADataMakerSim.cxx:208 AliTPCQADataMakerSim.cxx:209 AliTPCQADataMakerSim.cxx:210 AliTPCQADataMakerSim.cxx:211 AliTPCQADataMakerSim.cxx:212 AliTPCQADataMakerSim.cxx:213 AliTPCQADataMakerSim.cxx:214 AliTPCQADataMakerSim.cxx:215 AliTPCQADataMakerSim.cxx:216 AliTPCQADataMakerSim.cxx:217 AliTPCQADataMakerSim.cxx:218 AliTPCQADataMakerSim.cxx:219 AliTPCQADataMakerSim.cxx:220 AliTPCQADataMakerSim.cxx:221 AliTPCQADataMakerSim.cxx:222 AliTPCQADataMakerSim.cxx:223 AliTPCQADataMakerSim.cxx:224 AliTPCQADataMakerSim.cxx:225 AliTPCQADataMakerSim.cxx:226 AliTPCQADataMakerSim.cxx:227 AliTPCQADataMakerSim.cxx:228 AliTPCQADataMakerSim.cxx:229 AliTPCQADataMakerSim.cxx:230 AliTPCQADataMakerSim.cxx:231 AliTPCQADataMakerSim.cxx:232 AliTPCQADataMakerSim.cxx:233 AliTPCQADataMakerSim.cxx:234 AliTPCQADataMakerSim.cxx:235 AliTPCQADataMakerSim.cxx:236 AliTPCQADataMakerSim.cxx:237 AliTPCQADataMakerSim.cxx:238 AliTPCQADataMakerSim.cxx:239 AliTPCQADataMakerSim.cxx:240 AliTPCQADataMakerSim.cxx:241 AliTPCQADataMakerSim.cxx:242 AliTPCQADataMakerSim.cxx:243 AliTPCQADataMakerSim.cxx:244 AliTPCQADataMakerSim.cxx:245 AliTPCQADataMakerSim.cxx:246 AliTPCQADataMakerSim.cxx:247 AliTPCQADataMakerSim.cxx:248 AliTPCQADataMakerSim.cxx:249 AliTPCQADataMakerSim.cxx:250 AliTPCQADataMakerSim.cxx:251 AliTPCQADataMakerSim.cxx:252 AliTPCQADataMakerSim.cxx:253 AliTPCQADataMakerSim.cxx:254 AliTPCQADataMakerSim.cxx:255 AliTPCQADataMakerSim.cxx:256 AliTPCQADataMakerSim.cxx:257 AliTPCQADataMakerSim.cxx:258