From 522fdd917f9ae07051eb9c203587f8680508899c Mon Sep 17 00:00:00 2001 From: lietava Date: Thu, 2 Jul 2009 08:50:58 +0000 Subject: [PATCH] Trigger scalers added to ESD header. --- STEER/AliReconstruction.cxx | 33 +++++++++++++++++++++++++++++++++ STEER/AliReconstruction.h | 7 +++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/STEER/AliReconstruction.cxx b/STEER/AliReconstruction.cxx index 194b3a44f24..f5ea2d1e35c 100644 --- a/STEER/AliReconstruction.cxx +++ b/STEER/AliReconstruction.cxx @@ -230,6 +230,7 @@ AliReconstruction::AliReconstruction(const char* gAliceFilename) : fUseHLTData(), fRunInfo(NULL), fEventInfo(), + fRunScalers(NULL), fRunLoader(NULL), fRawReader(NULL), @@ -326,6 +327,7 @@ AliReconstruction::AliReconstruction(const AliReconstruction& rec) : fUseHLTData(rec.fUseHLTData), fRunInfo(NULL), fEventInfo(), + fRunScalers(NULL), fRunLoader(NULL), fRawReader(NULL), @@ -444,6 +446,10 @@ AliReconstruction& AliReconstruction::operator = (const AliReconstruction& rec) fEventInfo = rec.fEventInfo; + delete fRunScalers; fRunScalers = NULL; + if (rec.fRunScalers) fRunScalers = new AliTriggerRunScalers(*rec.fRunScalers); + + fRunLoader = NULL; fRawReader = NULL; fParentRawReader = NULL; @@ -518,6 +524,7 @@ AliReconstruction::~AliReconstruction() delete fListOfCosmicTriggers; } delete fGRPData; + delete fRunScalers; fOptions.Delete(); if (fAlignObjArray) { fAlignObjArray->Delete(); @@ -1202,7 +1209,21 @@ Bool_t AliReconstruction::LoadCDB() } return kTRUE; } +//_____________________________________________________________________________ +Bool_t AliReconstruction::LoadTriggerScalersCDB() +{ + AliCodeTimerAuto(""); + + AliCDBEntry* entry = AliCDBManager::Instance()->Get("GRP/CTP/Scalers"); + if (entry) { + + AliInfo("Found an AliTriggerRunScalers in GRP/CTP/Scalers, reading it"); + fRunScalers = dynamic_cast (entry->GetObject()); + entry->SetOwner(0); + } + return kTRUE; +} //_____________________________________________________________________________ Bool_t AliReconstruction::Run(const char* input) { @@ -2565,6 +2586,18 @@ Bool_t AliReconstruction::FillTriggerESD(AliESDEvent*& esd) // Here one has to add the filling interaction records } + //Scalers + if(fRunScalers){ + //AliTimeStamp* timestamp = new AliTimeStamp(esd->GetOrbitNumber(), esd->GetPeriodNumber(), esd->GetBunchCrossNumber()); + AliTimeStamp* timestamp = new AliTimeStamp(14322992, 5, (ULong64_t)486238); + AliESDHeader* esdheader = fesd->GetHeader(); + for(Int_t i=0;i<50;i++){ + if((1<GetTriggerMask()){ + AliTriggerScalersESD* scalesd = fRunScalers->GetScalersForEventClass( timestamp, i); + esdheader->SetTriggerScalersRecord(scalesd); + } + } + } return kTRUE; } diff --git a/STEER/AliReconstruction.h b/STEER/AliReconstruction.h index a9330c8de33..e8724ba5579 100644 --- a/STEER/AliReconstruction.h +++ b/STEER/AliReconstruction.h @@ -43,9 +43,11 @@ class AliDetectorRecoParam; class AliRunInfo; class AliGRPObject; class THashTable; +class AliTriggerRunScalers; #include "AliQAv1.h" #include "AliEventInfo.h" #include "AliRecoParam.h" +#include "AliTriggerRunScalers.h" class AliReconstruction: public TSelector { public: @@ -168,6 +170,7 @@ private: void SetCDBLock(); Bool_t SetRunNumberFromData(); Bool_t LoadCDB(); + Bool_t LoadTriggerScalersCDB(); Bool_t RunLocalEventReconstruction(const TString& detectors); Bool_t RunVertexFinder(AliESDEvent*& esd); Bool_t RunHLTTracking(AliESDEvent*& esd); @@ -242,7 +245,7 @@ private: TString fUseHLTData; // Detectors for which the HLT data is used as input AliRunInfo* fRunInfo; // an object which contains essential global conditions information AliEventInfo fEventInfo; // an object which contains essential event information - + AliTriggerRunScalers* fRunScalers; // an object which contains the trigger counters for xsection AliRunLoader* fRunLoader; //! current run loader object AliRawReader* fRawReader; //! current raw data reader AliRawReader* fParentRawReader; //! parent raw data reader in case of AliRawReaderHLT @@ -296,7 +299,7 @@ private: TTree* fChain; //! The raw-data chain in case of AliRawReaderChain - ClassDef(AliReconstruction, 33) // class for running the reconstruction + ClassDef(AliReconstruction, 34) // class for running the reconstruction }; #endif -- 2.39.3