65 EvtDecay(
const string& name, ISvcLocator* pSvcLocator );
74 double ampsLenu( vector<double> Vexp, std::vector<double> vpars );
75 double ampsLbenu( vector<double> Vexp, std::vector<double> vpars );
76 double HV(
double i,
double j, vector<double> Vexp, std::vector<double> vpars );
77 double HA(
double i,
double j, vector<double> Vexp, std::vector<double> vpars );
82 StatusCode callEvtGen( HepMC::GenEvent* hepMCevt );
83 StatusCode callBesEvtGen( HepMC::GenEvent* hepMCevt );
84 StatusCode makeHepMC(
EvtParticle*, HepMC::GenEvent*, HepMC::GenParticle* );
89 void MeVToGeV( HepMC::GenEvent* hepMCevt );
90 void GeVToMeV( HepMC::GenEvent* hepMCevt );
92 void ReadTruth(
EvtParticle* part, std::vector<std::vector<string>> mylist );
95 int isNumber(
double d );
103 vector<long int> m_seeds;
106 string m_DecayDec, m_PdtTable, userDecFileName, m_DecayTop, m_DecayRec, m_ParentPart,
109 std::ofstream outfile, outfile2, truth;
110 std::vector<int> m_InSeeds;
112 bool _mDIY, m_RdMeasuredEcms, _truthAtCM;
113 double dbEcms, m_beamEnergySpread;
115 bool m_Ncharge, m_NtupleFile, m_Psi4040OpenCharm, m_Psi2openCharm, m_statDecays;
117 int AllTrk_index, Trk_index[500];
125 string m_SB3File, m_SB3HT;
131 int pdg0, pdg1, pdg2, pdg, multi;
138 string m_FDPparticle;
144 int br[500], vbr[500];
146 bool isCharmonium(
EvtId xid );
147 bool isCharm(
EvtId xid );
151 std::string getModel(
EvtParticle* par,
int mode );
153 bool m_tagLundModel, _RvalueTag;
155 std::vector<std::string> m_mystring;
156 std::vector<double> m_wind0, m_wind1, m_wind2, m_vangs;
157 std::vector<int> m_cluster0, m_cluster1, m_cluster2;
159 std::vector<std::vector<std::string>> m_ReadTruth;
161 double m_eBeamPolarization;
164 std::vector<double> m_polarization;
165 std::string m_truthFile, m_truthPart;
167 NTuple::Tuple* m_tuple;
168 NTuple::Item<int> TotNumTrk;
169 NTuple::Item<int> m_nchr;
170 NTuple::Item<int> m_nchr_e;
171 NTuple::Item<int> m_nchr_mu;
172 NTuple::Item<int> m_nchr_pi;
173 NTuple::Item<int> m_nchr_k;
174 NTuple::Item<int> m_nchr_p;
175 NTuple::Item<int> m_gamma;
176 NTuple::Item<int> m_gammaFSR;
177 NTuple::Item<int> m_flag1;
179 NTuple::Array<int> m_Trk_index;
180 NTuple::Array<int> m_fst;
181 NTuple::Array<double> m_px_trk;
182 NTuple::Array<double> m_py_trk;
183 NTuple::Array<double> m_pz_trk;
184 NTuple::Array<double> m_en_trk;
186 NTuple::Tuple* mass_tuple;
187 NTuple::Item<double> m_m12;
188 NTuple::Item<double> m_m13;
189 NTuple::Item<double> m_m23;
190 NTuple::Item<double> m_m1;
191 NTuple::Item<double> m_m2;
192 NTuple::Item<double> m_m3;
193 NTuple::Item<double> m_cos1;
194 NTuple::Item<double> m_cos2;
195 NTuple::Item<double> m_cos3;
196 NTuple::Item<int> m_ich;
197 NTuple::Tuple* massgen_tuple;
198 NTuple::Item<double> _m12;
199 NTuple::Item<double> _m13;
200 NTuple::Item<double> _m23;
201 NTuple::Item<double> _m1;
202 NTuple::Item<double> _m2;
203 NTuple::Item<double> _m3;
204 NTuple::Item<double> _cos1;
205 NTuple::Item<double> _cos2;
206 NTuple::Item<double> _cos3;
207 NTuple::Item<int> _ich;