5 const float chg[109] = {
6 -
onethird,
twothird,-
onethird,
twothird,-
onethird,
twothird,-
onethird,
twothird,0,0,
7 -1,0,-1,0,-1,0,-1,0,0,0,
8 0,0, 0,1, 0,0, 0,0,0,0,
9 1,0, 1,2, 0,0, 1,2,0,0,
10 -
onethird,
twothird,-
onethird,
twothird,-
onethird,
twothird,0,0,0,0,
11 -1,0,-1,0,-1,0, 0,0,0,0,
12 -
onethird,
twothird,-
onethird,
twothird,-
onethird,
twothird,0,0,0,0,
13 -1,0,-1,0,-1,0, 1,1,0,0,
14 0,0, 0,0, 0,0, 0,0,0,0,
15 0,0, 0,0, 0,0, 0,0,0,0,
16 0,0, 0,0, 0,0, 0,0,0};
24 if(kqa<=100) {hepchg =
chg[kqa-1];}
26 else if(kqa==100 || kqa==101) {hepchg = -1;}
28 else if(kqa==102 || kqa==104) {hepchg = -2;}
29 else if(kqa%10 != 0) {
30 int kqx=kqa/1000000%10;
35 if(kqx>0 && irt<100) {
37 if(kqa==5100061 || kqa==5100062) {hepchg = 2;}
41 hepchg =
chg[kq2-1]-
chg[kq1-1];
43 if((kq2==3) || (kq2==5)) {hepchg = chg[kq1-1]-chg[kq2-1];}
46 hepchg =
chg[kq3-1] +
chg[kq2-1];
49 hepchg =
chg[kq3-1]+
chg[kq2-1]+
chg[kq1-1];
53 if(
thePID<0) {hepchg = -hepchg;}
61 o << t.
type() <<
", ";
std::ostream & operator<<(std::ostream &out, const ALILine &li)
float charge() const
charge
Abs< T >::type abs(const T &t)
int type() const
particle type (HEP PDT convension)
const math::XYZTLorentzVectorD & momentum() const