17 #include <TParticlePDG.h>
18 #include <TDatabasePDG.h>
32 : mChargedCurrent(
false)
33 , mLeptonBeamPdgCode(leptonBeamPdgCode)
34 , mScatteredPdgCode(leptonBeamPdgCode)
48 case 21 :
return true;
49 case 201 :
return true;
59 auto pdgl = TDatabasePDG::Instance()->GetParticle( particle.
Id() );
61 return ( particle.
GetStatus() == 1 && string(pdgl->ParticleClass()) ==
"Lepton" );
77 int pdgCode = particle.
Id();
84 if (21 == kI1 && (pdgCode == 2112 || pdgCode == 2212) && parent == 2) {
88 if (21 == kI1 && pdgCode == 21) {
92 if (21 == kI1 && ::
abs(pdgCode) < 10) {
106 if ( particle.
GetStatus() == 0 && status ==0 )
return true;
108 if (pdg<22)
return false;
109 if (pdg>24)
return false;
110 if ( status == 21 )
return true;
111 if ( status == 13 )
return true;
123 if ( particle.
Id() != 2112 && particle.
Id() != 2212
124 &&
abs(particle.
Id()) < 1000000000 )
return false;
127 case 21 :
return true;
128 case 201 :
return true;
143 int sign = beamType /
abs(beamType);
144 return sign * (
abs(beamType) + 1);
179 std::vector<const erhic::VirtualParticle*> particles;
181 if (particles.at(0)) {
184 if (particles.at(1)) {
187 if (particles.at(2)) {
188 beams.
SetBoson(particles.at(2)->Get4Vector());
190 if (particles.at(3)) {
199 std::vector<const erhic::VirtualParticle*>& beams) {
203 beams.assign(4, null);
214 bool foundExchangeBoson(
false);
215 bool foundAll(
false);
216 for (
unsigned n(0);
n <
event.GetNTracks(); ++
n) {
225 }
else if (finder.
isBeamLepton(*particle) && 0 == leptonCount) {
237 foundExchangeBoson =
true;
245 foundAll = std::find(beams.begin(), beams.end(), null) == beams.end();