AliITSQASSDDataMakerSim::AliITSQASSDDataMakerSim(AliITSQADataMakerSim *aliITSQADataMakerSim) :\r
TObject(),\r
fAliITSQADataMakerSim(aliITSQADataMakerSim),\r
-fSSDhDigits(0),\r
-fSSDhSDigits(0),\r
-fSSDhHits(0),\r
-fGenOffset(0) {\r
+fSSDhTask(0),\r
+fGenOffsetH(0),\r
+fGenOffsetS(0), \r
+fGenOffsetD(0) \r
+{\r
//ctor used to discriminate OnLine-Offline analysis \r
}\r
\r
AliITSQASSDDataMakerSim::AliITSQASSDDataMakerSim(const AliITSQASSDDataMakerSim& qadm) :\r
TObject(),\r
fAliITSQADataMakerSim(qadm.fAliITSQADataMakerSim),\r
-fSSDhDigits(qadm.fSSDhDigits),\r
-fSSDhSDigits(qadm.fSSDhSDigits),\r
-fSSDhHits(qadm.fSSDhHits),\r
-fGenOffset(qadm.fGenOffset) {\r
+fSSDhTask(qadm.fSSDhTask),\r
+fGenOffsetH(qadm.fGenOffsetH), \r
+fGenOffsetS(qadm.fGenOffsetS), \r
+fGenOffsetD(qadm.fGenOffsetD) \r
+{\r
//copy ctor \r
fAliITSQADataMakerSim->SetName((const char*)qadm.fAliITSQADataMakerSim->GetName()) ; \r
fAliITSQADataMakerSim->SetTitle((const char*)qadm.fAliITSQADataMakerSim->GetTitle());\r
}\r
\r
//____________________________________________________________________________ \r
-void AliITSQASSDDataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX_t /*task*/, TObjArray* /*list*/) {\r
+void AliITSQASSDDataMakerSim::EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray* list) {\r
// launch the QA checking\r
AliDebug(1,"AliITSDM instantiates checker with Run(AliQA::kITS, task, list)\n"); \r
\r
- //AliQAChecker::Instance()->Run( AliQA::kITS , task, list);\r
+ AliQAChecker::Instance()->Run( AliQA::kITS , task, list);\r
}\r
\r
//____________________________________________________________________________ \r
void AliITSQASSDDataMakerSim::InitDigits() { \r
// Initialization for DIGIT data - SSD -\r
- fGenOffset = (fAliITSQADataMakerSim->fDigitsQAList)->GetEntries();\r
+ fGenOffsetD = (fAliITSQADataMakerSim->fDigitsQAList)->GetEntries();\r
\r
// custom code here\r
TH1F *fHistSSDModule = new TH1F("fHistSSDDigitsModule",\r
";SSD Module Number;N_{DIGITS}",\r
1698,499.5,2197.5); \r
fAliITSQADataMakerSim->Add2DigitsList(fHistSSDModule,\r
- fGenOffset + fSSDhDigits);\r
- fSSDhDigits += 1;\r
+ fGenOffsetD + 0);\r
+ fSSDhTask += 1;\r
TH2F *fHistSSDModuleStrip = new TH2F("fHistSSDDigitsModuleStrip",\r
";N_{Strip};N_{Module}",\r
1540,0,1540,1698,499.5,2197.5); \r
fAliITSQADataMakerSim->Add2DigitsList(fHistSSDModuleStrip,\r
- fGenOffset + fSSDhDigits);\r
- fSSDhDigits += 1;\r
+ fGenOffsetD + 1);\r
+ fSSDhTask += 1;\r
\r
- AliDebug(1,Form("%d SSD Digits histograms booked\n",fSSDhDigits));\r
+ AliDebug(1,Form("%d SSD Digits histograms booked\n",fSSDhTask));\r
\r
}\r
\r
iSSDdigits->Clear();\r
digits->GetEvent(iModule); \r
Int_t ndigits = iSSDdigits->GetEntries();\r
- fAliITSQADataMakerSim->GetDigitsData(fGenOffset + 0)->Fill(iModule,ndigits);\r
+ fAliITSQADataMakerSim->GetDigitsData(fGenOffsetD + 0)->Fill(iModule,ndigits);\r
if(ndigits != 0)\r
AliDebug(1,Form("Module: %d - Digits: %d",iModule,ndigits));\r
\r
for (Int_t iDigit = 0; iDigit < ndigits; iDigit++) {\r
AliITSdigit *dig = (AliITSdigit*)iSSDdigits->UncheckedAt(iDigit);\r
Int_t fStripNumber = (dig->GetCoord1() == 0) ? dig->GetCoord2() : dig->GetCoord2() + fgkNumberOfPSideStrips;\r
- ((TH2F *)fAliITSQADataMakerSim->GetDigitsData(fGenOffset + 1))->Fill(fStripNumber,iModule,dig->GetSignal());\r
+ ((TH2F *)fAliITSQADataMakerSim->GetDigitsData(fGenOffsetD + 1))->Fill(fStripNumber,iModule,dig->GetSignal());\r
}//digit loop\r
}//module loop\r
}\r
//____________________________________________________________________________ \r
void AliITSQASSDDataMakerSim::InitSDigits() { \r
// Initialization for SDIGIT data - SSD -\r
- fGenOffset = (fAliITSQADataMakerSim->fSDigitsQAList)->GetEntries();\r
+ fGenOffsetS = (fAliITSQADataMakerSim->fSDigitsQAList)->GetEntries();\r
\r
// custom code here\r
TH1F *fHistSSDModule = new TH1F("fHistSSDSDigitsModule",\r
";SSD Module Number;N_{SDIGITS}",\r
1698,499.5,2197.5); \r
fAliITSQADataMakerSim->Add2SDigitsList(fHistSSDModule,\r
- fGenOffset + fSSDhSDigits);\r
- fSSDhSDigits += 1; \r
+ fGenOffsetS + 0);\r
+ fSSDhTask += 1; \r
\r
- AliDebug(1,Form("%d SSD SDigits histograms booked\n",fSSDhSDigits));\r
+ AliDebug(1,Form("%d SSD SDigits histograms booked\n",fSSDhTask));\r
}\r
\r
//____________________________________________________________________________\r
void AliITSQASSDDataMakerSim::MakeSDigits(TTree *sdigits) { \r
// Fill QA for SDIGIT - SSD -\r
- TClonesArray *iSSDsdigits = new TClonesArray("AliITSpListItem",10000);\r
+ static TClonesArray iSSDEmpty("AliITSpListItem",10000);\r
+ iSSDEmpty.Clear();\r
+ TClonesArray *iSSDsdigits = &iSSDEmpty;\r
+\r
+ AliInfo(Form("Trying to access the sdigits histogram: %d\n",fGenOffsetS));\r
+\r
TBranch *brchSDigits = sdigits->GetBranch("ITS");\r
brchSDigits->SetAddress(&iSSDsdigits);\r
for(Int_t iModule = 500; iModule < 2198; iModule++) {\r
iSSDsdigits->Clear();\r
sdigits->GetEvent(iModule); \r
Int_t ndigits = iSSDsdigits->GetEntries();\r
- fAliITSQADataMakerSim->GetSDigitsData(fGenOffset + 0)->Fill(iModule,ndigits);\r
+ fAliITSQADataMakerSim->GetSDigitsData(fGenOffsetS + 0)->Fill(iModule,ndigits);\r
if(ndigits != 0)\r
AliDebug(1,Form("Module: %d - Digits: %d",iModule,ndigits));\r
\r
//____________________________________________________________________________ \r
void AliITSQASSDDataMakerSim::InitHits() { \r
// Initialization for HITS data - SSD -\r
- fGenOffset = (fAliITSQADataMakerSim->fHitsQAList)->GetEntries();\r
+ fGenOffsetH = (fAliITSQADataMakerSim->fHitsQAList)->GetEntries();\r
\r
// custom code here\r
TH1F *fHistSSDModule = new TH1F("fHistSSDHitsModule",\r
";SDD Module Number;N_{HITS}",\r
1698,499.5,2197.5); \r
fAliITSQADataMakerSim->Add2HitsList(fHistSSDModule,\r
- fGenOffset + fSSDhHits);\r
- fSSDhHits += 1;\r
+ fGenOffsetH + 0);\r
+ fSSDhTask += 1;\r
TH1F *fHistSSDGlobalX = new TH1F("fHistSSDHitsGlobalX",\r
";x [cm];Entries",\r
1000,-50.,50.);\r
fAliITSQADataMakerSim->Add2HitsList(fHistSSDGlobalX,\r
- fGenOffset + fSSDhHits);\r
- fSSDhHits += 1;\r
+ fGenOffsetH + 1);\r
+ fSSDhTask += 1;\r
TH1F *fHistSSDGlobalY = new TH1F("fHistSSDHitsGlobalY",\r
";y [cm];Entries",\r
1000,-50.,50.);\r
fAliITSQADataMakerSim->Add2HitsList(fHistSSDGlobalY,\r
- fGenOffset + fSSDhHits);\r
- fSSDhHits += 1;\r
+ fGenOffsetH + 2);\r
+ fSSDhTask += 1;\r
TH1F *fHistSSDGlobalZ = new TH1F("fHistSSDHitsGlobalZ",\r
";z [cm];Entries",\r
1000,-60.,60.);\r
fAliITSQADataMakerSim->Add2HitsList(fHistSSDGlobalZ,\r
- fGenOffset + fSSDhHits);\r
- fSSDhHits += 1;\r
+ fGenOffsetH + 3);\r
+ fSSDhTask += 1;\r
TH1F *fHistSSDLocalX = new TH1F("fHistSSDHitsLocalX",\r
";x [cm];Entries",\r
1000,-4.,4.);\r
fAliITSQADataMakerSim->Add2HitsList(fHistSSDLocalX,\r
- fGenOffset + fSSDhHits);\r
- fSSDhHits += 1;\r
+ fGenOffsetH + 4);\r
+ fSSDhTask += 1;\r
TH1F *fHistSSDLocalY = new TH1F("fHistSSDHitsLocalY",\r
";y [cm];Entries",\r
1000,-0.1,0.1);\r
fAliITSQADataMakerSim->Add2HitsList(fHistSSDLocalY,\r
- fGenOffset + fSSDhHits);\r
- fSSDhHits += 1;\r
+ fGenOffsetH + 5);\r
+ fSSDhTask += 1;\r
TH1F *fHistSSDLocalZ = new TH1F("fHistSSDHitsLocalZ",\r
";z [cm];Entries",\r
1000,-4.,4.);\r
fAliITSQADataMakerSim->Add2HitsList(fHistSSDLocalZ,\r
- fGenOffset + fSSDhHits);\r
- fSSDhHits += 1;\r
+ fGenOffsetH + 6);\r
+ fSSDhTask += 1;\r
TH1F *fHistSSDIonization = new TH1F("fHistSSDHitsIonization",\r
";log(dE/dx) [KeV];N_{Hits}",\r
100,-7,-2);\r
fAliITSQADataMakerSim->Add2HitsList(fHistSSDIonization,\r
- fGenOffset + fSSDhHits);\r
- fSSDhHits += 1;\r
+ fGenOffsetH + 7 );\r
+ fSSDhTask += 1;\r
TH2F *fHistSSDGlobalXY = new TH2F("fHistSSDHitsGlobalXY",\r
";x [cm];y [cm]",\r
1000,-50.,50.,\r
1000,-50.,50.);\r
fAliITSQADataMakerSim->Add2HitsList(fHistSSDGlobalXY,\r
- fGenOffset + fSSDhHits);\r
- fSSDhHits += 1;\r
+ fGenOffsetH + 8 );\r
+ fSSDhTask += 1;\r
\r
- AliDebug(1,Form("%d SSD Hits histograms booked\n",fSSDhHits));\r
+ AliDebug(1,Form("%d SSD Hits histograms booked\n",fSSDhTask));\r
}\r
\r
\r
for (Int_t iHit = 0; iHit < nhits; iHit++) {\r
AliITShit *hit = (AliITShit*) arrHits->At(iHit);\r
\r
- fAliITSQADataMakerSim->GetHitsData(fGenOffset + 0)->Fill(iModule);\r
- fAliITSQADataMakerSim->GetHitsData(fGenOffset + 1)->Fill(hit->GetXG());\r
- fAliITSQADataMakerSim->GetHitsData(fGenOffset + 2)->Fill(hit->GetYG());\r
- fAliITSQADataMakerSim->GetHitsData(fGenOffset + 3)->Fill(hit->GetZG());\r
- fAliITSQADataMakerSim->GetHitsData(fGenOffset + 4)->Fill(hit->GetXL());\r
- fAliITSQADataMakerSim->GetHitsData(fGenOffset + 5)->Fill(hit->GetYL());\r
- fAliITSQADataMakerSim->GetHitsData(fGenOffset + 6)->Fill(hit->GetZL());\r
+ fAliITSQADataMakerSim->GetHitsData(fGenOffsetH + 0)->Fill(iModule);\r
+ fAliITSQADataMakerSim->GetHitsData(fGenOffsetH + 1)->Fill(hit->GetXG());\r
+ fAliITSQADataMakerSim->GetHitsData(fGenOffsetH + 2)->Fill(hit->GetYG());\r
+ fAliITSQADataMakerSim->GetHitsData(fGenOffsetH + 3)->Fill(hit->GetZG());\r
+ fAliITSQADataMakerSim->GetHitsData(fGenOffsetH + 4)->Fill(hit->GetXL());\r
+ fAliITSQADataMakerSim->GetHitsData(fGenOffsetH + 5)->Fill(hit->GetYL());\r
+ fAliITSQADataMakerSim->GetHitsData(fGenOffsetH + 6)->Fill(hit->GetZL());\r
if(hit->GetIonization())\r
- fAliITSQADataMakerSim->GetHitsData(fGenOffset + 7)->Fill(TMath::Log10(hit->GetIonization()));\r
- fAliITSQADataMakerSim->GetHitsData(fGenOffset + 8)->Fill(hit->GetXG(),hit->GetYG());\r
+ fAliITSQADataMakerSim->GetHitsData(fGenOffsetH + 7)->Fill(TMath::Log10(hit->GetIonization()));\r
+ fAliITSQADataMakerSim->GetHitsData(fGenOffsetH + 8)->Fill(hit->GetXG(),hit->GetYG());\r
}//hit loop\r
}//module loop \r
}\r