9 #include "StEvent/StEventTypes.h"
11 #include "StEventUtilities/StuRefMult.hh"
12 #include "StEventUtilities/StuProbabilityPidAlgorithm.h"
14 #include "StarClassLibrary/StPhysicalHelixD.hh"
15 #include "StarClassLibrary/StTimer.hh"
17 #include "StFlowMaker/StFlowMaker.h"
18 #include "StFlowMaker/StFlowSelection.h"
19 #include "StFlowMaker/StFlowEvent.h"
22 #include "StStrangeMuDstMaker/StStrangeEvMuDst.hh"
23 #include "StStrangeMuDstMaker/StV0MuDst.hh"
24 #include "StStrangeMuDstMaker/StV0Mc.hh"
25 #include "StStrangeMuDstMaker/StXiMuDst.hh"
26 #include "StStrangeMuDstMaker/StXiMc.hh"
27 #include "StStrangeMuDstMaker/StKinkMuDst.hh"
28 #include "StStrangeMuDstMaker/StKinkMc.hh"
30 #include "StMuDSTMaker/COMMON/StMuException.hh"
31 #include "StMuDSTMaker/COMMON/StMuEvent.h"
32 #include "StMuDSTMaker/COMMON/StMuTrack.h"
33 #include "StMuDSTMaker/COMMON/StMuDebug.h"
34 #include "StMuDSTMaker/COMMON/StMuCut.h"
35 #include "StMuDSTMaker/COMMON/StMuDst.h"
37 #include "StHbtMuDstMakerReader.h"
38 #include "StHbtMaker/Infrastructure/StHbtEvent.hh"
39 #include "StHbtMaker/Base/StHbtEventCut.h"
45 #include "TStreamerInfo.h"
46 #include "TClonesArray.h"
50 #if !(ST_NO_NAMESPACES)
51 using namespace units;
58 StHbtMuDstMakerReader::StHbtMuDstMakerReader(
StMuDstMaker* maker) :
59 mFlowMaker(0), mMuDstMaker(maker),
60 mTrackType(primary), mReadTracks(1),
61 mReadV0s(1), mReadXis(1), mReadKinks(1), mFinish(0),
72 StHbtMuDstMakerReader::~StHbtMuDstMakerReader(){
77 void StHbtMuDstMakerReader::clear(){
84 int StHbtMuDstMakerReader::Init(){
95 void StHbtMuDstMakerReader::Clear(){
102 StHbtEvent* StHbtMuDstMakerReader::ReturnHbtEvent(){
107 mMuDst=mMuDstMaker->
muDst();
109 if (mMuDst && mMuDst->
event() ) {
112 mHbtEvent =
new StHbtEvent(mMuDst, mTrackType);
116 if (!(mEventCut->Pass(mHbtEvent))){
130 if (mFlowMaker && mHbtEvent ) {
132 mFlowMaker->FlowSelection()->SetHarmonic(harmonic);
133 float psi = mFlowMaker->FlowEventPointer()->Psi(mFlowMaker->FlowSelection());
134 mHbtEvent->SetReactionPlane(psi);
142 void StHbtMuDstMakerReader::Finish() {
144 for (
int i=0; i<10; i++) {
145 cout <<
"why are you calling the Finish() again ???????" << endl;
146 cout <<
"are you the stupid chain destructor ???????????" << endl;
154 void StHbtMuDstMakerReader::setProbabilityPidFile(
const char* file) {
155 if (mProbabilityPidAlgorithm)
156 mProbabilityPidAlgorithm->readParametersFromFile(file);
static StMuEvent * event()
returns pointer to current StMuEvent (class holding the event wise information, e.g. event number, run number)
static void fixTrackIndices(TClonesArray *primary, TClonesArray *global)
checks and if necessary corrects the indecies of elements pointing to each other (e.g., a primary track's index to the corresponding global track)