11 return myMetricDR_(vec1, vec2);
16 return myMetricAngle_(vec1, vec2);
28 TFormula ConeSizeTFormula;
29 string ConeSizeFormulaStr = ConeSizeFormula;
33 ConeSizeTFormula.SetName(
"ConeSize");
34 ConeSizeTFormula.SetTitle(ConeSizeFormulaStr.data());
35 int errorFlag = ConeSizeTFormula.Compile();
37 throw cms::Exception(
"") <<
"\n unsupported functional Form for " << errorMessage <<
" " << ConeSizeFormula << std::endl
38 <<
"Please check that the Definition in \"" << ConeSizeTFormula.GetName() <<
"\" only contains the variables \"E\" or \"ET\"" 39 <<
" and Functions that are supported by ROOT's TFormular Class." << std::endl;
40 }
else return ConeSizeTFormula;
42 void replaceSubStr(
string&
s,
const string& oldSubStr,
const string& newSubStr){
46 if ( oldSubStr == newSubStr )
return;
51 if ( oldSubStr.empty() )
return;
61 while ( (positionNextMatch = s.find(oldSubStr, positionPreviousMatch)) != string::npos ) {
62 s.replace(positionNextMatch, lengthOldSubStr, newSubStr);
63 positionPreviousMatch = positionNextMatch + lengthNewSubStr;
80 if ((**iTk).pt()>=tkminPt &&
81 (**iTk).normalizedChi2()<=tkmaxChi2 &&
82 fabs((**iTk).dxy(pv.
position()))<=tkmaxipt &&
83 (**iTk).numberOfValidHits()>=tkminTrackerHitsn &&
92 if(pv.
isFake()) tktorefpointmaxDZ=30.;
93 if ((**iTk).pt()>=tkminPt &&
94 (**iTk).normalizedChi2()<=tkmaxChi2 &&
95 fabs((**iTk).dxy(pv.
position()))<=tkmaxipt &&
96 (**iTk).numberOfValidHits()>=tkminTrackerHitsn &&
97 (**iTk).hitPattern().numberOfValidPixelHits()>=tkminPixelHitsn &&
98 fabs((**iTk).dz(pv.
position()))<=tktorefpointmaxDZ)
106 for(std::vector<reco::CandidatePtr>::const_iterator iPFCand=theInitialPFCands.begin();iPFCand!=theInitialPFCands.end();iPFCand++){
107 if (
std::abs((*iPFCand)->pdgId()) == 211 ||
std::abs((*iPFCand)->pdgId()) == 13 ||
std::abs((*iPFCand)->pdgId()) == 11){
109 const reco::Track* PFChargedHadrCand_rectk = (*iPFCand)->bestTrack();
110 if (PFChargedHadrCand_rectk !=
nullptr) {
112 filteredPFChargedHadrCands.push_back(*iPFCand);
121 for(std::vector<reco::CandidatePtr>::const_iterator iPFCand=theInitialPFCands.begin();iPFCand!=theInitialPFCands.end();iPFCand++){
122 if (
std::abs((*iPFCand)->pdgId()) == 211 ||
std::abs((*iPFCand)->pdgId()) == 13 ||
std::abs((*iPFCand)->pdgId()) == 11){
124 const reco::Track* PFChargedHadrCand_rectk = (*iPFCand)->bestTrack();
125 if (PFChargedHadrCand_rectk !=
nullptr) {
126 if ((*PFChargedHadrCand_rectk).pt()>=ChargedHadrCand_tkminPt &&
127 (*PFChargedHadrCand_rectk).normalizedChi2()<=ChargedHadrCand_tkmaxChi2 &&
128 fabs((*PFChargedHadrCand_rectk).dxy(pv.
position()))<=ChargedHadrCand_tkmaxipt &&
129 (*PFChargedHadrCand_rectk).numberOfValidHits()>=ChargedHadrCand_tkminTrackerHitsn &&
131 filteredPFChargedHadrCands.push_back(*iPFCand);
138 if(pv.
isFake()) ChargedHadrCand_tktorefpointmaxDZ = 30.;
140 for(std::vector<reco::CandidatePtr>::const_iterator iPFCand=theInitialPFCands.begin();iPFCand!=theInitialPFCands.end();iPFCand++){
141 if (
std::abs((*iPFCand)->pdgId()) == 211 ||
std::abs((*iPFCand)->pdgId()) == 13 ||
std::abs((*iPFCand)->pdgId()) == 11){
143 const reco::Track* PFChargedHadrCand_rectk = (*iPFCand)->bestTrack();
144 if (PFChargedHadrCand_rectk !=
nullptr) {
145 if ((*PFChargedHadrCand_rectk).pt()>=ChargedHadrCand_tkminPt &&
146 (*PFChargedHadrCand_rectk).normalizedChi2()<=ChargedHadrCand_tkmaxChi2 &&
147 fabs((*PFChargedHadrCand_rectk).dxy(pv.
position()))<=ChargedHadrCand_tkmaxipt &&
148 (*PFChargedHadrCand_rectk).numberOfValidHits()>=ChargedHadrCand_tkminTrackerHitsn &&
149 (*PFChargedHadrCand_rectk).hitPattern().numberOfValidPixelHits()>=ChargedHadrCand_tkminPixelHitsn &&
150 fabs((*PFChargedHadrCand_rectk).dz(pv.
position()))<=ChargedHadrCand_tktorefpointmaxDZ)
151 filteredPFChargedHadrCands.push_back(*iPFCand);
160 for(std::vector<reco::CandidatePtr>::const_iterator iPFCand=theInitialPFCands.begin();iPFCand!=theInitialPFCands.end();iPFCand++){
161 if (
std::abs((*iPFCand)->pdgId()) == 130){
164 filteredPFNeutrHadrCands.push_back(*iPFCand);
173 for(std::vector<reco::CandidatePtr>::const_iterator iPFCand=theInitialPFCands.begin();iPFCand!=theInitialPFCands.end();iPFCand++){
174 if (
std::abs((*iPFCand)->pdgId()) == 22){
177 filteredPFGammaCands.push_back(*iPFCand);
191 if(theTrack->outerOk()){
192 GlobalVector theTrack_initialoutermostGV(theTrack->outerMomentum().x(),theTrack->outerMomentum().y(),theTrack->outerMomentum().z());
193 GlobalPoint theTrack_initialoutermostGP(theTrack->outerPosition().x(),theTrack->outerPosition().y(),theTrack->outerPosition().z());
194 theTrack_initialGV=theTrack_initialoutermostGV;
195 theTrack_initialGP=theTrack_initialoutermostGP;
196 }
else if(theTrack->innerOk()){
197 GlobalVector theTrack_initialinnermostGV(theTrack->innerMomentum().x(),theTrack->innerMomentum().y(),theTrack->innerMomentum().z());
198 GlobalPoint theTrack_initialinnermostGP(theTrack->innerPosition().x(),theTrack->innerPosition().y(),theTrack->innerPosition().z());
199 theTrack_initialGV=theTrack_initialinnermostGV;
200 theTrack_initialGP=theTrack_initialinnermostGP;
201 }
else return (propTrack_XYZPoint);
222 if(!Track_propagatedonECAL_TSOS.
isValid()){
223 if((Track_initialFTS).position().eta()>0.){
230 if(Track_propagatedonECAL_TSOS.
isValid()){
234 propTrack_XYZPoint=validpropTrack_XYZPoint;
236 return (propTrack_XYZPoint);
245 std::vector<size_t> indices;
246 indices.reserve(vec.size());
247 for(
unsigned int i=0;
i<vec.size();++
i)
248 indices.push_back(
i);
254 std::vector<reco::CandidatePtr> sorted;
255 sorted.reserve(vec.size());
257 for(
unsigned int i=0;
i<indices.size();++
i)
258 sorted.push_back(vec.at(indices.at(
i)));
ROOT::Math::SMatrixIdentity AlgebraicMatrixID
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
GlobalPoint globalPosition() const
ChargedHadrCand_tkmaxChi2
const_iterator end() const
Termination of iteration.
const Point & position() const
position
static float barrel_innerradius()
const_iterator begin() const
Initialize an iterator over the RefVector.
static const BoundCylinder & barrelBound()
static const BoundDisk & positiveEndcapDisk()
static const BoundDisk & negativeEndcapDisk()
std::vector< double > vec1
Abs< T >::type abs(const T &t)
GlobalPoint position() const
ChargedHadrCand_tkminPixelHitsn
const GlobalTrajectoryParameters & globalParameters() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
XYZPointD XYZPoint
point in space with cartesian internal representation
ChargedHadrCand_tkminTrackerHitsn
static float barrel_halfLength()
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
NeutrHadrCand_HcalclusMinEt