00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00016
00017 #ifndef _StFlowCutTrack_INCLUDED_
00018 #define _StFlowCutTrack_INCLUDED_
00019 #include <Stiostream.h>
00020 #include <stdlib.h>
00021 #include "Rtypes.h"
00022 class StTrack;
00023 class StFlowPicoTrack;
00024 class StMuTrack;
00025
00026 class StFlowCutTrack {
00027
00028 public:
00029
00030 StFlowCutTrack();
00031 virtual ~StFlowCutTrack();
00032
00033 static Int_t CheckTrack(StTrack* pTrack);
00034 static Int_t CheckTrack(StFlowPicoTrack* pPicoTrack);
00035 static Int_t CheckTrack(StMuTrack* pMuTrack);
00036 static void PrintCutList();
00037 static UInt_t EtaSymPosTpc();
00038 static UInt_t EtaSymNegTpc();
00039 static UInt_t EtaSymPosFtpc();
00040 static UInt_t EtaSymNegFtpc();
00041 static void EtaSymClear();
00042 static void SetFitPtsTpc(Int_t lo, Int_t hi);
00043 static void SetFitPtsFtpc(Int_t lo, Int_t hi);
00044 static void SetFitOverMaxPts(Float_t lo, Float_t hi);
00045 static void SetChiSqTpc(Float_t lo, Float_t hi);
00046 static void SetChiSqFtpc(Float_t lo, Float_t hi);
00047 static void SetDcaFtpc(Float_t lo, Float_t hi);
00048 static void SetDcaGlobalFtpc(Float_t lo, Float_t hi);
00049 static void SetPtTpc(Float_t lo, Float_t hi);
00050 static void SetPtFtpc(Float_t lo, Float_t hi);
00051 static void SetEtaTpc(Float_t lo, Float_t hi);
00052 static void SetEtaFtpc(Float_t lo_neg, Float_t hi_neg, Float_t lo_pos, Float_t hi_pos);
00053 static void SetChgTpc(Int_t lo, Int_t hi);
00054 static void SetChgFtpc(Int_t lo, Int_t hi);
00055 static void IncludeTpcTracks(Bool_t tpc_include);
00056 static void IncludeFtpcTracks(Bool_t ftpc_include);
00057
00058 private:
00059
00060 static UInt_t mTrackN;
00061 static UInt_t mTpcTrackN;
00062 static UInt_t mFtpcTrackN;
00063 static UInt_t mFtpcEastTrackN;
00064 static UInt_t mFtpcWestTrackN;
00065
00066 static UInt_t mGoodTrackN;
00067 static UInt_t mGoodTpcTrackN;
00068 static UInt_t mGoodFtpcTrackN;
00069
00070 static UInt_t mEtaSymPosTpcN;
00071 static UInt_t mEtaSymNegTpcN;
00072 static UInt_t mEtaSymPosFtpcN;
00073 static UInt_t mEtaSymNegFtpcN;
00074
00075 static UInt_t mFitPtsTpcCutN;
00076 static Int_t mFitPtsTpcCuts[2];
00077
00078 static UInt_t mFitPtsFtpcCutN;
00079 static Int_t mFitPtsFtpcCuts[2];
00080
00081 static UInt_t mFitOverMaxCutN;
00082 static UInt_t mFitOverMaxTpcCutN;
00083 static UInt_t mFitOverMaxFtpcCutN;
00084 static Float_t mFitOverMaxCuts[2];
00085
00086 static UInt_t mChiSqTpcCutN;
00087 static Float_t mChiSqTpcCuts[2];
00088
00089 static UInt_t mChiSqFtpcCutN;
00090 static Float_t mChiSqFtpcCuts[2];
00091
00092 static UInt_t mDcaFtpcCutN;
00093 static Float_t mDcaFtpcCuts[2];
00094
00095 static UInt_t mDcaGlobalFtpcCutN;
00096 static Float_t mDcaGlobalFtpcCuts[2];
00097
00098 static UInt_t mPtTpcCutN;
00099 static Float_t mPtTpcCuts[2];
00100
00101 static UInt_t mPtFtpcCutN;
00102 static Float_t mPtFtpcCuts[2];
00103
00104 static UInt_t mEtaTpcCutN;
00105 static Float_t mEtaTpcCuts[2];
00106
00107 static UInt_t mEtaFtpcCutN;
00108 static Float_t mEtaFtpcCuts[4];
00109
00110 static UInt_t mChgTpcCutN;
00111 static Int_t mChgTpcCuts[2];
00112
00113 static UInt_t mChgFtpcCutN;
00114 static Int_t mChgFtpcCuts[2];
00115
00116 static UInt_t mTpcTrackCutN;
00117 static Bool_t mTpcTrackCut;
00118
00119 static UInt_t mFtpcTrackCutN;
00120 static Bool_t mFtpcTrackCut;
00121
00122 ClassDef(StFlowCutTrack,1)
00123 };
00124
00125 inline UInt_t StFlowCutTrack::EtaSymPosTpc() { return mEtaSymPosTpcN; }
00126
00127 inline UInt_t StFlowCutTrack::EtaSymNegTpc() { return mEtaSymNegTpcN; }
00128
00129 inline UInt_t StFlowCutTrack::EtaSymPosFtpc() { return mEtaSymPosFtpcN; }
00130
00131 inline UInt_t StFlowCutTrack::EtaSymNegFtpc() { return mEtaSymNegFtpcN; }
00132
00133 inline void StFlowCutTrack::EtaSymClear() { mEtaSymPosTpcN = 0; mEtaSymNegTpcN = 0;
00134 mEtaSymPosFtpcN = 0; mEtaSymNegFtpcN = 0; }
00135
00136 inline void StFlowCutTrack::SetFitPtsTpc(Int_t lo, Int_t hi) {
00137 mFitPtsTpcCuts[0] = lo; mFitPtsTpcCuts[1] = hi; }
00138
00139 inline void StFlowCutTrack::SetFitPtsFtpc(Int_t lo, Int_t hi) {
00140 mFitPtsFtpcCuts[0] = lo; mFitPtsFtpcCuts[1] = hi; }
00141
00142 inline void StFlowCutTrack::SetFitOverMaxPts(Float_t lo, Float_t hi) {
00143 mFitOverMaxCuts[0] = lo; mFitOverMaxCuts[1] = hi; }
00144
00145 inline void StFlowCutTrack::SetChiSqTpc(Float_t lo, Float_t hi) {
00146 mChiSqTpcCuts[0] = lo; mChiSqTpcCuts[1] = hi; }
00147
00148 inline void StFlowCutTrack::SetChiSqFtpc(Float_t lo, Float_t hi) {
00149 mChiSqFtpcCuts[0] = lo; mChiSqFtpcCuts[1] = hi; }
00150
00151 inline void StFlowCutTrack::SetDcaFtpc(Float_t lo, Float_t hi) {
00152 mDcaFtpcCuts[0] = lo; mDcaFtpcCuts[1] = hi; }
00153
00154 inline void StFlowCutTrack::SetDcaGlobalFtpc(Float_t lo, Float_t hi) {
00155 mDcaGlobalFtpcCuts[0] = lo; mDcaGlobalFtpcCuts[1] = hi; }
00156
00157 inline void StFlowCutTrack::SetPtTpc(Float_t lo, Float_t hi) {
00158 mPtTpcCuts[0] = lo; mPtTpcCuts[1] = hi; }
00159
00160 inline void StFlowCutTrack::SetPtFtpc(Float_t lo, Float_t hi) {
00161 mPtFtpcCuts[0] = lo; mPtFtpcCuts[1] = hi; }
00162
00163 inline void StFlowCutTrack::SetEtaTpc(Float_t lo, Float_t hi) {
00164 mEtaTpcCuts[0] = lo; mEtaTpcCuts[1] = hi; }
00165
00166 inline void StFlowCutTrack::SetEtaFtpc(Float_t lo_neg, Float_t hi_neg,
00167 Float_t lo_pos, Float_t hi_pos) {
00168 mEtaFtpcCuts[0] = lo_neg; mEtaFtpcCuts[1] = hi_neg;
00169 mEtaFtpcCuts[2] = lo_pos; mEtaFtpcCuts[3] = hi_pos; }
00170
00171 inline void StFlowCutTrack::SetChgTpc(Int_t lo, Int_t hi) {
00172 mChgTpcCuts[0] = lo; mChgTpcCuts[1] = hi; }
00173
00174 inline void StFlowCutTrack::SetChgFtpc(Int_t lo, Int_t hi) {
00175 mChgFtpcCuts[0] = lo; mChgFtpcCuts[1] = hi; }
00176
00177 inline void StFlowCutTrack::IncludeTpcTracks(Bool_t tpc_include) {
00178 mTpcTrackCut = !tpc_include; }
00179
00180 inline void StFlowCutTrack::IncludeFtpcTracks(Bool_t ftpc_include) {
00181 mFtpcTrackCut = !ftpc_include; }
00182
00183 #endif
00184
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276
00277