// // The version of the class should be changed every time // when any changes in the codes are done // Grigory Nigmatkulov: 2016/12/15 // #ifndef STO97FEMTODSTMAKER_H #define STO97FEMTODSTMAKER_H #include "StMaker.h" #include "StThreeVector.hh" #include "StThreeVectorF.hh" #include "StPhysicalHelixD.hh" #include "StRefMultCorr/StRefMultCorr.h" #include "StFemtoEvent.h" #include "StFemtoTrack.h" #include "StMuDSTMaker/COMMON/StMuDstMaker.h" #include "StMuDSTMaker/COMMON/StMuDst.h" #include "StMuDSTMaker/COMMON/StMuEvent.h" #include "StMuDSTMaker/COMMON/StMuTrack.h" #include "StMuDSTMaker/COMMON/StMuPrimaryVertex.h" #include "StMuDSTMaker/COMMON/StMuBTofPidTraits.h" #include "StMuDSTMaker/COMMON/StMuBTofHit.h" #include #include #include #include #include #include #include #include #include #include "TDatabasePDG.h" #include "TRandom3.h" #include #include using namespace std; // // Predefinisions // class StFemtoEvent; class StFemtoTrack; class StMuDst; class StMuDstMaker; class StMuEvent; class StMuTrack; class StO97FemtoDstMaker : public StMaker { public: StO97FemtoDstMaker(const Char_t *iFileName, const Char_t *oFileName); ~StO97FemtoDstMaker(); void Clear(Option_t *option = "") { StMaker::Clear(option); } Int_t Init(); Int_t Make(); Int_t Finish(); Bool_t IsStop() { return mStop; } void SetCompressionlevel(Int_t comp); // // Setters // // event void SetSphericityCut(float ptCut) { mPtCut = ptCut; } // track void SetParticleMomentum(const Float_t& lo, const Float_t& hi) { mTrackMomentum[0]=lo; mTrackMomentum[1]=hi; } void SetTrackDca(const Float_t& lo, const Float_t& hi) { mTrackDca[0]=lo; mTrackDca[1]=hi; } void SetTrackEta(const Float_t& lo, const Float_t& hi) { mTrackEta[0]=lo; mTrackEta[1]=hi; } private: const Char_t *mOutFileName; const Char_t *mInFileName; TFile *mOutFile; FILE *mInFile; TTree *mTree; Int_t mCompression; TRandom3 *mRandy; TDatabasePDG *mDb; // // Reference Multiplicity // int mRefMult; int mRefMult2; int mRefMultPos; int mRefMult2Pos; // // Sphericity // TMatrixTSym *mMatrix; // transverse sphericity matrix float mPtCut; float mSphericity; // // Single-particle cuts // Float_t mTrackMomentum[2]; Float_t mTrackDca[2]; Float_t mTrackEta[2]; Bool_t mStop; Int_t mNBytes; Int_t mNEvents; Int_t mNTracks; char mBuf[128]; // buffer for general read purposes StFemtoEvent *mEvent; Bool_t ReadEvent(); Bool_t ReadTracks(); Double_t dedxMean(Double_t mass, Double_t momentum); void TopologyMap(unsigned int *tmap1, unsigned int *tmap2, float ptot); ClassDef(StO97FemtoDstMaker, 1) }; #endif