X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCQADataMakerSim.cxx;h=35447fd59c3d596a74fbe6e06e1e9379a3eb423d;hb=71d5ee506ed0a3db4d9ef0db9fcdc842dfc24bbe;hp=9fcd7f77b9b6e98bec4aa88c20194b2823915d5c;hpb=6252ceeb59406d4f518422dfad532f414e0a23c4;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCQADataMakerSim.cxx b/TPC/AliTPCQADataMakerSim.cxx index 9fcd7f77b9b..35447fd59c3 100644 --- a/TPC/AliTPCQADataMakerSim.cxx +++ b/TPC/AliTPCQADataMakerSim.cxx @@ -43,6 +43,7 @@ #include "AliTPC.h" #include "AliTPCv2.h" #include "AliSimDigits.h" +#include ClassImp(AliTPCQADataMakerSim) @@ -95,6 +96,8 @@ void AliTPCQADataMakerSim::InitDigits() 1000, 0, 1000); histDigitsADC->Sumw2(); Add2DigitsList(histDigitsADC, kDigitsADC, !expert, image); + // + ClonePerTrigClass(AliQAv1::kDIGITS); // this should be the last line } //____________________________________________________________________________ @@ -103,34 +106,36 @@ void AliTPCQADataMakerSim::InitHits() const Bool_t expert = kTRUE ; const Bool_t image = kTRUE ; TH1F * histHitsNhits = - new TH1F("hHitsNhits", "Interactions per primary track in the TPC volume; Number of primary interactions; Counts", + 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 (primaries); Electrons; Counts", + 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 (Primary tracks only); Radius; Counts", + 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 (Primary tracks only); Primaries; Counts", + 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 (Primary tracks only); Electrons; Counts", + new TH1F("hHitsElectronsPerCm", "Electrons per cm; Electrons; Counts", 300, 0., 300.); histHitsElectronsPerCm->Sumw2(); Add2HitsList(histHitsElectronsPerCm, kElectronsPerCm, !expert, image); + // + ClonePerTrigClass(AliQAv1::kHITS); // this should be the last line } //____________________________________________________________________________ @@ -151,9 +156,13 @@ void AliTPCQADataMakerSim::MakeDigits(TTree* digitTree) do { Float_t dig = digArray->CurrentDigit(); - GetDigitsData(kDigitsADC)->Fill(dig); + FillDigitsData(kDigitsADC,dig); } while (digArray->Next()); } + // + IncEvCountCycleDigits(); + IncEvCountTotalDigits(); + // } //____________________________________________________________________________ @@ -180,9 +189,12 @@ void AliTPCQADataMakerSim::MakeHits(TTree * hitTree) Float_t xold = tpcHit->X(); Float_t yold = tpcHit->Y(); Float_t zold = tpcHit->Z(); - Float_t radiusOld = TMath::Sqrt(xold*xold + yold*yold); + 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(); @@ -194,44 +206,53 @@ void AliTPCQADataMakerSim::MakeHits(TTree * hitTree) Int_t trackNo = tpcHit->GetTrack(); - if(trackNo==n) { // primary track - - GetHitsData(kElectrons)->Fill(tpcHit->fQ); - GetHitsData(kRadius)->Fill(radius); + FillHitsData(kElectrons,tpcHit->fQ); + FillHitsData(kRadius,radius); - // find the new distance - dist += TMath::Sqrt((x-xold)*(x-xold) + (y-yold)*(y-yold) + - (z-zold)*(z-zold)); - if(dist<1.){ - // add data to this 1 cm step - nprim++; - q += tpcHit->fQ; + if(trackNo==trackOld) { // if the same track + + // find the new distance + dist += TMath::Sqrt((x-xold)*(x-xold) + (y-yold)*(y-yold) + + (z-zold)*(z-zold)); + if(dist<1.){ // add data to this 1 cm step - } else{ - // Fill the histograms normalized to per cm + nprim++; + q += tpcHit->fQ; + } else{ // Fill the histograms normalized to per cm - if(nprim==1) - cout << radius << ", " << radiusOld << ", " << dist << endl; + // if(nprim==1) + // cout << radius << ", " << radiusOld << ", " << dist << endl; - GetHitsData(kPrimPerCm)->Fill((Float_t)nprim); - GetHitsData(kElectronsPerCm)->Fill(q); + FillHitsData(kPrimPerCm,(Float_t)nprim); + FillHitsData(kElectronsPerCm,q); - dist = 0; - q = 0; - nprim = 0; - } - } - } - - radiusOld = radius; - xold = x; - yold = y; - zold = z; + dist = 0; + q = 0; + nprim = 0; + } + } else { // reset for new track + + dist = 0; + q = 0; + nprim = 0; + } + } + + radiusOld = radius; + xold = x; + yold = y; + zold = z; + trackOld = tpcHit->GetTrack(); - tpcHit = (AliTPChit*) tpc->NextHit(); - } + tpcHit = (AliTPChit*) tpc->NextHit(); } - GetHitsData(kNhits)->Fill(nHits); } - } + FillHitsData(kNhits,nHits); + } + // + IncEvCountCycleHits(); + IncEvCountTotalHits(); + // +} +