00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef StL3EventSummary_hh
00035 #define StL3EventSummary_hh
00036
00037 #include "StObject.h"
00038 #include "StContainers.h"
00039 #include "StDaqLib/L3/L3_Banks.hh"
00040
00041 class StL3AlgorithmInfo;
00042
00043 class StL3EventSummary : public StObject
00044 {
00045 public:
00046 StL3EventSummary();
00047 StL3EventSummary(Bank_L3_SUMD *l3sumd);
00048
00049
00050 ~StL3EventSummary() {}
00051
00052 int numberOfProcessedEvents() const;
00053 int numberOfReconstructedEvents() const;
00054 unsigned int numberOfTracks() const;
00055 unsigned int numberOfAlgorithms() const;
00056
00057 int unbiasedTriggerPreScale() const;
00058
00059 bool unbiasedTrigger() const;
00060 bool zVertexTrigger() const;
00061
00062 unsigned int l0TriggerWord() const;
00063
00064 StPtrVecL3AlgorithmInfo& algorithmsAcceptingEvent();
00065 const StPtrVecL3AlgorithmInfo& algorithmsAcceptingEvent() const;
00066
00067 StSPtrVecL3AlgorithmInfo& algorithms();
00068 const StSPtrVecL3AlgorithmInfo& algorithms() const;
00069
00070 void addAlgorithm(StL3AlgorithmInfo*);
00071 void setNumberOfTracks(int);
00072 void setCounters(int, int);
00073 void setUnbiasedTrigger();
00074 void setUnbiasedTriggerPreScale(int);
00075 void setZVertexTrigger();
00076 void setL0TriggerWord(unsigned int);
00077
00078 private:
00079 Int_t mNumberOfProcessedEvents;
00080 Int_t mNumberReconstructedEvents;
00081 UInt_t mNumberOfTracks;
00082 UInt_t mNumberOfAlgorithms;
00083 Bool_t mZVertexTrigger;
00084 Bool_t mUnbiasedTrigger;
00085 UInt_t mL0TriggerWord;
00086 Int_t mUnbiasedPreScale;
00087 StPtrVecL3AlgorithmInfo mL3AcceptAlgorithms;
00088 StSPtrVecL3AlgorithmInfo mL3Algorithms;
00089
00090 ClassDef(StL3EventSummary,2)
00091 };
00092
00093
00094 inline int
00095 StL3EventSummary::numberOfProcessedEvents() const { return mNumberOfProcessedEvents; }
00096
00097 inline int
00098 StL3EventSummary::numberOfReconstructedEvents() const { return mNumberReconstructedEvents; }
00099
00100 inline unsigned int
00101 StL3EventSummary::numberOfTracks() const { return mNumberOfTracks; }
00102
00103 inline unsigned int
00104 StL3EventSummary::numberOfAlgorithms() const { return mNumberOfAlgorithms; }
00105
00106 inline bool
00107 StL3EventSummary::unbiasedTrigger() const { return mUnbiasedTrigger; }
00108
00109 inline bool
00110 StL3EventSummary::zVertexTrigger() const { return mZVertexTrigger; }
00111
00112 inline unsigned int
00113 StL3EventSummary::l0TriggerWord() const { return mL0TriggerWord; }
00114
00115 inline StPtrVecL3AlgorithmInfo&
00116 StL3EventSummary::algorithmsAcceptingEvent() { return mL3AcceptAlgorithms; }
00117
00118 inline const StPtrVecL3AlgorithmInfo&
00119 StL3EventSummary::algorithmsAcceptingEvent() const { return mL3AcceptAlgorithms; }
00120
00121 inline StSPtrVecL3AlgorithmInfo&
00122 StL3EventSummary::algorithms() { return mL3Algorithms; }
00123
00124 inline const StSPtrVecL3AlgorithmInfo&
00125 StL3EventSummary::algorithms() const { return mL3Algorithms; }
00126
00127 inline int
00128 StL3EventSummary::unbiasedTriggerPreScale() const { return mUnbiasedPreScale; }
00129
00130 inline void
00131 StL3EventSummary::setCounters(int nProcessed, int nReconstructed) {
00132 mNumberOfProcessedEvents = nProcessed;
00133 mNumberReconstructedEvents = nReconstructed;
00134 }
00135
00136 inline void
00137 StL3EventSummary::setUnbiasedTrigger() { mUnbiasedTrigger = true; }
00138
00139 inline void
00140 StL3EventSummary::setZVertexTrigger() { mZVertexTrigger = true; }
00141
00142 inline void
00143 StL3EventSummary::setUnbiasedTriggerPreScale(int preScale) { mUnbiasedPreScale = preScale; }
00144
00145 inline void
00146 StL3EventSummary::setL0TriggerWord(unsigned int triggerWord) { mL0TriggerWord = triggerWord; }
00147
00148 #endif