25 std::vector<int> tmpcodes
27 (
"forbiddenPdgCodes", std::vector<int>() );
32 forbiddenPdgCodes.begin() ));
34 if( !forbiddenPdgCodes.empty() ) {
35 std::cout<<
"KineParticleFilter : Forbidden PDG codes : ";
36 copy(forbiddenPdgCodes.begin(), forbiddenPdgCodes.end(),
37 std::ostream_iterator<int>(
std::cout,
" "));
45 double etaPreshMin = 1.479;
46 double etaPreshMax = 1.594;
47 double cosPreshMin = (
std::exp(2.*etaPreshMin)-1.) / (
std::exp(2.*etaPreshMin)+1.);
48 double cosPreshMax = (
std::exp(2.*etaPreshMax)-1.) / (
std::exp(2.*etaPreshMax)+1.);
66 bool particleCut = ( pId > 10 && pId != 12 && pId != 14 &&
67 pId != 16 && pId != 18 && pId != 21 &&
68 (pId < 23 || pId > 40 ) &&
69 (pId < 81 || pId > 100 ) && pId != 2101 &&
70 pId != 3101 && pId != 3201 && pId != 1103 &&
71 pId != 2103 && pId != 2203 && pId != 3103 &&
72 pId != 3203 && pId != 3303 );
76 if ( !particleCut )
return false;
79 bool protonTaggers = (pId == 2212 && p->E() >=
EMax) ;
80 if ( protonTaggers )
return true;
88 bool eneCut = p->E() >=
EMin;
89 if (!eneCut)
return false;
93 if (!pTCut)
return false;
107 if (!etaCut)
return false;
111 double radius2 = p->
R2();
112 double zed = fabs(p->
Z());
115 bool ecalAcc = ( (radius2<129.01*129.01 && zed<317.01) ||
117 && radius2<171.11*171.11 && zed<317.01) );
123 double radius2 = p->Perp2();
124 double zed = fabs(p->Pz());
128 bool ecalAcc = ( (radius2<129.01*129.01 && zed<317.01) ||
130 && radius2<171.11*171.11 && zed<317.01) );
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
int pid() const
get the HEP particle ID number
double R2() const
vertex radius**2
double cos2ThetaV() const
double Z() const
z of vertex
double charge() const
get the MEASURED charge
const XYZTLorentzVector & vertex() const
the vertex fourvector
std::set< int > forbiddenPdgCodes
KineParticleFilter(const edm::ParameterSet &kine)
virtual bool isOKForMe(const RawParticle *p) const
the real selection is done here
XYZTLorentzVector mainVertex
double cos2Theta() const
Cos**2(theta) is faster to determine than eta.