114 ParameterSet TpSelectorForEfficiencyVsConPSet = TpSelectorForEfficiencyVsEtaPSet;
116 TpSelectorForEfficiencyVsConPSet.insert(
true,
"signalOnly",name);
118 using namespace reco::modules;
144 << minPt <<
" <= 0 out of range while requesting log scale. Using minPt = 0.1.";
171 std::vector<double> etaintervalsv;
172 std::vector<double> phiintervalsv;
173 std::vector<double> pTintervalsv;
174 std::vector<double> dxyintervalsv;
175 std::vector<double> dzintervalsv;
176 std::vector<double> vertposintervalsv;
177 std::vector<double> zposintervalsv;
178 std::vector<double> vertcountintervalsv;
180 std::vector<int> totSIMveta,totASSveta,totASS2veta,totloopveta,totmisidveta,totASS2vetaSig,totRECveta;
181 std::vector<int> totSIMvpT,totASSvpT,totASS2vpT,totRECvpT,totloopvpT,totmisidvpT;
182 std::vector<int> totSIMv_hit,totASSv_hit,totASS2v_hit,totRECv_hit,totloopv_hit,totmisidv_hit;
183 std::vector<int> totSIMv_phi,totASSv_phi,totASS2v_phi,totRECv_phi,totloopv_phi,totmisidv_phi;
184 std::vector<int> totSIMv_dxy,totASSv_dxy,totASS2v_dxy,totRECv_dxy,totloopv_dxy,totmisidv_dxy;
185 std::vector<int> totSIMv_dz,totASSv_dz,totASS2v_dz,totRECv_dz,totloopv_dz,totmisidv_dz;
187 std::vector<int> totSIMv_vertpos,totASSv_vertpos,totSIMv_zpos,totASSv_zpos;
188 std::vector<int> totSIMv_vertcount,totASSv_vertcount,totRECv_vertcount,totASS2v_vertcount;
189 std::vector<int> totRECv_algo;
193 etaintervalsv.push_back(
minEta);
196 etaintervalsv.push_back(d);
197 totSIMveta.push_back(0);
198 totASSveta.push_back(0);
199 totASS2veta.push_back(0);
200 totloopveta.push_back(0);
201 totmisidveta.push_back(0);
202 totASS2vetaSig.push_back(0);
203 totRECveta.push_back(0);
220 for (
size_t i = 0;
i < 15;
i++) {
221 totRECv_algo.push_back(0);
226 pTintervalsv.push_back(
minPt);
231 pTintervalsv.push_back(d);
232 totSIMvpT.push_back(0);
233 totASSvpT.push_back(0);
234 totASS2vpT.push_back(0);
235 totRECvpT.push_back(0);
236 totloopvpT.push_back(0);
237 totmisidvpT.push_back(0);
248 totSIMv_hit.push_back(0);
249 totASSv_hit.push_back(0);
250 totASS2v_hit.push_back(0);
251 totRECv_hit.push_back(0);
252 totloopv_hit.push_back(0);
253 totmisidv_hit.push_back(0);
263 phiintervalsv.push_back(
minPhi);
266 phiintervalsv.push_back(d);
267 totSIMv_phi.push_back(0);
268 totASSv_phi.push_back(0);
269 totASS2v_phi.push_back(0);
270 totRECv_phi.push_back(0);
271 totloopv_phi.push_back(0);
272 totmisidv_phi.push_back(0);
283 dxyintervalsv.push_back(
minDxy);
286 dxyintervalsv.push_back(d);
287 totSIMv_dxy.push_back(0);
288 totASSv_dxy.push_back(0);
289 totASS2v_dxy.push_back(0);
290 totRECv_dxy.push_back(0);
291 totloopv_dxy.push_back(0);
292 totmisidv_dxy.push_back(0);
304 dzintervalsv.push_back(
minDz);
307 dzintervalsv.push_back(d);
308 totSIMv_dz.push_back(0);
309 totASSv_dz.push_back(0);
310 totASS2v_dz.push_back(0);
311 totRECv_dz.push_back(0);
312 totloopv_dz.push_back(0);
313 totmisidv_dz.push_back(0);
327 vertposintervalsv.push_back(d);
328 totSIMv_vertpos.push_back(0);
329 totASSv_vertpos.push_back(0);
336 zposintervalsv.push_back(
minZpos);
339 zposintervalsv.push_back(d);
340 totSIMv_zpos.push_back(0);
341 totASSv_zpos.push_back(0);
360 vertcountintervalsv.push_back(d);
361 totSIMv_vertcount.push_back(0);
362 totASSv_vertcount.push_back(0);
363 totASS2v_vertcount.push_back(0);
364 totRECv_vertcount.push_back(0);
403 h_etaSIM.push_back(
dbe_->
book1D(
"etaSIM",
"generated pseudorapidity", 500, -2.5, 2.5 ) );
411 h_tracks.push_back(
dbe_->
book1D(
"tracks",
"number of reconstructed tracks",401,-0.5,400.5) );
412 h_fakes.push_back(
dbe_->
book1D(
"fakes",
"number of fake reco tracks",101,-0.5,100.5) );
468 "N of associated tracks (simToReco) vs transverse vert position",
473 h_assoczpos.push_back(
dbe_->
book1D(
"num_assoc(simToReco)_zpos",
"N of associated tracks (simToReco) vs z vert position",
532 h_eta.push_back(
dbe_->
book1D(
"eta",
"pseudorapidity residue", 1000, -0.1, 0.1 ) );
533 h_pt.push_back(
dbe_->
book1D(
"pullPt",
"pull of p_{t}", 100, -10, 10 ) );
841 double dxySim,
double dzSim,
int nSimHits,
843 int numVertices,
double vertz){
875 if (numVertices ==
vertcountintervals[count][f] && momentumTP.eta() <= 0.9 && momentumTP.eta() >= -0.9) {
1014 for (
unsigned int i=0;
i<v_dEdx.size();
i++) {
1015 dEdxTrack = v_dEdx.at(
i);
1016 dedx = dEdxTrack[trackref].dEdx();
1017 nom = dEdxTrack[trackref].numberOfMeasurements();
1018 sat = dEdxTrack[trackref].numberOfSaturatedMeasurements();
1038 bool isChargeMatched,
1039 int numAssocRecoTracks,
1041 int tpbunchcrossing,
int nSimHits,
1042 double sharedFraction){
1197 int Layers1D = LayersAll - Layers2D;
1224 double qoverpSim = chargeTP/
sqrt(momentumTP.x()*momentumTP.x()+momentumTP.y()*momentumTP.y()+momentumTP.z()*momentumTP.z());
1225 double lambdaSim =
M_PI/2-momentumTP.theta();
1226 double phiSim = momentumTP.phi();
1227 double dxySim = (-vertexTP.x()*
sin(momentumTP.phi())+vertexTP.y()*
cos(momentumTP.phi()));
1228 double dzSim = vertexTP.z() - (vertexTP.x()*momentumTP.x()+vertexTP.y()*momentumTP.y())/
sqrt(momentumTP.perp2())
1229 * momentumTP.z()/
sqrt(momentumTP.perp2());
1234 double qoverpRec(0);
1235 double qoverpErrorRec(0);
1237 double ptErrorRec(0);
1238 double lambdaRec(0);
1239 double lambdaErrorRec(0);
1241 double phiErrorRec(0);
1264 lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
1267 double ptError = ptErrorRec;
1268 double ptres=ptRec-
sqrt(momentumTP.perp2());
1269 double etares=track.
eta()-momentumTP.Eta();
1272 double dxyRec = track.
dxy(bsPosition);
1273 double dzRec = track.
dz(bsPosition);
1276 double qoverpPull=(qoverpRec-qoverpSim)/qoverpErrorRec;
1277 double thetaPull=(lambdaRec-lambdaSim)/lambdaErrorRec;
1278 double phiPull=(phiRec-phiSim)/phiErrorRec;
1279 double dxyPull=(dxyRec-dxySim)/track.
dxyError();
1280 double dzPull=(dzRec-dzSim)/track.
dzError();
1282 double contrib_Qoverp = ((qoverpRec-qoverpSim)/qoverpErrorRec)*
1283 ((qoverpRec-qoverpSim)/qoverpErrorRec)/5;
1284 double contrib_dxy = ((dxyRec-dxySim)/track.
dxyError())*((dxyRec-dxySim)/track.
dxyError())/5;
1285 double contrib_dz = ((dzRec-dzSim)/track.
dzError())*((dzRec-dzSim)/track.
dzError())/5;
1286 double contrib_theta = ((lambdaRec-lambdaSim)/lambdaErrorRec)*
1287 ((lambdaRec-lambdaSim)/lambdaErrorRec)/5;
1288 double contrib_phi = ((phiRec-phiSim)/phiErrorRec)*
1289 ((phiRec-phiSim)/phiErrorRec)/5;
1294 <<
"ptREC=" << ptRec <<
"\n" <<
"etaREC=" << track.
eta() <<
"\n" <<
"qoverpREC=" << qoverpRec <<
"\n"
1295 <<
"dxyREC=" << dxyRec <<
"\n" <<
"dzREC=" << dzRec <<
"\n"
1296 <<
"thetaREC=" << track.
theta() <<
"\n" <<
"phiREC=" << phiRec <<
"\n"
1298 <<
"qoverpError()=" << qoverpErrorRec <<
"\n" <<
"dxyError()=" << track.
dxyError() <<
"\n"<<
"dzError()="
1300 <<
"thetaError()=" << lambdaErrorRec <<
"\n" <<
"phiError()=" << phiErrorRec <<
"\n"
1302 <<
"ptSIM=" <<
sqrt(momentumTP.perp2()) <<
"\n"<<
"etaSIM=" << momentumTP.Eta() <<
"\n"<<
"qoverpSIM=" << qoverpSim <<
"\n"
1303 <<
"dxySIM=" << dxySim <<
"\n"<<
"dzSIM=" << dzSim <<
"\n" <<
"thetaSIM=" <<
M_PI/2-lambdaSim <<
"\n"
1304 <<
"phiSIM=" << phiSim <<
"\n"
1306 <<
"contrib_Qoverp=" << contrib_Qoverp <<
"\n"<<
"contrib_dxy=" << contrib_dxy <<
"\n"<<
"contrib_dz=" << contrib_dz <<
"\n"
1307 <<
"contrib_theta=" << contrib_theta <<
"\n"<<
"contrib_phi=" << contrib_phi <<
"\n"
1309 <<
"chi2PULL="<<contrib_Qoverp+contrib_dxy+contrib_dz+contrib_theta+contrib_phi<<
"\n";
1398 double& qoverp,
double& qoverpError,
double& lambda,
double& lambdaError,
1399 double&
phi,
double& phiError )
const {
1416 double& qoverp,
double& qoverpError,
double& lambda,
double& lambdaError,
1417 double&
phi,
double& phiError )
const {
1715 double dxySim,
double dzSim,
int nSimHits,
1717 int numVertices,
double vertz){
1749 if (numVertices ==
vertcountintervals[count][f] && momentumTP.eta() <= 0.9 && momentumTP.eta() >= -0.9) {
std::vector< MonitorElement * > h_assoc_vertz_fwdpos
std::vector< std::vector< int > > totFOMT_vertcount
double qoverp() const
q/p
std::vector< MonitorElement * > h_fakerate_ootpu_entire
std::vector< std::vector< double > > vertcountintervals
double phiModeError() const
error on phi from mode
std::vector< MonitorElement * > h_simul_vertz_entire
std::vector< MonitorElement * > h_looperhit
std::vector< MonitorElement * > h_loopratephi
T getParameter(std::string const &) const
TrackingParticleSelector * generalTpSelector
std::vector< MonitorElement * > h_fakerate_vertcount_fwdpos
std::vector< MonitorElement * > h_assoc2hit
T getUntrackedParameter(std::string const &, T const &) const
std::vector< MonitorElement * > h_dedx_estim2
std::vector< MonitorElement * > h_dzpulletamean
std::vector< MonitorElement * > h_recodxy
std::vector< std::vector< int > > totASS_vertcount_fwdpos
std::vector< MonitorElement * > h_fomt_itpu_eta
std::vector< MonitorElement * > h_assochit
std::vector< MonitorElement * > h_efficPt
std::vector< MonitorElement * > h_fakes
std::vector< std::vector< double > > zposintervals
std::vector< MonitorElement * > h_loopratedxy
std::vector< MonitorElement * > h_PXFhits_eta
std::vector< std::vector< int > > totASS2_ootpu_fwdpos
std::vector< MonitorElement * > h_nchi2_prob
void fill_dedx_recoTrack_histos(int count, edm::RefToBase< reco::Track > &trackref, const std::vector< edm::ValueMap< reco::DeDxData > > &v_dEdx)
std::vector< MonitorElement * > h_looperpT
std::vector< MonitorElement * > h_pullDz
virtual ~MTVHistoProducerAlgoForTracker()
TrackingParticleSelector * TpSelectorForEfficiencyVsPhi
void fillPlotFromVectors(MonitorElement *h, std::vector< int > &numerator, std::vector< int > &denominator, std::string type)
std::vector< MonitorElement * > ptpull_vs_phi
std::vector< MonitorElement * > h_assoczpos
std::vector< std::vector< int > > totASS_phi
std::vector< MonitorElement * > nPXFhits_vs_eta
std::vector< std::vector< int > > totSIM_vertz_fwdpos
const Vector & momentum() const
track momentum vector
std::vector< MonitorElement * > h_fake_vs_hit
std::vector< MonitorElement * > h_dzmeanh
std::vector< MonitorElement * > h_assoc2_ootpu_vertcount
std::vector< std::vector< int > > totRECeta
std::vector< MonitorElement * > h_misidratephi
void doProfileX(TH2 *th2, MonitorElement *me)
std::vector< MonitorElement * > h_simulzpos
std::vector< std::vector< int > > totASSeta
std::vector< MonitorElement * > nrecHit_vs_nsimHit_rec2sim
std::vector< std::vector< double > > vertposintervals
std::vector< std::vector< int > > totASS2_itpu_eta_entire
std::vector< std::vector< int > > totCONeta
std::vector< MonitorElement * > h_effic_vertz_fwdpos
std::vector< MonitorElement * > h_assoc2pT
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
std::vector< MonitorElement * > h_nmisslayers_inner
double lambdaMode() const
Lambda angle from mode.
std::vector< MonitorElement * > h_simulpT
std::vector< MonitorElement * > h_effic_vertz_barrel
void fillPlotFromVector(MonitorElement *h, std::vector< int > &vec)
std::vector< MonitorElement * > h_ptshifteta
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
void getRecoMomentum(const reco::Track &track, double &pt, double &ptError, double &qoverp, double &qoverpError, double &lambda, double &lambdaError, double &phi, double &phiError) const
retrieval of reconstructed momentum components from reco::Track (== mean values for GSF) ...
GenParticleCustomSelector * GpSelectorForEfficiencyVsPhi
std::vector< MonitorElement * > nTEChits_vs_eta
std::vector< MonitorElement * > h_reco_ootpu_entire
std::vector< MonitorElement * > h_fakerate_vertcount_barrel
std::vector< std::vector< int > > totSIM_vertz_entire
std::vector< MonitorElement * > h_fake_vs_dz
std::vector< MonitorElement * > h_hits
std::vector< MonitorElement * > h_assoc_vertcount_fwdneg
std::vector< MonitorElement * > h_effic_vs_vertpos
std::vector< std::vector< double > > dxyintervals
double theta() const
polar angle
double dxyError() const
error on dxy
std::vector< MonitorElement * > nLayersWithMeas_vs_eta
std::vector< MonitorElement * > h_pullPhi
std::vector< MonitorElement * > h_fomt_vertcount
std::vector< std::vector< int > > totASS_vertcount_barrel
std::vector< MonitorElement * > h_fake_vs_dxy
std::vector< MonitorElement * > phipull_vs_phi
std::vector< MonitorElement * > h_dedx_sat1
std::vector< MonitorElement * > h_hits_eta
std::vector< MonitorElement * > h_effic_vertcount_fwdpos
std::vector< MonitorElement * > h_thetapullphi
Sin< T >::type sin(const T &t)
double getEta(double eta)
std::vector< MonitorElement * > nrec_vs_nsim
std::vector< MonitorElement * > h_ptrmshPt
void fill_generic_recoTrack_histos(int count, const reco::Track &track, const math::XYZPoint &bsPosition, bool isMatched, bool isSigMatched, bool isChargeMatched, int numAssocRecoTracks, int numVertices, int tpbunchcrossing, int nSimHits, double sharedFraction)
std::vector< MonitorElement * > h_fakerate_ootpu_barrel
std::vector< MonitorElement * > h_algo
void fillProfileHistosFromVectors(int counter)
std::vector< MonitorElement * > h_assocdz
std::vector< std::vector< int > > totREC_dz
std::vector< std::vector< int > > totASS2_phi
int pixelLayersWithMeasurement() const
std::vector< MonitorElement * > h_assoc_vertcount_fwdpos
std::vector< MonitorElement * > nTIDhits_vs_eta
std::vector< std::vector< int > > totREC_vertcount_entire
std::vector< MonitorElement * > h_ptSIM
std::vector< MonitorElement * > h_dxypulletamean
std::vector< std::vector< int > > totASS2_vertcount_entire
std::vector< std::vector< int > > totREC_algo
std::vector< MonitorElement * > phires_vs_eta
std::vector< MonitorElement * > h_pullDxy
std::vector< MonitorElement * > h_assoc2phi
std::vector< std::vector< int > > totASS_dxy
std::vector< MonitorElement * > h_phipullphi
std::vector< MonitorElement * > h_nchi2
std::vector< MonitorElement * > h_fakeratePt
double phi() const
azimuthal angle of momentum vector
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
std::vector< std::vector< int > > totSIM_vertcount_entire
TrackingParticleSelector * TpSelectorForEfficiencyVsVTXZ
std::vector< MonitorElement * > h_dxyrmsh
std::vector< MonitorElement * > h_simul_vertcount_fwdpos
std::vector< std::vector< int > > totmisid_dxy
std::vector< MonitorElement * > h_dzrmshPt
std::vector< MonitorElement * > h_vertposSIM
std::vector< MonitorElement * > h_looperdxy
std::vector< MonitorElement * > h_simuleta
std::vector< MonitorElement * > h_misidratepT
std::vector< std::vector< int > > totSIM_dz
void fill_recoAssociated_simTrack_histos(int count, const TrackingParticle &tp, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, double dxy, double dz, int nSimHits, const reco::Track *track, int numVertices, double vertz)
std::vector< MonitorElement * > h_ptpulleta
std::vector< MonitorElement * > h_effic_PU_eta
std::vector< MonitorElement * > h_assoc2_ootpu_fwdneg
std::vector< MonitorElement * > h_assoc2_vertcount_fwdneg
std::vector< MonitorElement * > h_fomt_sig_vertcount
std::vector< MonitorElement * > h_assoc_vertz_fwdneg
std::vector< MonitorElement * > h_TIBhits_eta
std::vector< MonitorElement * > h_thetapullphimean
std::vector< MonitorElement * > h_fomt_ootpu_eta
std::vector< MonitorElement * > h_cotThetameanhPt
std::vector< std::vector< int > > totFOMT_eta
std::vector< MonitorElement * > h_phimeanhPhi
void bookRecoHistosForStandaloneRunning()
void fill_trackBased_histos(int count, int assTracks, int numRecoTracks, int numSimTracks)
std::vector< MonitorElement * > h_misidratedz
void fillHistosFromVectors(int counter)
std::vector< MonitorElement * > h_assoc2dz
double cotThetaRes_rangeMax
std::vector< MonitorElement * > chi2_vs_phi
std::vector< MonitorElement * > h_fomt_eta
std::vector< MonitorElement * > h_LayersWithMeas_eta
int numberOfValidStripTOBHits() const
std::vector< std::vector< int > > totASS_zpos
std::vector< std::vector< int > > totloop_dxy
std::vector< std::vector< int > > totASS2etaSig
std::vector< std::vector< int > > totASS2_vertcount_barrel
std::vector< MonitorElement * > h_chi2mean_vs_phi
std::vector< MonitorElement * > h_assocphi
std::vector< MonitorElement * > h_cotThetarmsh
std::vector< MonitorElement * > phires_vs_phi
MTVHistoProducerAlgoForTracker(const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
std::vector< MonitorElement * > dzres_vs_eta
std::vector< MonitorElement * > h_losthits_eta
double qoverpMode() const
q/p from mode
std::vector< MonitorElement * > h_ptmeanhPhi
std::vector< std::vector< int > > totSIM_hit
std::vector< MonitorElement * > h_misideta
std::vector< MonitorElement * > nlosthits_vs_eta
GenParticleCustomSelector * GpSelectorForEfficiencyVsVTXZ
std::vector< MonitorElement * > nSTRIPlayersWith1dMeas_vs_eta
std::vector< MonitorElement * > h_phimeanh
double ptModeError() const
error on Pt (set to 1000 TeV if charge==0 for safety) from mode
std::vector< MonitorElement * > h_recohit
TrackAlgorithm algo() const
std::vector< MonitorElement * > h_reco_vertcount_entire
std::vector< MonitorElement * > h_thetapulleta
math::XYZPointD Point
point in the space
std::vector< MonitorElement * > h_fakerate_vertcount_entire
std::vector< std::vector< int > > totSIM_zpos
std::vector< std::vector< int > > totASSpT
std::vector< std::vector< int > > totSIM_vertz_fwdneg
std::vector< std::vector< int > > totASS2_vertcount_fwdneg
std::vector< MonitorElement * > h_phipullphimean
std::vector< MonitorElement * > h_dedx_estim1
std::vector< MonitorElement * > h_hits_phi
std::vector< std::vector< int > > totASS2_ootpu_fwdneg
std::vector< MonitorElement * > phires_vs_pt
std::vector< MonitorElement * > h_reco_ootpu_fwdneg
SingleObjectSelector< TrackingParticleCollection,::TrackingParticleSelector > TrackingParticleSelector
std::vector< std::vector< int > > totlooppT
std::vector< std::vector< int > > totloop_hit
void fill_ResoAndPull_recoTrack_histos(int count, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, int chargeTP, const reco::Track &track, const math::XYZPoint &bsPosition)
std::vector< MonitorElement * > h_STRIPlayersWithMeas_eta
std::vector< std::vector< int > > totASS2eta
std::vector< MonitorElement * > h_assoc2_ootpu_fwdpos
const HitPattern & trackerExpectedHitsOuter() const
Access the hit pattern counting (in the Tracker) the number of expected crossed layers after the last...
std::vector< MonitorElement * > nPXBhits_vs_eta
double eta() const
pseudorapidity of momentum vector
std::vector< std::vector< int > > totASS_hit
std::vector< std::vector< int > > totASS2_vertcount_entire_signal
std::vector< std::vector< int > > totASS2_itpu_vertcount_entire
std::vector< MonitorElement * > h_assoc2dxy
std::vector< MonitorElement * > h_dxyrmshPt
std::vector< MonitorElement * > h_STRIPlayersWith1dMeas_eta
std::vector< MonitorElement * > h_pullQoverp
int numberOfValidPixelBarrelHits() const
std::vector< std::vector< int > > totSIM_phi
std::vector< std::vector< int > > totASS2pT
std::vector< MonitorElement * > h_fake_vs_phi
std::vector< MonitorElement * > h_ptpulletamean
double chi2() const
chi-squared of the fit
std::vector< MonitorElement * > h_misidhit
std::vector< MonitorElement * > nSTRIPlayersWithMeas_vs_eta
std::vector< MonitorElement * > nTOBhits_vs_eta
std::vector< std::vector< int > > totASS_dz
double ndof() const
number of degrees of freedom of the fit
int trackerLayersWithMeasurement() const
std::vector< std::vector< int > > totASS_vertz_barrel
std::vector< MonitorElement * > ptpull_vs_eta
std::vector< MonitorElement * > etares_vs_eta
void finalHistoFits(int counter)
std::vector< MonitorElement * > h_fakerate_ootpu_fwdneg
double pt() const
track transverse momentum
std::vector< MonitorElement * > h_recophi
std::vector< MonitorElement * > h_misidratehit
std::vector< MonitorElement * > h_assocpT
Cos< T >::type cos(const T &t)
std::vector< MonitorElement * > h_ptpullphimean
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
std::vector< MonitorElement * > h_simul_vertz_barrel
std::vector< std::vector< int > > totASS_vertcount_entire
std::vector< MonitorElement * > nSTRIPlayersWith2dMeas_vs_eta
std::vector< MonitorElement * > h_tracks
std::vector< MonitorElement * > h_chi2meanh
double phiError() const
error on phi
std::vector< MonitorElement * > h_TIDhits_eta
std::vector< MonitorElement * > h_tracksSIM
std::vector< MonitorElement * > h_effic_vertcount_entire
std::vector< MonitorElement * > h_effic
Tan< T >::type tan(const T &t)
std::vector< MonitorElement * > nhits_vs_phi
std::vector< std::vector< int > > totloopeta
std::vector< std::vector< int > > totASS2_dz
int numberOfValidStripTIDHits() const
double lambda() const
Lambda angle.
std::vector< std::vector< int > > totSIM_vertpos
std::vector< MonitorElement * > h_simul_vertcount_barrel
std::vector< std::vector< int > > totREC_ootpu_entire
std::vector< MonitorElement * > h_ptmeanhPt
std::vector< MonitorElement * > h_phirmsh
std::vector< MonitorElement * > nrecHit_vs_nsimHit_sim2rec
bool isMatched(TrackingRecHit const &hit)
std::vector< std::vector< int > > totRECpT
std::vector< std::vector< int > > totmisid_phi
const HitPattern & trackerExpectedHitsInner() const
Access the hit pattern counting (in the Tracker) the number of expected crossed layers before the fir...
std::vector< std::vector< int > > totREC_vertcount_fwdneg
unsigned short numberOfValidHits() const
number of valid hits found
void fill_simAssociated_recoTrack_histos(int count, const reco::Track &track)
int numberOfValidStripTECHits() const
std::vector< std::vector< int > > totmisidpT
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
std::vector< MonitorElement * > h_reco_ootpu_barrel
std::vector< MonitorElement * > h_assoc_vertz_barrel
std::vector< MonitorElement * > h_effic_PU_zpos
std::vector< MonitorElement * > h_phirmshPt
std::vector< std::vector< int > > totloop_dz
std::vector< MonitorElement * > phimean_vs_eta_phi
std::vector< MonitorElement * > h_charge
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
std::vector< std::vector< int > > totASS2_itpu_vertcount_entire_signal
std::vector< MonitorElement * > h_reco_ootpu_eta
std::vector< std::vector< int > > totASS2_hit
std::vector< MonitorElement * > h_loopratehit
std::vector< MonitorElement * > h_loopereta
std::vector< MonitorElement * > h_effic_vertcount_fwdneg
std::vector< MonitorElement * > h_misiddz
std::vector< std::vector< int > > totREC_dxy
std::vector< std::vector< double > > phiintervals
std::vector< MonitorElement * > h_assoc_vertcount_entire
std::vector< MonitorElement * > chi2_vs_nhits
std::vector< std::vector< int > > totSIM_vertcount_fwdpos
std::vector< std::vector< int > > totSIM_vertz_barrel
std::vector< std::vector< int > > totASS2_itpu_eta_entire_signal
double cotThetaRes_rangeMin
std::vector< MonitorElement * > dzpull_vs_eta
std::vector< std::vector< int > > totREC_vertcount_barrel
std::vector< MonitorElement * > h_simuldz
std::vector< MonitorElement * > h_misiddxy
std::vector< std::vector< int > > totASS_vertz_fwdpos
std::vector< MonitorElement * > h_bunchxSIM
std::vector< MonitorElement * > h_fakerate
double qoverpError() const
error on signed transverse curvature
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
double dzError() const
error on dz
std::vector< std::vector< int > > totmisid_hit
std::vector< MonitorElement * > h_ptpullphi
std::vector< std::vector< int > > totCONzpos
std::vector< MonitorElement * > thetapull_vs_phi
std::vector< MonitorElement * > h_assoc2_ootpu_barrel
TrackingParticleSelector * TpSelectorForEfficiencyVsPt
std::vector< std::vector< int > > totREC_ootpu_barrel
std::vector< MonitorElement * > h_simulvertpos
std::vector< MonitorElement * > h_STRIPlayersWith2dMeas_eta
std::vector< MonitorElement * > dxyres_vs_eta
std::vector< MonitorElement * > h_effic_vs_phi
std::vector< std::vector< int > > totREC_vertcount_fwdpos
std::vector< MonitorElement * > h_ptrmsh
std::vector< std::vector< int > > totASS_vertpos
std::vector< MonitorElement * > h_chi2meanhitsh
std::vector< MonitorElement * > h_fomt_ootpu_vertcount
std::vector< MonitorElement * > h_dxymeanhPt
std::vector< MonitorElement * > h_dzpulleta
std::vector< MonitorElement * > h_misidpT
std::vector< MonitorElement * > h_nmisslayers_outer
std::vector< MonitorElement * > nPXLlayersWithMeas_vs_eta
std::vector< std::vector< int > > totSIMpT
std::vector< std::vector< int > > totASS_vertz_entire
std::vector< std::vector< int > > totASS_vertcount_fwdneg
std::vector< MonitorElement * > nTIBhits_vs_eta
std::vector< MonitorElement * > h_fakerate_ootpu_fwdpos
std::vector< MonitorElement * > h_dxypulleta
std::vector< std::vector< double > > etaintervals
GenParticleCustomSelector * GpSelectorForEfficiencyVsCon
std::vector< MonitorElement * > h_effic_vs_dz
XYZPointD XYZPoint
point in space with cartesian internal representation
std::vector< MonitorElement * > h_phirmshPhi
std::vector< std::vector< int > > totREC_ootpu_fwdpos
double qoverpModeError() const
error on signed transverse curvature from mode
int stripLayersWithMeasurement() const
std::vector< std::vector< int > > totASS2_ootpu_entire
std::vector< MonitorElement * > h_eta
std::vector< MonitorElement * > h_effic_PU_vertcount
std::vector< MonitorElement * > h_pt
std::vector< MonitorElement * > h_PXBhits_eta
std::vector< std::vector< int > > totASS2_ootpu_eta_entire
std::vector< MonitorElement * > h_phimeanhPt
std::vector< MonitorElement * > h_dedx_nom2
std::vector< MonitorElement * > cotThetares_vs_pt
std::vector< MonitorElement * > h_effic_vs_zpos
std::vector< MonitorElement * > h_etaSIM
int numberOfValidStripTIBHits() const
std::vector< MonitorElement * > h_simulphi
std::vector< MonitorElement * > h_reco_vertcount_fwdpos
int numberOfValidPixelEndcapHits() const
std::vector< MonitorElement * > h_pullTheta
std::vector< std::vector< int > > totREC_hit
std::vector< MonitorElement * > ptmean_vs_eta_phi
std::vector< MonitorElement * > h_looperphi
std::vector< std::vector< double > > tmp
double lambdaError() const
error on lambda
std::vector< std::vector< int > > totSIMeta
std::vector< MonitorElement * > h_reco_vertcount_fwdneg
std::vector< std::vector< int > > totREC_ootpu_fwdneg
std::vector< std::vector< int > > totSIM_vertcount_barrel
std::vector< MonitorElement * > dxypull_vs_eta
std::vector< MonitorElement * > h_fomt_itpu_vertcount
std::vector< MonitorElement * > ptres_vs_eta
std::vector< MonitorElement * > h_cotThetameanh
std::vector< MonitorElement * > h_assoc_vertz_entire
std::vector< MonitorElement * > h_assoc2_vertcount_fwdpos
std::vector< MonitorElement * > h_dzrmsh
static std::atomic< unsigned int > counter
std::vector< MonitorElement * > h_con_vertcount
GenParticleCustomSelector * generalGpSelector
std::vector< MonitorElement * > h_effic_vs_dxy
std::vector< MonitorElement * > phipull_vs_eta
unsigned short found() const
Number of valid hits on track.
std::vector< MonitorElement * > h_TOBhits_eta
GenParticleCustomSelector * GpSelectorForEfficiencyVsPt
std::vector< MonitorElement * > h_misidrate
std::vector< MonitorElement * > h_TEChits_eta
std::vector< MonitorElement * > h_reco_vertcount_barrel
std::vector< MonitorElement * > h_simulhit
std::vector< MonitorElement * > h_effic_vertz_entire
GenParticleCustomSelector * GpSelectorForEfficiencyVsVTXR
std::vector< MonitorElement * > h_con_zpos
std::vector< MonitorElement * > h_dzmeanhPt
std::vector< std::vector< int > > totASS_vertz_fwdneg
std::vector< MonitorElement * > h_recopT
std::vector< MonitorElement * > h_looperdz
std::vector< MonitorElement * > h_simul_vertcount_fwdneg
std::vector< std::vector< double > > pTintervals
std::vector< MonitorElement * > h_assocdxy
double phiMode() const
azimuthal angle of momentum vector from mode
Monte Carlo truth information used for tracking validation.
int charge() const
track electric charge
std::vector< MonitorElement * > cotThetares_vs_eta
std::vector< MonitorElement * > h_assocFraction
void fill_generic_simTrack_histos(int counter, const TrackingParticle::Vector &, const TrackingParticle::Point &vertex, int bx)
std::vector< MonitorElement * > h_loopratedz
std::vector< MonitorElement * > h_fomt_sig_eta
std::vector< MonitorElement * > h_cotThetarmshPt
std::vector< std::vector< int > > totSIM_vertcount_fwdneg
std::vector< std::vector< int > > totREC_phi
GenParticleCustomSelector * GpSelectorForEfficiencyVsEta
double lambdaModeError() const
error on lambda from mode
std::vector< std::vector< int > > totASS2_ootpu_barrel
std::vector< MonitorElement * > h_assoc_vertcount_barrel
std::vector< MonitorElement * > h_simul_vertz_fwdpos
std::vector< MonitorElement * > h_recodz
std::vector< MonitorElement * > ptres_vs_pt
SingleObjectSelector< GenParticleCollection,::GenParticleCustomSelector > GenParticleCustomSelector
std::vector< MonitorElement * > h_reco_ootpu_fwdpos
std::vector< MonitorElement * > h_dedx_sat2
math::XYZVectorD Vector
point in the space
std::vector< MonitorElement * > h_reco_ootpu_vertcount
std::vector< std::vector< int > > totloop_phi
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
std::vector< MonitorElement * > h_assoc2_ootpu_entire
std::vector< MonitorElement * > h_phipulleta
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
std::vector< MonitorElement * > h_simul_vertcount_entire
std::vector< std::vector< int > > totCONvertcount
std::vector< MonitorElement * > h_assoceta
std::vector< MonitorElement * > h_effic_vertcount_barrel
std::vector< MonitorElement * > h_looprate
std::vector< MonitorElement * > ptres_vs_phi
TrackingParticleSelector * TpSelectorForEfficiencyVsVTXR
std::vector< MonitorElement * > h_con_eta
std::vector< MonitorElement * > h_assocSharedHit
std::vector< MonitorElement * > h_dxymeanh
std::vector< MonitorElement * > nhits_vs_eta
int numberOfValidStripLayersWithMonoAndStereo(uint32_t stripdet, uint32_t layer) const
std::vector< MonitorElement * > h_ptrmshPhi
double ptMode() const
track transverse momentum from mode
std::vector< MonitorElement * > h_assoc2_vertcount_barrel
std::vector< MonitorElement * > h_effic_vs_hit
std::vector< MonitorElement * > h_simuldxy
std::vector< std::vector< int > > totmisideta
std::vector< MonitorElement * > h_assocvertpos
std::vector< MonitorElement * > h_loopratepT
std::vector< MonitorElement * > h_effic_vertz_fwdneg
Power< A, B >::type pow(const A &a, const B &b)
std::vector< std::vector< int > > totASS2_vertcount_fwdpos
std::vector< MonitorElement * > h_assoc2_vertcount_entire
std::vector< MonitorElement * > h_simul_vertz_fwdneg
std::vector< MonitorElement * > h_recoeta
std::vector< MonitorElement * > thetapull_vs_eta
std::vector< std::vector< int > > totSIM_dxy
std::vector< MonitorElement * > chi2_vs_eta
std::vector< MonitorElement * > h_phipulletamean
std::vector< MonitorElement * > h_PXLlayersWithMeas_eta
std::vector< std::vector< double > > dzintervals
std::vector< MonitorElement * > dxyres_vs_pt
TrackingParticleSelector * TpSelectorForEfficiencyVsCon
std::vector< MonitorElement * > h_misidratedxy
std::vector< MonitorElement * > h_dedx_nom1
std::vector< std::vector< int > > totASS2_dxy
std::vector< MonitorElement * > h_losthits
TrackingParticleSelector * TpSelectorForEfficiencyVsEta
std::vector< MonitorElement * > h_assoc2eta
std::vector< std::vector< int > > totmisid_dz
std::vector< MonitorElement * > h_thetapulletamean
std::vector< MonitorElement * > h_misidphi
std::vector< MonitorElement * > h_fakerate_vertcount_fwdneg
MonitorElement * bookProfile2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, const char *option="s")
std::vector< MonitorElement * > dzres_vs_pt