]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
add trigger monitor plot (infoGen)
authorabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Oct 2011 10:02:06 +0000 (10:02 +0000)
committerabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Oct 2011 10:02:06 +0000 (10:02 +0000)
fix range for monitoring Dpt/pt (resolution)

PWG1/TRD/AliTRDinfoGen.cxx
PWG1/TRD/AliTRDinfoGen.h
PWG1/TRD/AliTRDresolution.cxx

index 08f27b8cdb7df933ede89443afafcdbcfddf3010..9a278d1aa5844490ad71aa04f2f3e862145417cd 100644 (file)
@@ -259,6 +259,8 @@ void AliTRDinfoGen::UserCreateOutputObjects()
   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
@@ -378,6 +380,23 @@ void AliTRDinfoGen::UserExec(Option_t *){
 \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
@@ -386,6 +405,12 @@ void AliTRDinfoGen::UserExec(Option_t *){
     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
@@ -395,6 +420,8 @@ void AliTRDinfoGen::UserExec(Option_t *){
       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
index 684edb076a3e20d6995641334c7670748b1f7986..e9c339e732606c3bf2193a0316486e64580fe81e 100644 (file)
@@ -59,6 +59,7 @@ public:
      kStatTrk = 0\r
     ,kEvType\r
     ,kBunchCross\r
+    ,kTrigger\r
     ,kNclasses\r
   };\r
   AliTRDinfoGen();\r
@@ -102,7 +103,7 @@ private:
   static const Float_t fgkTRD;      // end TRD\r
 \r
   // Trigger selection\r
-  TString              *fEvTrigger; // list of trigger classes separated by space\r
+  TString              *fEvTrigger; // list of accepted trigger classes separated by space\r
   // Vertex selection\r
   static const Float_t fgkEvVertexZ;// cm\r
   static const Int_t   fgkEvVertexN;// cm\r
index a60b2ca3fbb041f40823878c19585e804977333b..8c58b7c3a1fa841e8c6ca75100bee79edf15e058 100644 (file)
@@ -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];