00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00016
00017 #ifndef _StFlowCutEvent_INCLUDED_
00018 #define _StFlowCutEvent_INCLUDED_
00019 #include <Stiostream.h>
00020 #include <stdlib.h>
00021 #include "Rtypes.h"
00022 class StEvent;
00023 class StFlowPicoEvent;
00024 class StMuEvent;
00025 class StMuDst;
00026
00027 class StFlowCutEvent {
00028
00029 public:
00030
00031 StFlowCutEvent();
00032 virtual ~StFlowCutEvent();
00033
00034 static Bool_t CheckEvent(StEvent* pEvent);
00035 static Bool_t CheckEvent(StFlowPicoEvent* pPicoEvent);
00036 static Bool_t CheckEvent(StMuDst* pMu);
00037 static Bool_t CheckEtaSymmetry(StEvent* pEvent);
00038 static Bool_t CheckEtaSymmetry(StFlowPicoEvent* pPicoEvent);
00039 static Bool_t CheckEtaSymmetry(StMuEvent* pMuEvent);
00040 static void PrintCutList();
00041 static void SetCent(const Int_t lo, const Int_t hi);
00042 static void SetMult(const Int_t lo, const Int_t hi);
00043 static void SetVertexX(const Float_t lo, const Float_t hi);
00044 static void SetVertexY(const Float_t lo, const Float_t hi);
00045 static void SetVertexZ(const Float_t lo, const Float_t hi);
00046 static void SetEtaSymTpc(Float_t lo, Float_t hi);
00047 static void SetEtaSymFtpc(Float_t lo, Float_t hi);
00048 static void SetTrigger(const UInt_t value);
00049 static UInt_t TriggersFound();
00050 static UInt_t GetFlowTriggerBitMap();
00051
00052 private:
00053
00054 static UInt_t mEventN;
00055 static UInt_t mGoodEventN;
00056
00057 static UInt_t mCentCut;
00058 static Int_t mCentCuts[2];
00059
00060 static UInt_t mMultCut;
00061 static Int_t mMultCuts[2];
00062
00063 static UInt_t mVertexXCut;
00064 static Float_t mVertexXCuts[2];
00065
00066 static UInt_t mVertexYCut;
00067 static Float_t mVertexYCuts[2];
00068
00069 static UInt_t mVertexZCut;
00070 static Float_t mVertexZCuts[2];
00071
00072 static UInt_t mEtaSymTpcCutN;
00073 static Float_t mEtaSymTpcCuts[2];
00074
00075 static UInt_t mEtaSymFtpcCutN;
00076 static Float_t mEtaSymFtpcCuts[2];
00077
00078 static UInt_t mTriggerCutN;
00079 static UInt_t mTriggerCut;
00080
00081 static UInt_t mTriggersFound;
00082 static UInt_t flowTriggerBitMap;
00083
00084 ClassDef(StFlowCutEvent,1)
00085 };
00086
00087 inline void StFlowCutEvent::SetCent(const Int_t lo, const Int_t hi) {
00088 mCentCuts[0] = lo; mCentCuts[1] = hi; }
00089
00090 inline void StFlowCutEvent::SetMult(const Int_t lo, const Int_t hi) {
00091 mMultCuts[0] = lo; mMultCuts[1] = hi; }
00092
00093 inline void StFlowCutEvent::SetVertexX(const Float_t lo, const Float_t hi) {
00094 mVertexXCuts[0] = lo; mVertexXCuts[1] = hi; }
00095
00096 inline void StFlowCutEvent::SetVertexY(const Float_t lo, const Float_t hi) {
00097 mVertexYCuts[0] = lo; mVertexYCuts[1] = hi; }
00098
00099 inline void StFlowCutEvent::SetVertexZ(const Float_t lo, const Float_t hi) {
00100 mVertexZCuts[0] = lo; mVertexZCuts[1] = hi; }
00101
00102 inline void StFlowCutEvent::SetEtaSymTpc(Float_t lo, Float_t hi) {
00103 mEtaSymTpcCuts[0] = lo; mEtaSymTpcCuts[1] = hi; }
00104
00105 inline void StFlowCutEvent::SetEtaSymFtpc(Float_t lo, Float_t hi) {
00106 mEtaSymFtpcCuts[0] = lo; mEtaSymFtpcCuts[1] = hi; }
00107
00108 inline void StFlowCutEvent::SetTrigger(const UInt_t value) {
00109 mTriggerCut = value; }
00110
00111 inline UInt_t StFlowCutEvent::TriggersFound() {
00112 return mTriggersFound; }
00113
00114 inline UInt_t StFlowCutEvent::GetFlowTriggerBitMap() {
00115 return flowTriggerBitMap; }
00116
00117 #endif
00118
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193