00001
00002
00003
00004
00005
00006
00007
00008
00010
00011
00012
00014
00015 #ifndef StFlowEvent_h
00016 #define StFlowEvent_h
00017 #include "StObject.h"
00018 #include "StFlowTrackCollection.h"
00019 #include "StTrackTopologyMap.h"
00020 #include "StThreeVectorF.hh"
00021 #include "StEnumerations.h"
00022 #include "Rtypes.h"
00023 #include "TVector2.h"
00024 #include "TComplex.h"
00025 class StFlowSelection;
00026
00027 class StFlowEvent : public StObject {
00028
00029 public:
00030
00031 StFlowEvent();
00032 virtual ~StFlowEvent();
00033
00034 Double_t PhiWeight(Int_t selN, Int_t harN, StFlowTrack* pFlowTrack) const;
00035 Double_t PhiWeightRaw(Int_t selN, Int_t harN, StFlowTrack* pFlowTrack) const;
00036 Double_t Weight(Int_t selN, Int_t harN, StFlowTrack* pFlowTrack) const;
00037 Double_t ZDCSMD_PsiWgtEast();
00038 Double_t ZDCSMD_PsiWgtWest();
00039 Double_t ZDCSMD_PsiWgtFull();
00040 Int_t EventID() const;
00041 Int_t RunID() const;
00042 Double_t CenterOfMassEnergy() const;
00043 Double_t MagneticField() const;
00044 Short_t BeamMassNumberEast() const;
00045 Short_t BeamMassNumberWest() const;
00046 UInt_t OrigMult() const;
00047 UInt_t L0TriggerWord() const;
00048 UInt_t UncorrNegMult() const;
00049 UInt_t UncorrPosMult() const;
00050 UInt_t MultEta() const;
00051 UInt_t FlowEventMult() const;
00052 UInt_t Centrality() const;
00053 StThreeVectorF VertexPos() const;
00054 UInt_t Mult(StFlowSelection*);
00055 UInt_t MultPart(StFlowSelection*);
00056 TVector2 Q(StFlowSelection*);
00057 TVector2 NormQ(StFlowSelection* pFlowSelect);
00058 TVector2 QPart(StFlowSelection*);
00059 TVector2 ReCentEPPar(StFlowSelection*, char*);
00060 TVector2 ReCentPar(StFlowSelection*, char*);
00061 TVector2 ReCent(Int_t selN, Int_t harN, StFlowTrack* pFlowTrack) const;
00062 TVector2 ReCentEP(Int_t selN, Int_t harN, StFlowTrack* pFlowTrack) const;
00063 Float_t q(StFlowSelection*);
00064 Float_t MeanPt(StFlowSelection*);
00065 Float_t Qtheta(StFlowSelection*, Float_t theta);
00066 TComplex Grtheta(StFlowSelection*, Float_t r, Float_t theta);
00067 TComplex GV1r0theta(StFlowSelection*, Float_t r, Float_t theta1, Float_t theta);
00068 TComplex Gder_r0theta(StFlowSelection*, Float_t r, Float_t theta);
00069 Float_t Psi(StFlowSelection*);
00070 Float_t ZDCSMD_PsiCorr();
00071 Float_t ZDCSMD_PsiEst();
00072 Float_t ZDCSMD_PsiWst();
00073 Float_t ZDCSMD_GetPosition(int eastwest,int verthori,int strip);
00074 Double_t G_New(StFlowSelection* pFlowSelect, Double_t Zx, Double_t Zy);
00075 Double_t G_Mix(StFlowSelection* pFlowSelect, Double_t Z1x, Double_t Z1y, Double_t Z2x, Double_t Z2y);
00076 Double_t SumWeightSquare(StFlowSelection* pFlowSelect);
00077 Double_t PtAbsWgtValue(Double_t pt) const;
00078 Double_t EtaAbsWgtValue(Double_t eta) const;
00079 Float_t CTB() const;
00080 Float_t ZDCe() const;
00081 Float_t ZDCw() const;
00082 Float_t ZDCSMD(int eastwest,int verthori,int strip) const;
00083 Float_t PtWgtSaturation() const;
00084 Bool_t PtWgt() const;
00085 Bool_t EtaWgt() const;
00086 Bool_t FirstLastPhiWgt() const;
00087 Bool_t FirstLastPoints() const;
00088 Bool_t UseZDCSMD() const;
00089 Char_t* Pid();
00090 Bool_t EtaSubs() const;
00091 Bool_t RanSubs() const;
00092
00093 Float_t V1TPCDetctWgtG_Mix(Int_t selN) const;
00094 Float_t V1FtpcEastDetctWgtG_Mix(Int_t selN) const;
00095 Float_t V1FtpcWestDetctWgtG_Mix(Int_t selN) const;
00096
00097 Float_t V2TPCDetctWgtG_Mix(Int_t selN) const;
00098 Float_t V2FtpcEastDetctWgtG_Mix(Int_t selN) const;
00099 Float_t V2FtpcWestDetctWgtG_Mix(Int_t selN) const;
00100
00101
00102 StFlowTrackCollection* TrackCollection() const;
00103
00104 void SetSelections();
00105 void SetPid(const Char_t*);
00106 void SetPidsDeviant();
00107 void SetPidsProb();
00108 void PrintSelectionList();
00109 void MakeSubEvents();
00110 void MakeEtaSubEvents();
00111 void SetEventID(const Int_t&);
00112 void SetRunID(const Int_t&);
00113 void SetCenterOfMassEnergy(const Double_t&);
00114 void SetMagneticField(const Double_t&);
00115 void SetBeamMassNumberEast(const Short_t&);
00116 void SetBeamMassNumberWest(const Short_t&);
00117 void SetOrigMult(const UInt_t&);
00118 void SetL0TriggerWord(const UInt_t&);
00119 void SetUncorrPosMult(const UInt_t&);
00120 void SetUncorrNegMult(const UInt_t&);
00121 void SetMultEta(const UInt_t&);
00122 void SetCentrality();
00123 void SetVertexPos(const StThreeVectorF&);
00124 void SetCTB(const Float_t ctb);
00125 void SetZDCe(const Float_t zdce);
00126 void SetZDCw(const Float_t zdcw);
00127 void SetZDCSMD(int eastwest,int verthori,int strip,const Float_t zdcsmd);
00128 #ifndef __CINT__
00129 void SetPhiWeightFarEast(const Flow::PhiWgt_t &pPhiWgt);
00130 void SetPhiWeightEast(const Flow::PhiWgt_t &pPhiWgt);
00131 void SetPhiWeightWest(const Flow::PhiWgt_t &pPhiWgt);
00132 void SetPhiWeightFarWest(const Flow::PhiWgt_t &pPhiWgt);
00133 void SetPhiWeightFtpcFarEast(const Flow::PhiWgtFtpc_t &pPhiWgt);
00134 void SetPhiWeightFtpcEast(const Flow::PhiWgtFtpc_t &pPhiWgt);
00135 void SetPhiWeightFtpcWest(const Flow::PhiWgtFtpc_t &pPhiWgt);
00136 void SetPhiWeightFtpcFarWest(const Flow::PhiWgtFtpc_t &pPhiWgt);
00137 void SetZDCSMD_PsiWeightWest(const Flow::ZDCSMD_PsiWgt_t& ZDCSMD_PsiWgtWest);
00138 void SetZDCSMD_PsiWeightEast(const Flow::ZDCSMD_PsiWgt_t& ZDCSMD_PsiWgtEast);
00139 void SetZDCSMD_PsiWeightFull(const Flow::ZDCSMD_PsiWgt_t& ZDCSMD_PsiWgtFull);
00140 void SetZDCSMD_BeamCenter(Double_t ex,Double_t ey,Double_t wx,Double_t wy);
00141 void SetReCentX(const Flow::ReCent_t &pReCentX);
00142 void SetReCentY(const Flow::ReCent_t &pReCentY);
00143 #endif
00144 static void SetEtaTpcCut(Float_t lo, Float_t hi, Int_t harN, Int_t selN);
00145 static void SetPtTpcCut(Float_t lo, Float_t hi, Int_t harN, Int_t selN);
00146 static void SetEtaFtpcCut(Float_t lo_neg, Float_t hi_neg,
00147 Float_t lo_pos, Float_t hi_pos,
00148 Int_t harN, Int_t selN);
00149 static void SetPtFtpcCut(Float_t lo, Float_t hi, Int_t harN, Int_t selN);
00150 static void SetPiPlusCut(Float_t lo, Float_t hi);
00151 static void SetPiMinusCut(Float_t lo, Float_t hi);
00152 static void SetProtonCut(Float_t lo, Float_t hi);
00153 static void SetAntiProtonCut(Float_t lo, Float_t hi);
00154 static void SetKPlusCut(Float_t lo, Float_t hi);
00155 static void SetKMinusCut(Float_t lo, Float_t hi);
00156 static void SetElectronCut(Float_t lo, Float_t hi);
00157 static void SetPositronCut(Float_t lo, Float_t hi);
00158 static void SetDeuteronCut(Float_t lo, Float_t hi);
00159 static void SetAntiDeuteronCut(Float_t lo, Float_t hi);
00160 static void SetDcaGlobalTpcCut(Float_t lo, Float_t hi);
00161 static void SetDcaGlobalFtpcCut(Float_t lo, Float_t hi);
00162 static void SetProbPid();
00163 static void SetEtaSubs();
00164 static void SetRanSubs();
00165 static void SetPtWgtSaturation(Float_t);
00166 static void SetPtWgt(Bool_t);
00167 static void SetEtaWgt(Bool_t);
00168 static void SetFirstLastPhiWgt();
00169 static void SetFirstLastPoints();
00170 static void SetUseZDCSMD(Bool_t);
00171
00172 static void SetV1TPCDetctWgtG_Mix(Float_t val, Int_t selN);
00173 static void SetV1FtpcEastDetctWgtG_Mix(Float_t val, Int_t selN);
00174 static void SetV1FtpcWestDetctWgtG_Mix(Float_t val, Int_t selN);
00175
00176
00177 static void SetV2TPCDetctWgtG_Mix(Float_t val, Int_t selN);
00178 static void SetV2FtpcEastDetctWgtG_Mix(Float_t val, Int_t selN);
00179 static void SetV2FtpcWestDetctWgtG_Mix(Float_t val, Int_t selN);
00180 static Bool_t ProbPid();
00181
00182
00183 private:
00184
00185 Int_t mEventID;
00186 Int_t mRunID;
00187 Double_t mMagneticField;
00188 Double_t mCenterOfMassEnergy;
00189 Short_t mBeamMassNumberEast;
00190 Short_t mBeamMassNumberWest;
00191 UInt_t mOrigMult;
00192 UInt_t mL0TriggerWord;
00193 UInt_t mUncorrNegMult;
00194 UInt_t mUncorrPosMult;
00195 UInt_t mMultEta;
00196
00197 UInt_t mCentrality;
00198 StThreeVectorF mVertexPos;
00199 Float_t mCTB;
00200 Float_t mZDCe;
00201 Float_t mZDCw;
00202 Float_t mZDCSMD[2][2][8];
00203 static Double_t mZDCSMDCenterex,mZDCSMDCenterey;
00204 static Double_t mZDCSMDCenterwx,mZDCSMDCenterwy;
00205 static Float_t mEtaTpcCuts[2][2][Flow::nSels];
00206 static Float_t mEtaFtpcCuts[4][2][Flow::nSels];
00207 static Float_t mPtTpcCuts[2][2][Flow::nSels];
00208 static Float_t mPtFtpcCuts[2][2][Flow::nSels];
00209
00210 static Float_t mV1TPCDetctWgtG_Mix[Flow::nSels];
00211 static Float_t mV1FtpcEastDetctWgtG_Mix[Flow::nSels];
00212 static Float_t mV1FtpcWestDetctWgtG_Mix[Flow::nSels];
00213 static Float_t mV2TPCDetctWgtG_Mix[Flow::nSels];
00214 static Float_t mV2FtpcEastDetctWgtG_Mix[Flow::nSels];
00215 static Float_t mV2FtpcWestDetctWgtG_Mix[Flow::nSels];
00216
00217 Flow::PhiWgt_t mPhiWgtFarEast;
00218 Flow::PhiWgt_t mPhiWgtEast;
00219 Flow::PhiWgt_t mPhiWgtWest;
00220 Flow::PhiWgt_t mPhiWgtFarWest;
00221 Flow::PhiWgtFtpc_t mPhiWgtFtpcFarEast;
00222 Flow::PhiWgtFtpc_t mPhiWgtFtpcEast;
00223 Flow::PhiWgtFtpc_t mPhiWgtFtpcWest;
00224 Flow::PhiWgtFtpc_t mPhiWgtFtpcFarWest;
00225 Flow::ZDCSMD_PsiWgt_t mZDCSMD_PsiWgtWest;
00226 Flow::ZDCSMD_PsiWgt_t mZDCSMD_PsiWgtEast;
00227 Flow::ZDCSMD_PsiWgt_t mZDCSMD_PsiWgtFull;
00228 Flow::ReCent_t mReCentX;
00229 Flow::ReCent_t mReCentY;
00230
00231 static Float_t mPiPlusCuts[2];
00232 static Float_t mPtWgtSaturation;
00233 static Bool_t mPtWgt;
00234 static Bool_t mEtaWgt;
00235 static Char_t mPid[10];
00236 static Bool_t mProbPid;
00237 static Bool_t mEtaSubs;
00238 static Bool_t mRanSubs;
00239 static Bool_t mFirstLastPhiWgt;
00240 static Bool_t mFirstLastPoints;
00241 static Bool_t mUseZDCSMD;
00242 static Float_t mPiMinusCuts[2];
00243 static Float_t mProtonCuts[2];
00244 static Float_t mKMinusCuts[2];
00245 static Float_t mKPlusCuts[2];
00246 static Float_t mAntiProtonCuts[2];
00247 static Float_t mDeuteronCuts[2];
00248 static Float_t mAntiDeuteronCuts[2];
00249 static Float_t mElectronCuts[2];
00250 static Float_t mPositronCuts[2];
00251 static Float_t mDcaGlobalTpcCuts[2];
00252 static Float_t mDcaGlobalFtpcCuts[2];
00253
00254 StFlowTrackCollection* pTrackCollection;
00255
00256 ClassDef(StFlowEvent,1)
00257
00258 };
00259
00260 inline StFlowTrackCollection* StFlowEvent::TrackCollection() const {
00261 return pTrackCollection; }
00262
00263 inline Int_t StFlowEvent::EventID() const { return mEventID; }
00264
00265 inline Int_t StFlowEvent::RunID() const { return mRunID; }
00266
00267 inline Double_t StFlowEvent::CenterOfMassEnergy() const { return mCenterOfMassEnergy; }
00268
00269 inline Double_t StFlowEvent::MagneticField() const { return mMagneticField; }
00270
00271 inline Short_t StFlowEvent::BeamMassNumberEast() const { return mBeamMassNumberEast; }
00272
00273 inline Short_t StFlowEvent::BeamMassNumberWest() const { return mBeamMassNumberWest; }
00274
00275 inline UInt_t StFlowEvent::OrigMult() const { return mOrigMult; }
00276
00277 inline UInt_t StFlowEvent::L0TriggerWord() const { return mL0TriggerWord; }
00278
00279 inline UInt_t StFlowEvent::UncorrNegMult() const { return mUncorrNegMult; }
00280
00281 inline UInt_t StFlowEvent::UncorrPosMult() const { return mUncorrPosMult; }
00282
00283 inline UInt_t StFlowEvent::MultEta() const { return mMultEta; }
00284
00285 inline UInt_t StFlowEvent::FlowEventMult() const { return pTrackCollection->size(); }
00286
00287 inline UInt_t StFlowEvent::Centrality() const { return mCentrality; }
00288
00289 inline StThreeVectorF StFlowEvent::VertexPos() const { return mVertexPos; }
00290
00291 inline Float_t StFlowEvent::CTB() const { return mCTB; }
00292
00293 inline Float_t StFlowEvent::ZDCe() const { return mZDCe; }
00294
00295 inline Float_t StFlowEvent::ZDCw() const { return mZDCw; }
00296
00297 inline Float_t StFlowEvent::ZDCSMD(int eastwest,int verthori,int strip) const {return mZDCSMD[eastwest][verthori][strip-1];}
00298
00299 inline Float_t StFlowEvent::PtWgtSaturation() const { return mPtWgtSaturation; }
00300
00301 inline Bool_t StFlowEvent::PtWgt() const { return mPtWgt; }
00302
00303 inline Bool_t StFlowEvent::EtaWgt() const { return mEtaWgt; }
00304
00305 inline Bool_t StFlowEvent::FirstLastPhiWgt() const { return mFirstLastPhiWgt; }
00306
00307 inline Bool_t StFlowEvent::FirstLastPoints() const { return mFirstLastPoints; }
00308
00309 inline Char_t* StFlowEvent::Pid() { return mPid; }
00310
00311 inline Bool_t StFlowEvent::ProbPid() { return mProbPid; }
00312
00313 inline Bool_t StFlowEvent::EtaSubs() const { return mEtaSubs; }
00314
00315 inline Bool_t StFlowEvent::RanSubs() const { return mRanSubs; }
00316
00317 inline Bool_t StFlowEvent::UseZDCSMD() const { return mUseZDCSMD;}
00318
00319 inline Float_t StFlowEvent::V1TPCDetctWgtG_Mix(Int_t selN) const {
00320 return mV1TPCDetctWgtG_Mix[selN]; }
00321 inline Float_t StFlowEvent::V1FtpcEastDetctWgtG_Mix(Int_t selN) const {
00322 return mV1FtpcEastDetctWgtG_Mix[selN]; }
00323 inline Float_t StFlowEvent::V1FtpcWestDetctWgtG_Mix(Int_t selN) const {
00324 return mV1FtpcWestDetctWgtG_Mix[selN]; }
00325
00326 inline Float_t StFlowEvent::V2TPCDetctWgtG_Mix(Int_t selN) const {
00327 return mV2TPCDetctWgtG_Mix[selN]; }
00328 inline Float_t StFlowEvent::V2FtpcEastDetctWgtG_Mix(Int_t selN) const {
00329 return mV2FtpcEastDetctWgtG_Mix[selN]; }
00330 inline Float_t StFlowEvent::V2FtpcWestDetctWgtG_Mix(Int_t selN) const {
00331 return mV2FtpcWestDetctWgtG_Mix[selN]; }
00332
00333 #ifndef __CINT__
00334 inline void StFlowEvent::SetPhiWeightFarEast(const Flow::PhiWgt_t& pPhiWgtFarEast) {
00335 memcpy (mPhiWgtFarEast, pPhiWgtFarEast, sizeof(Flow::PhiWgt_t)); }
00336
00337 inline void StFlowEvent::SetPhiWeightEast(const Flow::PhiWgt_t& pPhiWgtEast) {
00338 memcpy (mPhiWgtEast, pPhiWgtEast, sizeof(Flow::PhiWgt_t)); }
00339
00340 inline void StFlowEvent::SetPhiWeightWest(const Flow::PhiWgt_t& pPhiWgtWest) {
00341 memcpy (mPhiWgtWest, pPhiWgtWest, sizeof(Flow::PhiWgt_t)); }
00342
00343 inline void StFlowEvent::SetPhiWeightFarWest(const Flow::PhiWgt_t& pPhiWgtFarWest) {
00344 memcpy (mPhiWgtFarWest, pPhiWgtFarWest, sizeof(Flow::PhiWgt_t)); }
00345
00346 inline void StFlowEvent::SetPhiWeightFtpcFarEast(const Flow::PhiWgtFtpc_t& pPhiWgtFtpcFarEast) {
00347 memcpy (mPhiWgtFtpcFarEast, pPhiWgtFtpcFarEast, sizeof(Flow::PhiWgtFtpc_t)); }
00348
00349 inline void StFlowEvent::SetPhiWeightFtpcEast(const Flow::PhiWgtFtpc_t& pPhiWgtFtpcEast) {
00350 memcpy (mPhiWgtFtpcEast, pPhiWgtFtpcEast, sizeof(Flow::PhiWgtFtpc_t)); }
00351
00352 inline void StFlowEvent::SetPhiWeightFtpcWest(const Flow::PhiWgtFtpc_t& pPhiWgtFtpcWest) {
00353 memcpy (mPhiWgtFtpcWest, pPhiWgtFtpcWest, sizeof(Flow::PhiWgtFtpc_t)); }
00354
00355 inline void StFlowEvent::SetPhiWeightFtpcFarWest(const Flow::PhiWgtFtpc_t& pPhiWgtFtpcFarWest) {
00356 memcpy (mPhiWgtFtpcFarWest, pPhiWgtFtpcFarWest, sizeof(Flow::PhiWgtFtpc_t)); }
00357
00358 inline void StFlowEvent::SetZDCSMD_PsiWeightEast(const Flow::ZDCSMD_PsiWgt_t& ZDCSMD_PsiWgtEast) {
00359 memcpy (mZDCSMD_PsiWgtEast, ZDCSMD_PsiWgtEast, sizeof(Flow::ZDCSMD_PsiWgt_t)); }
00360
00361 inline void StFlowEvent::SetZDCSMD_PsiWeightWest(const Flow::ZDCSMD_PsiWgt_t& ZDCSMD_PsiWgtWest) {
00362 memcpy (mZDCSMD_PsiWgtWest, ZDCSMD_PsiWgtWest, sizeof(Flow::ZDCSMD_PsiWgt_t)); }
00363
00364 inline void StFlowEvent::SetZDCSMD_PsiWeightFull(const Flow::ZDCSMD_PsiWgt_t& ZDCSMD_PsiWgtFull) {
00365 memcpy (mZDCSMD_PsiWgtFull, ZDCSMD_PsiWgtFull, sizeof(Flow::ZDCSMD_PsiWgt_t)); }
00366
00367 inline void StFlowEvent::SetZDCSMD_BeamCenter(Double_t ex,Double_t ey,Double_t wx,Double_t wy) {
00368 mZDCSMDCenterex = ex; mZDCSMDCenterey = ey; mZDCSMDCenterwx = wx; mZDCSMDCenterwy = wy;}
00369
00370 inline void StFlowEvent::SetReCentX(const Flow::ReCent_t& pReCentX) {
00371 memcpy (mReCentX, pReCentX, sizeof(Flow::ReCent_t)); }
00372
00373 inline void StFlowEvent::SetReCentY(const Flow::ReCent_t& pReCentY) {
00374 memcpy (mReCentY, pReCentY, sizeof(Flow::ReCent_t)); }
00375 #endif
00376
00377 inline void StFlowEvent::SetEtaTpcCut(Float_t lo, Float_t hi, Int_t harN, Int_t selN)
00378 { mEtaTpcCuts[0][harN][selN] = lo; mEtaTpcCuts[1][harN][selN] = hi; }
00379
00380 inline void StFlowEvent::SetPtTpcCut(Float_t lo, Float_t hi, Int_t harN, Int_t selN)
00381 { mPtTpcCuts[0][harN][selN] = lo; mPtTpcCuts[1][harN][selN] = hi; }
00382
00383 inline void StFlowEvent::SetEtaFtpcCut(Float_t lo_neg, Float_t hi_neg,
00384 Float_t lo_pos, Float_t hi_pos,
00385 Int_t harN, Int_t selN)
00386 { mEtaFtpcCuts[0][harN][selN] = lo_neg; mEtaFtpcCuts[1][harN][selN] = hi_neg;
00387 mEtaFtpcCuts[2][harN][selN] = lo_pos; mEtaFtpcCuts[3][harN][selN] = hi_pos; }
00388
00389 inline void StFlowEvent::SetPtFtpcCut(Float_t lo, Float_t hi, Int_t harN, Int_t selN)
00390 { mPtFtpcCuts[0][harN][selN] = lo; mPtFtpcCuts[1][harN][selN] = hi; }
00391
00392 inline void StFlowEvent::SetEventID(const Int_t& id) { mEventID = id; }
00393
00394 inline void StFlowEvent::SetRunID(const Int_t& id) { mRunID = id; }
00395
00396 inline void StFlowEvent::SetMagneticField(const Double_t& mf) { mMagneticField = mf; }
00397
00398 inline void StFlowEvent::SetCenterOfMassEnergy(const Double_t& cms) { mCenterOfMassEnergy = cms; }
00399
00400 inline void StFlowEvent::SetBeamMassNumberEast(const Short_t& bme) { mBeamMassNumberEast = bme; }
00401
00402 inline void StFlowEvent::SetBeamMassNumberWest(const Short_t& bmw) { mBeamMassNumberWest = bmw; }
00403
00404 inline void StFlowEvent::SetOrigMult(const UInt_t& tracks) {
00405 mOrigMult = tracks; }
00406
00407 inline void StFlowEvent::SetL0TriggerWord(const UInt_t& trigger) {
00408 mL0TriggerWord = trigger; }
00409
00410 inline void StFlowEvent::SetUncorrNegMult(const UInt_t& negtracks) {
00411 mUncorrNegMult = negtracks; }
00412
00413 inline void StFlowEvent::SetUncorrPosMult(const UInt_t& postracks) {
00414 mUncorrPosMult = postracks; }
00415
00416 inline void StFlowEvent::SetMultEta(const UInt_t& goodtracks) {
00417 mMultEta = goodtracks; }
00418
00419 inline void StFlowEvent::SetVertexPos(const StThreeVectorF& vertexPos) {
00420 mVertexPos = vertexPos; }
00421
00422 inline void StFlowEvent::SetPiPlusCut(Float_t lo, Float_t hi) {
00423 mPiPlusCuts[0] = lo; mPiPlusCuts[1] = hi; }
00424
00425 inline void StFlowEvent::SetPiMinusCut(Float_t lo, Float_t hi) {
00426 mPiMinusCuts[0] = lo; mPiMinusCuts[1] = hi; }
00427
00428 inline void StFlowEvent::SetProtonCut(Float_t lo, Float_t hi) {
00429 mProtonCuts[0] = lo; mProtonCuts[1] = hi; }
00430
00431 inline void StFlowEvent::SetKMinusCut(Float_t lo, Float_t hi) {
00432 mKMinusCuts[0] = lo; mKMinusCuts[1] = hi; }
00433
00434 inline void StFlowEvent::SetKPlusCut(Float_t lo, Float_t hi) {
00435 mKPlusCuts[0] = lo; mKPlusCuts[1] = hi; }
00436
00437 inline void StFlowEvent::SetAntiProtonCut(Float_t lo, Float_t hi) {
00438 mAntiProtonCuts[0] = lo; mAntiProtonCuts[1] = hi; }
00439
00440 inline void StFlowEvent::SetDeuteronCut(Float_t lo, Float_t hi) {
00441 mDeuteronCuts[0] = lo; mDeuteronCuts[1] = hi; }
00442
00443 inline void StFlowEvent::SetAntiDeuteronCut(Float_t lo, Float_t hi) {
00444 mAntiDeuteronCuts[0] = lo; mAntiDeuteronCuts[1] = hi; }
00445
00446 inline void StFlowEvent::SetElectronCut(Float_t lo, Float_t hi) {
00447 mElectronCuts[0] = lo; mElectronCuts[1] = hi; }
00448
00449 inline void StFlowEvent::SetPositronCut(Float_t lo, Float_t hi) {
00450 mPositronCuts[0] = lo; mPositronCuts[1] = hi; }
00451
00452 inline void StFlowEvent::SetDcaGlobalTpcCut(Float_t lo, Float_t hi) {
00453 mDcaGlobalTpcCuts[0] = lo; mDcaGlobalTpcCuts[1] = hi; }
00454
00455 inline void StFlowEvent::SetDcaGlobalFtpcCut(Float_t lo, Float_t hi) {
00456 mDcaGlobalFtpcCuts[0] = lo; mDcaGlobalFtpcCuts[1] = hi; }
00457
00458 inline void StFlowEvent::SetCTB(const Float_t ctb) { mCTB = ctb; }
00459
00460 inline void StFlowEvent::SetZDCe(const Float_t zdce) { mZDCe = zdce; }
00461
00462 inline void StFlowEvent::SetZDCw(const Float_t zdcw) { mZDCw = zdcw; }
00463
00464 inline void StFlowEvent::SetZDCSMD(int eastwest,int verthori,int strip,const Float_t zdcsmd) {
00465 mZDCSMD[eastwest][verthori][strip-1] = (zdcsmd >0.)? zdcsmd:0.;}
00466
00467 inline void StFlowEvent::SetPid(const Char_t* pid) {
00468 strncpy(mPid, pid, 9); mPid[9] = '\0'; }
00469
00470 inline void StFlowEvent::SetProbPid() { mProbPid = kTRUE; }
00471
00472 inline void StFlowEvent::SetEtaSubs() { mEtaSubs = kTRUE; }
00473
00474 inline void StFlowEvent::SetRanSubs() { mRanSubs = kTRUE; }
00475
00476 inline void StFlowEvent::SetFirstLastPhiWgt() { mFirstLastPhiWgt = kTRUE; }
00477
00478 inline void StFlowEvent::SetFirstLastPoints() { mFirstLastPoints = kTRUE; }
00479
00480 inline void StFlowEvent::SetUseZDCSMD(Bool_t UseZDCSMD) { mUseZDCSMD = UseZDCSMD; }
00481
00482 inline void StFlowEvent::SetPtWgtSaturation(Float_t PtWgtSaturation) { mPtWgtSaturation = PtWgtSaturation; }
00483
00484 inline void StFlowEvent::SetPtWgt(Bool_t PtWgt) { mPtWgt = PtWgt; }
00485
00486 inline void StFlowEvent::SetEtaWgt(Bool_t EtaWgt) { mEtaWgt = EtaWgt; }
00487
00488 inline void StFlowEvent::SetV1TPCDetctWgtG_Mix(Float_t val, Int_t selN){
00489 mV1TPCDetctWgtG_Mix[selN]=val;}
00490 inline void StFlowEvent::SetV1FtpcEastDetctWgtG_Mix(Float_t val, Int_t selN){
00491 mV1FtpcEastDetctWgtG_Mix[selN]=val;}
00492 inline void StFlowEvent::SetV1FtpcWestDetctWgtG_Mix(Float_t val, Int_t selN){
00493 mV1FtpcWestDetctWgtG_Mix[selN]=val;}
00494
00495 inline void StFlowEvent::SetV2TPCDetctWgtG_Mix(Float_t val, Int_t selN){
00496 mV2TPCDetctWgtG_Mix[selN]=val;}
00497 inline void StFlowEvent::SetV2FtpcEastDetctWgtG_Mix(Float_t val, Int_t selN){
00498 mV2FtpcEastDetctWgtG_Mix[selN]=val;}
00499 inline void StFlowEvent::SetV2FtpcWestDetctWgtG_Mix(Float_t val, Int_t selN){
00500 mV2FtpcWestDetctWgtG_Mix[selN]=val;}
00501
00502 #endif
00503
00505
00506
00507
00508
00509
00510
00511
00512
00513
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530
00531
00532
00533
00534
00535
00536
00537
00538
00539
00540
00541
00542
00543
00544
00545
00546
00547
00548
00549
00550
00551
00552
00553
00554
00555
00556
00557
00558
00559
00560
00561
00562
00563
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573
00574
00575
00576
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586
00587
00588
00589
00590
00591
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601
00602
00603
00604
00605
00606
00607
00608
00609
00610
00611
00612
00613
00614
00615
00616
00617
00618
00619
00620
00621
00622
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634
00635
00636
00637
00638
00639
00640
00641
00642
00643
00644
00645
00646
00647
00648
00649
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661
00662
00663
00664
00665
00666
00667
00668
00669
00670
00671
00672
00673
00674
00675
00676
00677
00678
00679
00680
00681
00682
00683
00684
00685
00686
00687
00688
00689
00690
00691
00692
00693
00694
00695
00696
00697
00698
00699
00700
00701
00702
00703
00704
00705
00706
00707
00708
00709
00710
00711
00712
00713