]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
In AliMUONQADataMakerRec:
authorivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 17 Feb 2009 18:47:38 +0000 (18:47 +0000)
committerivana <ivana@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 17 Feb 2009 18:47:38 +0000 (18:47 +0000)
 - Added scaler time in QA and plot hit rates instead of integrated
   number of hits
In AliMUONRawWriter:
 - Fix bug in (dummy) scaler event generation during raw data writing
   in simulations
(Diego)

MUON/AliMUONQADataMakerRec.cxx
MUON/AliMUONQADataMakerRec.h
MUON/AliMUONRawWriter.cxx

index 0bd194a95e21189a4710174e4c716fe6808608e6..a825d42f7b6390ece34c5a44a4cd9f1e5e6f865f 100644 (file)
@@ -479,6 +479,10 @@ void AliMUONQADataMakerRec::InitRaws()
          Add2RawsList(h9, kTriggerHVDisplay + iChamber, !forExpert);
        }
 
+       TH1F* h10 = new TH1F("hTriggerScalersTime", "Trigger scalers acquisition time", 1, 0.5, 1.5);
+       h10->GetXaxis()->SetBinLabel(1, "One-bin histogram: bin is filled at each scaler event.");
+       h10->GetYaxis()->SetTitle("Cumulated scaler time (s)");
+       Add2RawsList(h10, kTriggerScalersTime, !forExpert);
        
   Int_t nbp(0);
   TIter next(AliMpDDLStore::Instance()->CreateBusPatchIterator());
@@ -905,6 +909,12 @@ void AliMUONQADataMakerRec::MakeRawsTrigger(AliRawReader* rawReader)
       AliMUONDDLTrigger* ddlTrigger = rawStreamTrig.GetDDLTrigger();
       AliMUONDarcHeader* darcHeader = ddlTrigger->GetDarcHeader();
 
+      if (darcHeader->GetGlobalFlag()){
+        UInt_t nOfClocks = darcHeader->GetGlobalClock();
+        Double_t nOfSeconds = ((Double_t) nOfClocks) / 40e6; // 1 clock each 25 ns
+        ((TH1F*)GetRawsData(kTriggerScalersTime))->Fill(1., nOfSeconds);
+      }
+
       Int_t nReg = darcHeader->GetRegHeaderEntries();
     
       for(Int_t iReg = 0; iReg < nReg ;iReg++)
@@ -1207,6 +1217,10 @@ void AliMUONQADataMakerRec::DisplayTriggerInfo(AliQA::TASKINDEX_t task)
       histoStrips->GetXaxis()->SetRange(bin,bin);
       TH2F* inputHisto = (TH2F*)histoStrips->Project3D("zy");
       triggerDisplay.FillDisplayHistogram(inputHisto, histoDisplayStrips, AliMUONTriggerDisplay::kDisplayStrips, iCath, iChamber);
+      if(task==AliQA::kRAWS) {
+        Float_t acquisitionTime = ((TH1F*)GetRawsData(kTriggerScalersTime))->GetBinContent(1);
+        histoDisplayStrips->Scale(1./acquisitionTime);
+      }
     } // iChamber
   } // iCath
 
index 878fa17fa7ac4e891400247f1dc26727d8039e28..6d55fda8b32ae1e3227c9f70b6d7c92a999f06f1 100644 (file)
@@ -54,7 +54,8 @@ private:
     kTrackerBusPatchOccupancy = 4, ///< Bus patch occupancies
     kTriggerScalersBP      = 22, ///< Trigger scalers on BP histogram per chamber index
     kTriggerScalersNBP     = 23, ///< Trigger scalers on NBP histogram per chamber index
-    kTriggerScalersDisplay = 24  ///< Trigger scalers display histogram per chamber index
+    kTriggerScalersDisplay = 24, ///< Trigger scalers display histogram per chamber index
+    kTriggerScalersTime    = 32  ///< Trigger scalers acquisition time index
   };
          
   /// Rec points histograms indices
index 12cbfa46e180ff26887647de178663cbe1e9c0bd..9befd823a3a6d5f0412709aaaf11cc56213ebf1a 100644 (file)
@@ -563,7 +563,7 @@ Int_t AliMUONRawWriter::WriteTriggerDDL(const AliMUONVTriggerStore& triggerStore
 
     if (fScalerEvent) {
       // 10 Global scaler words
-      memcpy(fDarcHeader->GetGlobalScalers(), &buffer[index], kGlobalScalerLength*4);
+      memcpy(&buffer[index], fDarcHeader->GetGlobalScalers(), kGlobalScalerLength*4);
       index += kGlobalScalerLength;
     }