//////////////////////////////////////////////////////////////////////////////
class TObject;
class AliTimeStamp;
+class AliTriggerScalersESD;
class AliTriggerScalersRecord;
+class AliTriggerScalersRecordESD;
#include "TArrayC.h"
public:
AliTriggerRunScalers();
- virtual ~AliTriggerRunScalers() { fScalersRecord.SetOwner(); fScalersRecord.Delete(); }
-
+ virtual ~AliTriggerRunScalers();
// Getters
Short_t GetVersion() const { return fVersion; }
ULong_t GetRunNumber() const { return fRunNumber; }
UChar_t GetNumClasses() const { return fnClasses; }
Char_t GetClass( Int_t i ) const { return fClassIndex[i]; }
- TObjArray* GetScalersRecords() { return &fScalersRecord; }
- AliTriggerScalersRecord* GetScalersRecord( Int_t index )
- { return (AliTriggerScalersRecord*)fScalersRecord.At(index); }
- Int_t FindNearestScalersRecord( AliTimeStamp * stamp );
- Bool_t ConsistencyCheck();
+ const TObjArray* GetScalersRecords() const { return &fScalersRecord; }
+ const TObjArray* GetScalersRecordsESD() const { return &fScalersRecordESD; }
+ AliTriggerScalersRecord* GetScalersRecord( Int_t index ) const { return (AliTriggerScalersRecord*)fScalersRecord.At(index); }
+ Int_t FindNearestScalersRecord( const AliTimeStamp *stamp ) const;
+ AliTriggerScalersESD* GetScalersForEventClass(const AliTimeStamp* stamp,const Int_t classIndex) const;
+ // Analysis
+ Int_t ConsistencyCheck(Int_t position,Bool_t correctOverflow, UInt_t** overflow);
+ Int_t CorrectScalersOverflow();
+ Int_t CheckRunScalers(){return (fScalersRecord.GetEntriesFast()==fScalersRecordESD.GetEntriesFast());}
// Setters
void SetVersion( Short_t ver ) { fVersion = ver; }
void SetRunNumber( ULong_t run ) { fRunNumber = run; }
void SetClass( UChar_t i, UChar_t index ) { fClassIndex[i]=index; }
void AddTriggerScalers( AliTriggerScalersRecord* scal );
virtual void Print( const Option_t* opt ="" ) const;
-
+ AliTriggerRunScalers( const AliTriggerRunScalers &run );
+ AliTriggerRunScalers& operator=(const AliTriggerRunScalers& run);
static AliTriggerRunScalers* ReadScalers( TString & filename );
-
private:
Short_t fVersion; // Version
ULong_t fRunNumber; // Run number
UChar_t fnClasses; // Number of trigger classes
TArrayC fClassIndex; // list of classes used in this partition
TObjArray fScalersRecord; // Array of records (AliTriggerScalersRecord)
+ TObjArray fScalersRecordESD; // Array of records with 64bit scalers (AliTriggerScalersRecordESD)
+
- // AliTriggerRunScalers( const AliTriggerRunScalers &run );
- AliTriggerRunScalers& operator=(const AliTriggerRunScalers& run);
- ClassDef( AliTriggerRunScalers, 1 ) // Define a Run Trigger Scalers (Scalers)
+ ClassDef( AliTriggerRunScalers, 3 ) // Define a Run Trigger Scalers (Scalers)
};
#endif