From 6465da91a0828a7c628f9575061dbd43734d750d Mon Sep 17 00:00:00 2001 From: abercuci Date: Fri, 7 Oct 2011 10:02:06 +0000 Subject: [PATCH] add trigger monitor plot (infoGen) fix range for monitoring Dpt/pt (resolution) --- PWG1/TRD/AliTRDinfoGen.cxx | 27 +++++++++++++++++++++++++++ PWG1/TRD/AliTRDinfoGen.h | 3 ++- PWG1/TRD/AliTRDresolution.cxx | 4 ++-- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/PWG1/TRD/AliTRDinfoGen.cxx b/PWG1/TRD/AliTRDinfoGen.cxx index 08f27b8cdb7..9a278d1aa58 100644 --- a/PWG1/TRD/AliTRDinfoGen.cxx +++ b/PWG1/TRD/AliTRDinfoGen.cxx @@ -259,6 +259,8 @@ void AliTRDinfoGen::UserCreateOutputObjects() fContainer->AddAt(h, kEvType); h=new TH1I("hBC", "TOF Bunch Cross statistics;BC index;Entries", 31, -10.5, 20.5); fContainer->AddAt(h, kBunchCross); + h=new TH1I("hTriggers", "Triggers statistics;;Entries", 21, -0.5, 20.5); + fContainer->AddAt(h, kTrigger); PostData(AliTRDpwg1Helper::kMonitor, fContainer); } @@ -378,6 +380,23 @@ void AliTRDinfoGen::UserExec(Option_t *){ // link MC if available fMCev = MCEvent(); + + // trigger monitor + h = (TH1I*)fContainer->At(kTrigger); + TAxis *ax(h->GetXaxis()); + TObjArray *evTriggers = fESDev->GetFiredTriggerClasses().Tokenize(" "); + for(Int_t iet(evTriggers->GetEntriesFast()); iet--;){ + Int_t ix(1); + for(; ix<=ax->GetNbins(); ix++){ + if(!Int_t(h->GetBinContent(ix))){ + ax->SetBinLabel(ix, (*evTriggers)[iet]->GetName()); + break; + } + if(strcmp((*evTriggers)[iet]->GetName(), ax->GetBinLabel(ix))==0 || + strcmp(Form("#color[2]{%s}", (*evTriggers)[iet]->GetName()), ax->GetBinLabel(ix))==0) break; + } + h->AddBinContent(ix); + } // event selection : trigger cut if(UseLocalEvSelection() && fEvTrigger){ @@ -386,6 +405,12 @@ void AliTRDinfoGen::UserExec(Option_t *){ for(Int_t itrig=trig->GetEntriesFast(); itrig--;){ const Char_t *trigClass(((TObjString*)(*trig)[itrig])->GetName()); if(fESDev->IsTriggerClassFired(trigClass)) { + for(Int_t ix(1); ixGetNbins(); ix++){ + if(strcmp(ax->GetBinLabel(ix), trigClass)==0){ + ax->SetBinLabel(ix, Form("#color[2]{%s}", trigClass)); + break; + } + } AliDebug(2, Form("Ev[%4d] Trigger[%s]", fESDev->GetEventNumberInFile(), trigClass)); kTRIGGERED = kTRUE; break; @@ -395,6 +420,8 @@ void AliTRDinfoGen::UserExec(Option_t *){ AliDebug(2, Form("Reject Ev[%4d] Trigger", fESDev->GetEventNumberInFile())); return; } + //printf("Ev[%4d] Trigger[%s]\n", fESDev->GetEventNumberInFile(), fESDev->GetFiredTriggerClasses().Data()); + // select only physical events if(fESDev->GetEventType() != 7){ AliDebug(2, Form("Reject Ev[%4d] EvType[%d]", fESDev->GetEventNumberInFile(), fESDev->GetEventType())); diff --git a/PWG1/TRD/AliTRDinfoGen.h b/PWG1/TRD/AliTRDinfoGen.h index 684edb076a3..e9c339e7326 100644 --- a/PWG1/TRD/AliTRDinfoGen.h +++ b/PWG1/TRD/AliTRDinfoGen.h @@ -59,6 +59,7 @@ public: kStatTrk = 0 ,kEvType ,kBunchCross + ,kTrigger ,kNclasses }; AliTRDinfoGen(); @@ -102,7 +103,7 @@ private: static const Float_t fgkTRD; // end TRD // Trigger selection - TString *fEvTrigger; // list of trigger classes separated by space + TString *fEvTrigger; // list of accepted trigger classes separated by space // Vertex selection static const Float_t fgkEvVertexZ;// cm static const Int_t fgkEvVertexN;// cm diff --git a/PWG1/TRD/AliTRDresolution.cxx b/PWG1/TRD/AliTRDresolution.cxx index a60b2ca3fbb..8c58b7c3a1f 100644 --- a/PWG1/TRD/AliTRDresolution.cxx +++ b/PWG1/TRD/AliTRDresolution.cxx @@ -698,7 +698,7 @@ TH1* AliTRDresolution::PlotMC(const AliTRDtrackV1 *track) val[kYrez] = dy; val[kPrez] = TMath::ATan((dydx - dydx0)/(1.+ dydx*dydx0))*TMath::RadToDeg(); val[kZrez] = dz; - val[kNdim] = pt/pt0-1.; + val[kNdim] = 1.e2*(pt/pt0-1.); if((H = (THnSparse*)fContainer->At(kMCtrack))) H->Fill(val); /* // theta resolution/ tgl pulls Double_t dzdl0 = dzdx0/TMath::Sqrt(1.+dydx0*dydx0), @@ -1849,7 +1849,7 @@ TObjArray* AliTRDresolution::Histos() Double_t trMax[kNdim+1]; memcpy(trMax, fgkMax, kNdim*sizeof(Double_t)); // set specific fields trTitle[kBC]=StrDup("layer"); trNbins[kBC] = AliTRDgeometry::kNlayer; trMin[kBC] = -0.5; trMax[kBC] = AliTRDgeometry::kNlayer-0.5; - trTitle[kNdim]=StrDup("#Deltap_{t}/p_{t} [%]"); trNbins[kNdim] = 30; trMin[kNdim] = -15.; trMax[kNdim] = 15.; + trTitle[kNdim]=StrDup("#Deltap_{t}/p_{t} [%]"); trNbins[kNdim] = 25; trMin[kNdim] = -4.5; trMax[kNdim] = 20.5; trMin[kYrez] = -0.9; trMax[kYrez] = -trMin[kYrez]; trMin[kPrez] = -1.5; trMax[kPrez] = -trMin[kPrez]; trMin[kZrez] = -0.9; trMax[kZrez] = -trMin[kZrez]; -- 2.43.0