fContainer->AddAt(h, kEvType);\r
h=new TH1I("hBC", "TOF Bunch Cross statistics;BC index;Entries", 31, -10.5, 20.5);\r
fContainer->AddAt(h, kBunchCross);\r
+ h=new TH1I("hTriggers", "Triggers statistics;;Entries", 21, -0.5, 20.5);\r
+ fContainer->AddAt(h, kTrigger);\r
PostData(AliTRDpwg1Helper::kMonitor, fContainer);\r
}\r
\r
\r
// link MC if available\r
fMCev = MCEvent();\r
+ \r
+ // trigger monitor\r
+ h = (TH1I*)fContainer->At(kTrigger);\r
+ TAxis *ax(h->GetXaxis());\r
+ TObjArray *evTriggers = fESDev->GetFiredTriggerClasses().Tokenize(" ");\r
+ for(Int_t iet(evTriggers->GetEntriesFast()); iet--;){\r
+ Int_t ix(1);\r
+ for(; ix<=ax->GetNbins(); ix++){\r
+ if(!Int_t(h->GetBinContent(ix))){\r
+ ax->SetBinLabel(ix, (*evTriggers)[iet]->GetName());\r
+ break;\r
+ }\r
+ if(strcmp((*evTriggers)[iet]->GetName(), ax->GetBinLabel(ix))==0 ||\r
+ strcmp(Form("#color[2]{%s}", (*evTriggers)[iet]->GetName()), ax->GetBinLabel(ix))==0) break;\r
+ }\r
+ h->AddBinContent(ix);\r
+ }\r
\r
// event selection : trigger cut\r
if(UseLocalEvSelection() && fEvTrigger){ \r
for(Int_t itrig=trig->GetEntriesFast(); itrig--;){\r
const Char_t *trigClass(((TObjString*)(*trig)[itrig])->GetName());\r
if(fESDev->IsTriggerClassFired(trigClass)) {\r
+ for(Int_t ix(1); ix<ax->GetNbins(); ix++){\r
+ if(strcmp(ax->GetBinLabel(ix), trigClass)==0){\r
+ ax->SetBinLabel(ix, Form("#color[2]{%s}", trigClass));\r
+ break;\r
+ }\r
+ }\r
AliDebug(2, Form("Ev[%4d] Trigger[%s]", fESDev->GetEventNumberInFile(), trigClass));\r
kTRIGGERED = kTRUE;\r
break; \r
AliDebug(2, Form("Reject Ev[%4d] Trigger", fESDev->GetEventNumberInFile()));\r
return;\r
}\r
+ //printf("Ev[%4d] Trigger[%s]\n", fESDev->GetEventNumberInFile(), fESDev->GetFiredTriggerClasses().Data());\r
+\r
// select only physical events\r
if(fESDev->GetEventType() != 7){ \r
AliDebug(2, Form("Reject Ev[%4d] EvType[%d]", fESDev->GetEventNumberInFile(), fESDev->GetEventType()));\r
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),
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];