fGenOffsetD(0)\r
{\r
//ctor used to discriminate OnLine-Offline analysis \r
+ fGenOffsetH= new Int_t[AliRecoParam::kNSpecies]; \r
+ fGenOffsetS= new Int_t[AliRecoParam::kNSpecies]; \r
+ fGenOffsetD= new Int_t[AliRecoParam::kNSpecies];\r
+ for(Int_t i=0; i<AliRecoParam::kNSpecies; i++) \r
+ {\r
+ fGenOffsetH[i]= 0;\r
+ fGenOffsetS[i]= 0;\r
+ fGenOffsetD[i]= 0;\r
+ } \r
}\r
\r
//____________________________________________________________________________ \r
//copy ctor \r
fAliITSQADataMakerSim->SetName((const char*)qadm.fAliITSQADataMakerSim->GetName()) ; \r
fAliITSQADataMakerSim->SetTitle((const char*)qadm.fAliITSQADataMakerSim->GetTitle());\r
- }\r
+\r
+}\r
\r
//__________________________________________________________________\r
AliITSQASDDDataMakerSim& AliITSQASDDDataMakerSim::operator = (const AliITSQASDDDataMakerSim& qac )\r
TH1F* h0=new TH1F("SDD DIGITS Module Pattern","SDD DIGITS Module Pattern",260,239.5,499.5); //hmod\r
h0->GetXaxis()->SetTitle("SDD Module Number");\r
h0->GetYaxis()->SetTitle("# DIGITS");\r
- rv = fAliITSQADataMakerSim->Add2DigitsList(h0,fGenOffsetD, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2DigitsList(h0,fGenOffsetD[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhDTask ++;\r
TH1F* h1=new TH1F("SDD Anode Distribution","SDD DIGITS Anode Distribution",512,-0.5,511.5); //hanocc\r
h1->GetXaxis()->SetTitle("Anode Number");\r
h1->GetYaxis()->SetTitle("# DIGITS");\r
- rv = fAliITSQADataMakerSim->Add2DigitsList(h1,1+fGenOffsetD, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2DigitsList(h1,1+fGenOffsetD[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhDTask ++;\r
TH1F* h2=new TH1F("SDD Tbin Distribution","SDD DIGITS Tbin Distribution",256,-0.5,255.5); //htbocc\r
h2->GetXaxis()->SetTitle("Tbin Number");\r
h2->GetYaxis()->SetTitle("# DIGITS");\r
- rv = fAliITSQADataMakerSim->Add2DigitsList(h2,2+fGenOffsetD, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2DigitsList(h2,2+fGenOffsetD[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhDTask ++;\r
TH1F* h3=new TH1F("SDD ADC Counts Distribution","SDD DIGITS ADC Counts Distribution",200,0.,1024.); //hsig\r
h3->GetXaxis()->SetTitle("ADC Value");\r
h3->GetYaxis()->SetTitle("# DIGITS");\r
- rv = fAliITSQADataMakerSim->Add2DigitsList(h3,3+fGenOffsetD, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2DigitsList(h3,3+fGenOffsetD[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhDTask ++;\r
AliDebug(AliQAv1::GetQADebugLevel(),Form("%d SDD Digits histograms booked\n",fSDDhDTask));\r
return rv ; \r
Int_t nmod=i+240;\r
digits->GetEvent(nmod);\r
Int_t ndigits = iITSdigits->GetEntries();\r
- fAliITSQADataMakerSim->GetDigitsData(fGenOffsetD)->Fill(nmod,ndigits);\r
+ fAliITSQADataMakerSim->GetDigitsData(fGenOffsetD[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(nmod,ndigits);\r
for (Int_t idig=0; idig<ndigits; idig++) {\r
AliITSdigit *dig=(AliITSdigit*)iITSdigits->UncheckedAt(idig);\r
Int_t iz=dig->GetCoord1(); // cell number z\r
Int_t ix=dig->GetCoord2(); // cell number x\r
Int_t sig=dig->GetSignal();\r
- fAliITSQADataMakerSim->GetDigitsData(1+fGenOffsetD)->Fill(iz);\r
- fAliITSQADataMakerSim->GetDigitsData(2+fGenOffsetD)->Fill(ix);\r
- fAliITSQADataMakerSim->GetDigitsData(3+fGenOffsetD)->Fill(sig);\r
+ fAliITSQADataMakerSim->GetDigitsData(1+fGenOffsetD[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(iz);\r
+ fAliITSQADataMakerSim->GetDigitsData(2+fGenOffsetD[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(ix);\r
+ fAliITSQADataMakerSim->GetDigitsData(3+fGenOffsetD[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(sig);\r
}\r
}\r
return rv ; \r
TH1F* h0=new TH1F("SDD SDIGITS Module Pattern","SDIGITS SDD Module Pattern",260,239.5,499.5); //hmod\r
h0->GetXaxis()->SetTitle("SDD Module Number");\r
h0->GetYaxis()->SetTitle("# SDIGITS");\r
- rv = fAliITSQADataMakerSim->Add2SDigitsList(h0,fGenOffsetS, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2SDigitsList(h0,fGenOffsetS[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhSTask ++;\r
TH1F* h1=new TH1F("SDD Anode Distribution","SDIGITS SDD Anode Distribution",512,-0.5,511.5); //hanocc\r
h1->GetXaxis()->SetTitle("Anode Number");\r
h1->GetYaxis()->SetTitle("# SDIGITS");\r
- rv = fAliITSQADataMakerSim->Add2SDigitsList(h1,1+fGenOffsetS, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2SDigitsList(h1,1+fGenOffsetS[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhSTask ++;\r
TH1F* h2=new TH1F("SDD Tbin Distribution","SDIGITS SDD Tbin Distribution",256,-0.5,255.5); //htbocc\r
h2->GetXaxis()->SetTitle("Tbin Number");\r
h2->GetYaxis()->SetTitle("# SDIGITS");\r
- rv = fAliITSQADataMakerSim->Add2SDigitsList(h2,2+fGenOffsetS);\r
+ rv = fAliITSQADataMakerSim->Add2SDigitsList(h2,2+fGenOffsetS[fAliITSQADataMakerSim->GetEventSpecie()]);\r
fSDDhSTask ++;\r
TH1F* h3=new TH1F("SDD ADC Counts Distribution","SDIGITS SDD ADC Counts Distribution",200,0.,1024.); //hsig\r
h3->GetXaxis()->SetTitle("ADC Value");\r
h3->GetYaxis()->SetTitle("# SDIGITS");\r
- rv = fAliITSQADataMakerSim->Add2SDigitsList(h3,3+fGenOffsetS, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2SDigitsList(h3,3+fGenOffsetS[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhSTask ++;\r
\r
AliDebug(AliQAv1::GetQADebugLevel(),Form("%d SDD SDigits histograms booked\n",fSDDhSTask));\r
brchSDigits->SetAddress( &sdig );\r
brchSDigits->GetEvent(nmod);\r
Int_t nsdig=sdig->GetEntries();\r
- fAliITSQADataMakerSim->GetSDigitsData(fGenOffsetS)->Fill(nmod,nsdig);\r
+ fAliITSQADataMakerSim->GetSDigitsData(fGenOffsetS[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(nmod,nsdig);\r
for(Int_t i=0;i<nsdig;i++){\r
AliITSpListItem *cell=(AliITSpListItem*)sdig->At(i);\r
Float_t sig=cell->GetSignal();\r
Int_t idx=cell->GetIndex();\r
Int_t ia,it;\r
list->GetCell(idx,ia,it);\r
- fAliITSQADataMakerSim->GetSDigitsData(1+fGenOffsetS)->Fill(ia);\r
- fAliITSQADataMakerSim->GetSDigitsData(2+fGenOffsetS)->Fill(it);\r
- fAliITSQADataMakerSim->GetSDigitsData(3+fGenOffsetS)->Fill(sig);\r
+ fAliITSQADataMakerSim->GetSDigitsData(1+fGenOffsetS[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(ia);\r
+ fAliITSQADataMakerSim->GetSDigitsData(2+fGenOffsetS[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(it);\r
+ fAliITSQADataMakerSim->GetSDigitsData(3+fGenOffsetS[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(sig);\r
}\r
sdig->Clear();\r
}\r
TH1F *h0=new TH1F("SDD HITS Module Pattern","SDD HITS Module Pattern",260,239.5,499.5); \r
h0->GetXaxis()->SetTitle("SDD Module Number");\r
h0->GetYaxis()->SetTitle("# HITS");\r
- rv = fAliITSQADataMakerSim->Add2HitsList(h0,fGenOffsetH, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2HitsList(h0,fGenOffsetH[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhHTask ++;\r
TH1F *h1=new TH1F("SDD HIT lenght along local Y Coord","SDD HIT lenght along local Y Coord",200,0.,350.);\r
h1->GetXaxis()->SetTitle("HIT lenght (um)");\r
h1->GetYaxis()->SetTitle("# HITS");\r
- rv = fAliITSQADataMakerSim->Add2HitsList(h1,1+fGenOffsetH, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2HitsList(h1,1+fGenOffsetH[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhHTask ++;\r
TH1F *h2=new TH1F("SDD HIT lenght along local Y Coord - Zoom","SDD HIT lenght along local Y Coord - Zoom",200,250.,350.);\r
h2->GetXaxis()->SetTitle("HIT lenght (um)");\r
h2->GetYaxis()->SetTitle("# HITS");\r
- rv = fAliITSQADataMakerSim->Add2HitsList(h2,2+fGenOffsetH, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2HitsList(h2,2+fGenOffsetH[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhHTask ++;\r
TH1F *h3=new TH1F("SDD Deposited Energy Distribution (loc Y > 200um)","SDD HITS Deposited Energy Distribution (loc Y > 200um)",200,0.,350.);\r
h3->GetXaxis()->SetTitle("ADC counts ");\r
h3->GetYaxis()->SetTitle("# HITS");\r
- rv = fAliITSQADataMakerSim->Add2HitsList(h3,3+fGenOffsetH, !expert, image);\r
+ rv = fAliITSQADataMakerSim->Add2HitsList(h3,3+fGenOffsetH[fAliITSQADataMakerSim->GetEventSpecie()], !expert, image);\r
fSDDhHTask ++;\r
AliDebug(AliQAv1::GetQADebugLevel(),Form("%d SDD Hits histograms booked\n",fSDDhHTask));\r
return rv ; \r
////printf("--w--AliITSQASDDDataMakerSim::MakeHits nhits = %d\n",nhits);\r
for (Int_t iHit=0;iHit<nhits;iHit++) {\r
AliITShit *hit = (AliITShit*) arrHits->At(iHit);\r
- fAliITSQADataMakerSim->GetHitsData(fGenOffsetH)->Fill(nmod);\r
+ fAliITSQADataMakerSim->GetHitsData(fGenOffsetH[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(nmod);\r
Double_t xl,yl,zl,xl0,yl0,zl0;\r
Double_t tof,tof0;\r
hit->GetPositionL(xl,yl,zl,tof);\r
hit->GetPositionL0(xl0,yl0,zl0,tof0);\r
Float_t dyloc=TMath::Abs(yl-yl0)*10000.;\r
- fAliITSQADataMakerSim->GetHitsData(1+fGenOffsetH)->Fill(dyloc);\r
+ fAliITSQADataMakerSim->GetHitsData(1+fGenOffsetH[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(dyloc);\r
Float_t edep=hit->GetIonization()*1000000;\r
if(dyloc>200.){ \r
- fAliITSQADataMakerSim->GetHitsData(2+fGenOffsetH)->Fill(edep);\r
- fAliITSQADataMakerSim->GetHitsData(3+fGenOffsetH)->Fill(dyloc);\r
+ fAliITSQADataMakerSim->GetHitsData(2+fGenOffsetH[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(edep);\r
+ fAliITSQADataMakerSim->GetHitsData(3+fGenOffsetH[fAliITSQADataMakerSim->GetEventSpecie()])->Fill(dyloc);\r
}\r
}\r
}\r
// Returns histogram offset according to the specified task\r
Int_t offset=0;\r
if( task == AliQAv1::kHITS){\r
- offset=fGenOffsetH; \r
+ offset=fGenOffsetH[fAliITSQADataMakerSim->GetEventSpecie()]; \r
}\r
else if( task == AliQAv1::kSDIGITS) {\r
- offset=fGenOffsetS; \r
+ offset=fGenOffsetS[fAliITSQADataMakerSim->GetEventSpecie()]; \r
}\r
else if( task == AliQAv1::kDIGITS) {\r
- offset=fGenOffsetD; \r
+ offset=fGenOffsetD[fAliITSQADataMakerSim->GetEventSpecie()]; \r
}\r
else {\r
AliInfo("No task has been selected. TaskHisto set to zero.\n");\r
}\r
\r
//____________________________________________________________________________ \r
-void AliITSQASDDDataMakerSim::SetOffset(AliQAv1::TASKINDEX_t task, Int_t offset){\r
+void AliITSQASDDDataMakerSim::SetOffset(AliQAv1::TASKINDEX_t task, Int_t offset,Int_t specie ){\r
// Returns histogram offset according to the specified task\r
if( task == AliQAv1::kHITS){\r
- fGenOffsetH = offset; \r
+ fGenOffsetH[specie] = offset; \r
}\r
else if( task == AliQAv1::kSDIGITS) {\r
- fGenOffsetS = offset; \r
+ fGenOffsetS[specie] = offset; \r
}\r
else if( task == AliQAv1::kDIGITS) {\r
- fGenOffsetD = offset; \r
+ fGenOffsetD[specie] = offset; \r
}\r
else {\r
AliInfo("No task has been selected. TaskHisto set to zero.\n");\r