#ifndef STNTUPLE_TStnHeaderBlock #define STNTUPLE_TStnHeaderBlock //----------------------------------------------------------------------------- // definition of the STNTUPLE event header // Author: Pasha Murat (CDF/FNAL) // Date: Oct 31 2000 // //----------------------------------------------------------------------------- #include "TStnDataBlock.hh" class TStnEvent; class TStnHeaderBlock : public TStnDataBlock { friend Int_t StntupleInitHeaderBlock (TStnDataBlock*, AbsEvent* , int); friend Int_t StnRun1InitHeaderBlock (TStnDataBlock*, TStnEvent*, int); friend Int_t StntupleHeaderBlockLinks(TStnDataBlock*, AbsEvent* , int); public: Int_t fVersion; Int_t fEventNumber; Int_t fRunNumber; Int_t fSectionNumber; // section number within the run Int_t fMcFlag; // MC flag, 0 for real data Int_t fGoodRun; // run flag Int_t fBrCode; // Int_t fGoodTrig; Int_t fTrigWord; // Int_t fNLCent; // # unused Int_t fNLPlug; // # unused Int_t fNLepton; // total number of hpt leptons Int_t fNTracks; // Int_t fNCdfEmObjects; Int_t fNCdfMuons; Int_t fNCdfTaus; Int_t fNTowersOot; Int_t fCpu; // packed word with processing time Float_t fInstLum; // instantaneous luminosity Float_t fEOut; // total out-of-time energy Float_t fPressure; // air pressure Float_t fEmFraction; // sum(em et)/sum(had et) Float_t fChFraction; // charged fraction: sum(Pt)/sum(Et) TString fStnVersion; // like dev_243_16 //------------------------------------------------------------------------------ // now the data which are not a part of STNTUPLE //------------------------------------------------------------------------------ // number/run number for the last // printed event Int_t fLastNumber; // ! Int_t fLastRunNumber; // ! //------------------------------------------------------------------------------ // function members //------------------------------------------------------------------------------ public: // ****** constructors and destructor TStnHeaderBlock(); virtual ~TStnHeaderBlock(); // ****** accessors Int_t EventNumber () const { return fEventNumber; } Int_t RunNumber () const { return fRunNumber; } Int_t SectionNumber() const { return fSectionNumber; } Int_t McFlag () const { return fMcFlag; } Int_t NCentralHptl () const { return fNLCent; } Int_t NTracks () const { return fNTracks; } Int_t NCdfEmObjects() const { return fNCdfEmObjects; } Int_t NCdfMuons () const { return fNCdfMuons; } Int_t NCdfTaus () const { return fNCdfTaus; } Int_t NTowersOot () const { return fNTowersOot; } Float_t InstLum () const { return fInstLum; } Float_t EOut () const { return fEOut ; } Float_t Pressure () const { return fPressure ; } Float_t EmFraction () const { return fEmFraction; } Float_t ChFraction () const { return fChFraction; } Float_t CpuTime () const { return ((fCpu>>8)/10.0); } // in s Float_t CpuSpeed () const { return ((fCpu&0xFF)/5.0); } // in GHz const TString& StnVersion () const { return fStnVersion; } // ****** setters/modifiers // ****** overloaded functions of // TObject void Clear(Option_t* opt = ""); void Print(Option_t* opt = "") const; // ****** schema evolution void ReadV50(TBuffer& R__b); ClassDef(TStnHeaderBlock,53) // STNTUPLE event header }; #endif