9 #include "tables/St_g2t_event_Table.h"
10 #include "tables/St_particle_Table.h"
11 #include "StMcEvent/StMcEventTypes.hh"
12 #include "StSpinPool/StMCAsymMaker/StMCAsymMaker.h"
13 #include "StGammaPythiaEvent.h"
14 #include "StGammaPythiaEventMaker.h"
28 LOG_WARN <<
"No StGammaPythiaEvent" << endm;
36 LOG_WARN <<
"No StMcEvent" << endm;
44 LOG_WARN <<
"No StMCAsymMaker" << endm;
58 LOG_WARN <<
"No geant data set!" << endm;
63 St_particle *particleTabPtr = (St_particle*)geantDstI(
"particle");
64 particle_st *pTable = particleTabPtr->GetTable();
67 for(
int i = 0; i < particleTabPtr->GetNRows(); ++i)
70 if(pTable[i].isthep != 1)
continue;
72 if(TMath::Abs(pTable[i].idhep) < 100)
continue;
74 mPythia->hadron().push_back(TLorentzVector(pTable[i].phep[0], pTable[i].phep[1], pTable[i].phep[2], pTable[i].phep[3]));
76 if(pTable[i].idhep == 111)
78 mPythia->neutralPion().push_back(TLorentzVector(pTable[i].phep[0], pTable[i].phep[1], pTable[i].phep[2], pTable[i].phep[3]));
89 St_g2t_event* Pg2t_event = (St_g2t_event*)geantDstI(
"g2t_event");
90 g2t_event_st* g2t_event = Pg2t_event->GetTable();
91 long pid = g2t_event->subprocess_id;
93 bool photonEvent = (pid==14) || (pid==18) || (pid==29) || (pid==114) || (pid==115);
94 if(!photonEvent)
return kStOk;
99 for(UInt_t
id = 0;
id < primary->numberOfDaughters(); ++id)
103 if ( !track )
continue;
107 bool promptFlag = (track->geantId() == 1);
110 promptFlag &= track->parent()->eventGenLabel() >= 5;
114 promptFlag &= track->parent()->pdgId() == 22;
120 if(track->stopVertex())
122 mPythia->conversion().push_back(TLorentzVector(trackV.px(),trackV.py(),trackV.pz(),trackV.e()));
126 mPythia->prompt().push_back(TLorentzVector(trackV.px(),trackV.py(),trackV.pz(),trackV.e()));
Monte Carlo Track class All information on a simulated track is stored in this class: kinematics...
Event data structure to hold all information from a Monte Carlo simulation. This class is the interfa...