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;
71 if ( (**iTk).numberOfValidHits() >= tkminTrackerHitsn )
80 if ((**iTk).pt()>=tkminPt &&
81 (**iTk).normalizedChi2()<=tkmaxChi2 &&
82 fabs((**iTk).dxy(pv.
position()))<=tkmaxipt &&
83 (**iTk).numberOfValidHits()>=tkminTrackerHitsn &&
84 (**iTk).hitPattern().numberOfValidPixelHits()>=tkminPixelHitsn)
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::PFCandidatePtr>::const_iterator iPFCand=theInitialPFCands.begin();iPFCand!=theInitialPFCands.end();iPFCand++){
109 TrackRef PFChargedHadrCand_rectk = (**iPFCand).trackRef();
111 if (!PFChargedHadrCand_rectk)
continue;
112 if ( (*PFChargedHadrCand_rectk).numberOfValidHits()>=ChargedHadrCand_tkminTrackerHitsn )
113 filteredPFChargedHadrCands.push_back(*iPFCand);
119 std::vector<reco::PFCandidatePtr>
filteredPFChargedHadrCands(std::vector<reco::PFCandidatePtr> theInitialPFCands,
double ChargedHadrCand_tkminPt,
int ChargedHadrCand_tkminPixelHitsn,
int ChargedHadrCand_tkminTrackerHitsn,
double ChargedHadrCand_tkmaxipt,
double ChargedHadrCand_tkmaxChi2,
Vertex pv){
121 for(std::vector<reco::PFCandidatePtr>::const_iterator iPFCand=theInitialPFCands.begin();iPFCand!=theInitialPFCands.end();iPFCand++){
124 TrackRef PFChargedHadrCand_rectk = (**iPFCand).trackRef();
127 if (!PFChargedHadrCand_rectk)
continue;
128 if ((*PFChargedHadrCand_rectk).pt()>=ChargedHadrCand_tkminPt &&
129 (*PFChargedHadrCand_rectk).normalizedChi2()<=ChargedHadrCand_tkmaxChi2 &&
130 fabs((*PFChargedHadrCand_rectk).dxy(pv.
position()))<=ChargedHadrCand_tkmaxipt &&
131 (*PFChargedHadrCand_rectk).numberOfValidHits()>=ChargedHadrCand_tkminTrackerHitsn &&
132 (*PFChargedHadrCand_rectk).hitPattern().numberOfValidPixelHits()>=ChargedHadrCand_tkminPixelHitsn)
133 filteredPFChargedHadrCands.push_back(*iPFCand);
138 std::vector<reco::PFCandidatePtr>
filteredPFChargedHadrCands(std::vector<reco::PFCandidatePtr> theInitialPFCands,
double ChargedHadrCand_tkminPt,
int ChargedHadrCand_tkminPixelHitsn,
int ChargedHadrCand_tkminTrackerHitsn,
double ChargedHadrCand_tkmaxipt,
double ChargedHadrCand_tkmaxChi2,
double ChargedHadrCand_tktorefpointmaxDZ,
Vertex pv,
double refpoint_Z){
139 if(pv.
isFake()) ChargedHadrCand_tktorefpointmaxDZ = 30.;
141 for(std::vector<reco::PFCandidatePtr>::const_iterator iPFCand=theInitialPFCands.begin();iPFCand!=theInitialPFCands.end();iPFCand++){
144 TrackRef PFChargedHadrCand_rectk = (**iPFCand).trackRef();
145 if (!PFChargedHadrCand_rectk)
continue;
146 if ((*PFChargedHadrCand_rectk).pt()>=ChargedHadrCand_tkminPt &&
147 (*PFChargedHadrCand_rectk).normalizedChi2()<=ChargedHadrCand_tkmaxChi2 &&
148 fabs((*PFChargedHadrCand_rectk).dxy(pv.
position()))<=ChargedHadrCand_tkmaxipt &&
149 (*PFChargedHadrCand_rectk).numberOfValidHits()>=ChargedHadrCand_tkminTrackerHitsn &&
150 (*PFChargedHadrCand_rectk).hitPattern().numberOfValidPixelHits()>=ChargedHadrCand_tkminPixelHitsn &&
151 fabs((*PFChargedHadrCand_rectk).dz(pv.
position()))<=ChargedHadrCand_tktorefpointmaxDZ)
152 filteredPFChargedHadrCands.push_back(*iPFCand);
158 std::vector<reco::PFCandidatePtr>
filteredPFNeutrHadrCands(std::vector<reco::PFCandidatePtr> theInitialPFCands,
double NeutrHadrCand_HcalclusMinEt){
160 for(std::vector<reco::PFCandidatePtr>::const_iterator iPFCand=theInitialPFCands.begin();iPFCand!=theInitialPFCands.end();iPFCand++){
163 if ((**iPFCand).et()>=NeutrHadrCand_HcalclusMinEt){
164 filteredPFNeutrHadrCands.push_back(*iPFCand);
171 std::vector<reco::PFCandidatePtr>
filteredPFGammaCands(std::vector<reco::PFCandidatePtr> theInitialPFCands,
double GammaCand_EcalclusMinEt){
173 for(std::vector<reco::PFCandidatePtr>::const_iterator iPFCand=theInitialPFCands.begin();iPFCand!=theInitialPFCands.end();iPFCand++){
176 if ((**iPFCand).et()>=GammaCand_EcalclusMinEt){
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::PFCandidatePtr> 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)));
ParticleType
particle types
ROOT::Math::SMatrixIdentity AlgebraicMatrixID
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
GlobalPoint globalPosition() const
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
GlobalPoint position() const
const GlobalTrajectoryParameters & globalParameters() const
XYZVectorD XYZVector
spatial vector with cartesian internal representation
XYZPointD XYZPoint
point in space with cartesian internal representation
static float barrel_halfLength()
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
tuple AnalyticalPropagator