CMS 3D CMS Logo

CosmicSplitterValidation.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: CosmicSplitterValidation
4 // Class: CosmicSplitterValidation
5 //
13 //
14 // Original Author: Nhan Tran
15 // Created: Mon Jul 16m 16:56:34 CDT 2007
16 // $Id: CosmicSplitterValidation.cc,v 1.11 2010/03/29 13:18:43 mussgill Exp $
17 //
18 //
19 
20 // system include files
21 #include <algorithm>
22 #include <TTree.h>
23 
25 
34 
46 
48 
50 
55 
56 //
57 // class decleration
58 //
59 
60 class CosmicSplitterValidation : public edm::one::EDAnalyzer<edm::one::SharedResources> {
61 public:
63  ~CosmicSplitterValidation() override;
64 
65 private:
66  void beginJob() override;
67  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
68  void endJob() override;
69 
70  bool is_gold_muon(const edm::Event& e);
71 
77 
81  int goldenCtr;
85 
87  // ----------member data ---------------------------
88  //std::vector<AlignTransform> m_align;
89  // tree
90  TTree* splitterTree_;
91  // tree vars
93  // split track variables
108  // split track errors
116 
117  // original track variables
119  double dxy_org_, dz_org_;
122  double norchi2_org_;
125  // original track errors
129 
130  // split sta variables
141  // split sta_ errors
149 
150  // split glb_ variables
162  // split glb_ errors
170  // original glb muon variables
172  double dxy_orm_, dz_orm_;
175  double norchi2_orm_;
176  // original glb muon errors
180 
181  //consumes tokens
187 };
188 
189 //
190 // constants, enums and typedefs
191 //
192 
193 //
194 // static data member definitions
195 //
196 
197 //
198 // constructors and destructor
199 //
201  : compressionSettings_(iConfig.getUntrackedParameter<int>("compressionSettings", -1)),
202  splitTracks_(iConfig.getParameter<edm::InputTag>("splitTracks")),
203  splitGlobalMuons_(iConfig.getParameter<edm::InputTag>("splitGlobalMuons")),
204  originalTracks_(iConfig.getParameter<edm::InputTag>("originalTracks")),
205  originalGlobalMuons_(iConfig.getParameter<edm::InputTag>("originalGlobalMuons")),
206  checkIfGolden_(iConfig.getParameter<bool>("checkIfGolden")),
207  splitMuons_(iConfig.getParameter<bool>("ifSplitMuons")),
208  totalTracksToAnalyzer_(0),
209  goldenCtr(0),
210  twoTracksCtr(0),
211  goldenPlusTwoTracksCtr(0),
212  _passesTracksPlusMuonsCuts(0),
213  splitterTree_(nullptr),
214  runNumber_(0),
215  eventNumber_(0),
216  luminosityBlock_(0),
217  dcaX1_spl_(0),
218  dcaY1_spl_(0),
219  dcaZ1_spl_(0),
220  dcaX2_spl_(0),
221  dcaY2_spl_(0),
222  dcaZ2_spl_(0),
223  dxy1_spl_(0),
224  dxy2_spl_(0),
225  ddxy_spl_(0),
226  dz1_spl_(0),
227  dz2_spl_(0),
228  ddz_spl_(0),
229  theta1_spl_(0),
230  theta2_spl_(0),
231  dtheta_spl_(0),
232  eta1_spl_(0),
233  eta2_spl_(0),
234  deta_spl_(0),
235  phi1_spl_(0),
236  phi2_spl_(0),
237  dphi_spl_(0),
238  pt1_spl_(0),
239  pt2_spl_(0),
240  dpt_spl_(0),
241  p1_spl_(0),
242  p2_spl_(0),
243  dp_spl_(0),
244  qoverpt1_spl_(0),
245  qoverpt2_spl_(0),
246  dqoverpt_spl_(0),
247  nHits1_spl_(0),
248  nHitsPXB1_spl_(0),
249  nHitsPXF1_spl_(0),
250  nHitsTIB1_spl_(0),
251  nHitsTOB1_spl_(0),
252  nHitsTID1_spl_(0),
253  nHitsTEC1_spl_(0),
254  nHits2_spl_(0),
255  nHitsPXB2_spl_(0),
256  nHitsPXF2_spl_(0),
257  nHitsTIB2_spl_(0),
258  nHitsTOB2_spl_(0),
259  nHitsTID2_spl_(0),
260  nHitsTEC2_spl_(0),
261 
262  dxy1Err_spl_(0),
263  dxy2Err_spl_(0),
264  dz1Err_spl_(0),
265  dz2Err_spl_(0),
266  theta1Err_spl_(0),
267  theta2Err_spl_(0),
268  eta1Err_spl_(0),
269  eta2Err_spl_(0),
270  phi1Err_spl_(0),
271  phi2Err_spl_(0),
272  pt1Err_spl_(0),
273  pt2Err_spl_(0),
274  qoverpt1Err_spl_(0),
275  qoverpt2Err_spl_(0),
276 
277  dcaX_org_(0),
278  dcaY_org_(0),
279  dcaZ_org_(0),
280  dxy_org_(0),
281  dz_org_(0),
282  theta_org_(0),
283  eta_org_(0),
284  phi_org_(0),
285  pt_org_(0),
286  p_org_(0),
287  qoverpt_org_(0),
288  norchi2_org_(0),
289  nHits_org_(0),
290  nHitsPXB_org_(0),
291  nHitsPXF_org_(0),
292  nHitsTIB_org_(0),
293  nHitsTOB_org_(0),
294  nHitsTID_org_(0),
295  nHitsTEC_org_(0),
296 
297  dxyErr_org_(0),
298  dzErr_org_(0),
299  thetaErr_org_(0),
300  etaErr_org_(0),
301  phiErr_org_(0),
302  ptErr_org_(0),
303  qoverptErr_org_(0),
304 
305  dcaX1_sta_(0),
306  dcaY1_sta_(0),
307  dcaZ1_sta_(0),
308  dcaX2_sta_(0),
309  dcaY2_sta_(0),
310  dcaZ2_sta_(0),
311  dxy1_sta_(0),
312  dxy2_sta_(0),
313  ddxy_sta_(0),
314  dz1_sta_(0),
315  dz2_sta_(0),
316  ddz_sta_(0),
317  theta1_sta_(0),
318  theta2_sta_(0),
319  dtheta_sta_(0),
320  eta1_sta_(0),
321  eta2_sta_(0),
322  deta_sta_(0),
323  phi1_sta_(0),
324  phi2_sta_(0),
325  dphi_sta_(0),
326  pt1_sta_(0),
327  pt2_sta_(0),
328  dpt_sta_(0),
329  p1_sta_(0),
330  p2_sta_(0),
331  dp_sta_(0),
332  qoverpt1_sta_(0),
333  qoverpt2_sta_(0),
334  dqoverpt_sta_(0),
335 
336  dxy1Err_sta_(0),
337  dxy2Err_sta_(0),
338  dz1Err_sta_(0),
339  dz2Err_sta_(0),
340  theta1Err_sta_(0),
341  theta2Err_sta_(0),
342  eta1Err_sta_(0),
343  eta2Err_sta_(0),
344  phi1Err_sta_(0),
345  phi2Err_sta_(0),
346  pt1Err_sta_(0),
347  pt2Err_sta_(0),
348  qoverpt1Err_sta_(0),
349  qoverpt2Err_sta_(0),
350 
351  dcaX1_glb_(0),
352  dcaY1_glb_(0),
353  dcaZ1_glb_(0),
354  dcaX2_glb_(0),
355  dcaY2_glb_(0),
356  dcaZ2_glb_(0),
357  dxy1_glb_(0),
358  dxy2_glb_(0),
359  ddxy_glb_(0),
360  dz1_glb_(0),
361  dz2_glb_(0),
362  ddz_glb_(0),
363  theta1_glb_(0),
364  theta2_glb_(0),
365  dtheta_glb_(0),
366  eta1_glb_(0),
367  eta2_glb_(0),
368  deta_glb_(0),
369  phi1_glb_(0),
370  phi2_glb_(0),
371  dphi_glb_(0),
372  pt1_glb_(0),
373  pt2_glb_(0),
374  dpt_glb_(0),
375  p1_glb_(0),
376  p2_glb_(0),
377  dp_glb_(0),
378  qoverpt1_glb_(0),
379  qoverpt2_glb_(0),
380  dqoverpt_glb_(0),
381  norchi1_glb_(0),
382  norchi2_glb_(0),
383 
384  dxy1Err_glb_(0),
385  dxy2Err_glb_(0),
386  dz1Err_glb_(0),
387  dz2Err_glb_(0),
388  theta1Err_glb_(0),
389  theta2Err_glb_(0),
390  eta1Err_glb_(0),
391  eta2Err_glb_(0),
392  phi1Err_glb_(0),
393  phi2Err_glb_(0),
394  pt1Err_glb_(0),
395  pt2Err_glb_(0),
396  qoverpt1Err_glb_(0),
397  qoverpt2Err_glb_(0),
398 
399  dcaX_orm_(0),
400  dcaY_orm_(0),
401  dcaZ_orm_(0),
402  dxy_orm_(0),
403  dz_orm_(0),
404  theta_orm_(0),
405  eta_orm_(0),
406  phi_orm_(0),
407  pt_orm_(0),
408  p_orm_(0),
409  qoverpt_orm_(0),
410  norchi2_orm_(0),
411  dxyErr_orm_(0),
412  dzErr_orm_(0),
413  thetaErr_orm_(0),
414  etaErr_orm_(0),
415  phiErr_orm_(0),
416  ptErr_orm_(0),
417  qoverptErr_orm_(0) {
418  usesResource(TFileService::kSharedResource);
420  splitTracksToken_ = iC.consumes<std::vector<reco::Track>>(splitTracks_);
421  originalTracksToken_ = iC.consumes<std::vector<reco::Track>>(originalTracks_);
422  if (splitMuons_) {
425  }
426  if (checkIfGolden_)
428 }
429 
431 
432 //
433 // member functions
434 //
435 
436 // ------------ method called to for each event ------------
438  // check if golden muon
439  bool isGolden = true;
440  if (checkIfGolden_)
441  isGolden = is_gold_muon(iEvent);
442 
443  // grab collections
447  edm::Handle<reco::MuonCollection> originalGlobalMuons;
448  iEvent.getByToken(splitTracksToken_, tracks);
450  if (splitMuons_) {
452  iEvent.getByToken(originalGlobalMuonsToken_, originalGlobalMuons);
453  }
454 
457 
459  if (isGolden)
460  goldenCtr++;
461  if (tracks->size() == 2)
462  twoTracksCtr++;
463  if (tracks->size() == 2 && originalTracks->size() == 1 && isGolden) {
465 
466  int gmCtr = 0;
467  bool topGlobalMuonFlag = false;
468  bool bottomGlobalMuonFlag = false;
469  int topGlobalMuon = -1;
470  int bottomGlobalMuon = -1;
471  double topGlobalMuonNorchi2 = 1e10;
472  double bottomGlobalMuonNorchi2 = 1e10;
473 
474  if (splitMuons_) {
475  // check if split global muons are good
476  for (std::vector<reco::Muon>::const_iterator gmI = globalMuons->begin(); gmI != globalMuons->end(); gmI++) {
477  if (gmI->isTrackerMuon() && gmI->isStandAloneMuon() && gmI->isGlobalMuon()) {
478  reco::TrackRef trackerTrackRef1(tracks, 0);
479  reco::TrackRef trackerTrackRef2(tracks, 1);
480 
481  if (gmI->innerTrack() == trackerTrackRef1) {
482  if (gmI->globalTrack()->normalizedChi2() < topGlobalMuonNorchi2) {
483  topGlobalMuonFlag = true;
484  topGlobalMuonNorchi2 = gmI->globalTrack()->normalizedChi2();
485  topGlobalMuon = gmCtr;
486  }
487  }
488  if (gmI->innerTrack() == trackerTrackRef2) {
489  if (gmI->globalTrack()->normalizedChi2() < bottomGlobalMuonNorchi2) {
490  bottomGlobalMuonFlag = true;
491  bottomGlobalMuonNorchi2 = gmI->globalTrack()->normalizedChi2();
492  bottomGlobalMuon = gmCtr;
493  }
494  }
495  }
496  gmCtr++;
497  }
498  }
499 
500  if ((!splitMuons_) || (splitMuons_ && bottomGlobalMuonFlag && topGlobalMuonFlag)) {
502 
503  // split tracks calculations
504  reco::Track track1 = tracks->at(0);
505  reco::Track track2 = tracks->at(1);
506 
507  const math::XYZPoint& dca1 = track1.referencePoint();
508  const math::XYZPoint& dca2 = track2.referencePoint();
509 
510  // looping through the hits for track 1
511  int Nrechits1 = 0;
512  int nhitinTIB1 = 0;
513  int nhitinTOB1 = 0;
514  int nhitinTID1 = 0;
515  int nhitinTEC1 = 0;
516  int nhitinBPIX1 = 0;
517  int nhitinFPIX1 = 0;
518  for (auto const& hit : track1.recHits()) {
519  if (hit->isValid()) {
520  Nrechits1++;
521 
522  int type = hit->geographicalId().subdetId();
523 
524  if (type == int(StripSubdetector::TIB)) {
525  ++nhitinTIB1;
526  }
527  if (type == int(StripSubdetector::TOB)) {
528  ++nhitinTOB1;
529  }
530  if (type == int(StripSubdetector::TID)) {
531  ++nhitinTID1;
532  }
533  if (type == int(StripSubdetector::TEC)) {
534  ++nhitinTEC1;
535  }
536  if (type == int(kBPIX)) {
537  ++nhitinBPIX1;
538  }
539  if (type == int(kFPIX)) {
540  ++nhitinFPIX1;
541  }
542  }
543  }
544  nHits1_spl_ = Nrechits1;
545  nHitsTIB1_spl_ = nhitinTIB1;
546  nHitsTOB1_spl_ = nhitinTOB1;
547  nHitsTID1_spl_ = nhitinTID1;
548  nHitsTEC1_spl_ = nhitinTEC1;
549  nHitsPXB1_spl_ = nhitinBPIX1;
550  nHitsPXF1_spl_ = nhitinFPIX1;
551 
552  // looping through the hits for track 2
553  int Nrechits2 = 0;
554  int nhitinTIB2 = 0;
555  int nhitinTOB2 = 0;
556  int nhitinTID2 = 0;
557  int nhitinTEC2 = 0;
558  int nhitinBPIX2 = 0;
559  int nhitinFPIX2 = 0;
560  for (auto const& hit : track2.recHits()) {
561  if (hit->isValid()) {
562  Nrechits2++;
563 
564  int type = hit->geographicalId().subdetId();
565 
566  if (type == int(StripSubdetector::TIB)) {
567  ++nhitinTIB2;
568  }
569  if (type == int(StripSubdetector::TOB)) {
570  ++nhitinTOB2;
571  }
572  if (type == int(StripSubdetector::TID)) {
573  ++nhitinTID2;
574  }
575  if (type == int(StripSubdetector::TEC)) {
576  ++nhitinTEC2;
577  }
578  if (type == int(kBPIX)) {
579  ++nhitinBPIX2;
580  }
581  if (type == int(kFPIX)) {
582  ++nhitinFPIX2;
583  }
584  }
585  }
586  nHits2_spl_ = Nrechits2;
587  nHitsTIB2_spl_ = nhitinTIB2;
588  nHitsTOB2_spl_ = nhitinTOB2;
589  nHitsTID2_spl_ = nhitinTID2;
590  nHitsTEC2_spl_ = nhitinTEC2;
591  nHitsPXB2_spl_ = nhitinBPIX2;
592  nHitsPXF2_spl_ = nhitinFPIX2;
593 
594  double ddxy_Val = track1.d0() - track2.d0();
595  double ddz_Val = track1.dz() - track2.dz();
596  double dtheta_Val = track1.theta() - track2.theta();
597  double deta_Val = track1.eta() - track2.eta();
598  double dphi_Val = track1.phi() - track2.phi();
599  double dpt_Val = track1.pt() - track2.pt();
600  double dp_Val = track1.p() - track2.p();
601  double dqoverpt_Val = track1.charge() / track1.pt() - track2.charge() / track2.pt();
602 
603  // original tracks calculations
604  reco::Track origTrack = originalTracks->at(0);
605  const math::XYZPoint& dca_org = origTrack.referencePoint();
606 
607  // looping through the hits for the original track
608  int Nrechitsorg = 0;
609  int nhitinTIBorg = 0;
610  int nhitinTOBorg = 0;
611  int nhitinTIDorg = 0;
612  int nhitinTECorg = 0;
613  int nhitinBPIXorg = 0;
614  int nhitinFPIXorg = 0;
615  for (auto const& hit : origTrack.recHits()) {
616  if (hit->isValid()) {
617  Nrechitsorg++;
618 
619  int type = hit->geographicalId().subdetId();
620 
621  if (type == int(StripSubdetector::TIB)) {
622  ++nhitinTIBorg;
623  }
624  if (type == int(StripSubdetector::TOB)) {
625  ++nhitinTOBorg;
626  }
627  if (type == int(StripSubdetector::TID)) {
628  ++nhitinTIDorg;
629  }
630  if (type == int(StripSubdetector::TEC)) {
631  ++nhitinTECorg;
632  }
633  if (type == int(kBPIX)) {
634  ++nhitinBPIXorg;
635  }
636  if (type == int(kFPIX)) {
637  ++nhitinFPIXorg;
638  }
639  }
640  }
641  nHits_org_ = Nrechitsorg;
642  nHitsTIB_org_ = nhitinTIBorg;
643  nHitsTOB_org_ = nhitinTOBorg;
644  nHitsTID_org_ = nhitinTIDorg;
645  nHitsTEC_org_ = nhitinTECorg;
646  nHitsPXB_org_ = nhitinBPIXorg;
647  nHitsPXF_org_ = nhitinFPIXorg;
648 
649  // fill tree
650  runNumber_ = iEvent.id().run();
651  luminosityBlock_ = iEvent.id().luminosityBlock();
652  eventNumber_ = iEvent.id().event();
653  // split tracks
654  dcaX1_spl_ = dca1.x();
655  dcaY1_spl_ = dca1.y();
656  dcaZ1_spl_ = dca1.z();
657  dcaX2_spl_ = dca2.x();
658  dcaY2_spl_ = dca2.y();
659  dcaZ2_spl_ = dca2.z();
660  dxy1_spl_ = track1.d0();
661  dxy2_spl_ = track2.d0();
662  ddxy_spl_ = ddxy_Val;
663  dz1_spl_ = track1.dz();
664  dz2_spl_ = track2.dz();
665  ddz_spl_ = ddz_Val;
666  theta1_spl_ = track1.theta();
667  theta2_spl_ = track2.theta();
668  dtheta_spl_ = dtheta_Val;
669  eta1_spl_ = track1.eta();
670  eta2_spl_ = track2.eta();
671  deta_spl_ = deta_Val;
672  phi1_spl_ = track1.phi();
673  phi2_spl_ = track2.phi();
674  dphi_spl_ = dphi_Val;
675  pt1_spl_ = track1.pt();
676  pt2_spl_ = track2.pt();
677  dpt_spl_ = dpt_Val;
678  p1_spl_ = track1.p();
679  p2_spl_ = track2.p();
680  dp_spl_ = dp_Val;
681  qoverpt1_spl_ = track1.charge() / track1.pt();
682  qoverpt2_spl_ = track2.charge() / track2.pt();
683  dqoverpt_spl_ = dqoverpt_Val;
684  dxy1Err_spl_ = track1.d0Error();
685  dxy2Err_spl_ = track2.d0Error();
686  dz1Err_spl_ = track1.dzError();
687  dz2Err_spl_ = track2.dzError();
688  theta1Err_spl_ = track1.thetaError();
689  theta2Err_spl_ = track2.thetaError();
690  eta1Err_spl_ = track1.etaError();
691  eta2Err_spl_ = track2.etaError();
692  phi1Err_spl_ = track1.phiError();
693  phi2Err_spl_ = track2.phiError();
694  pt1Err_spl_ = track1.ptError();
695  pt2Err_spl_ = track2.ptError();
698 
699  // original tracks
700  dcaX_org_ = dca_org.x();
701  dcaY_org_ = dca_org.y();
702  dcaZ_org_ = dca_org.z();
703  dxy_org_ = origTrack.d0();
704  dz_org_ = origTrack.dz();
705  theta_org_ = origTrack.theta();
706  eta_org_ = origTrack.eta();
707  phi_org_ = origTrack.phi();
708  pt_org_ = origTrack.pt();
709  p_org_ = origTrack.p();
710  qoverpt_org_ = origTrack.charge() / origTrack.pt();
711  norchi2_org_ = origTrack.normalizedChi2();
712 
713  dxyErr_org_ = origTrack.d0Error();
714  dzErr_org_ = origTrack.dzError();
715  thetaErr_org_ = origTrack.thetaError();
716  etaErr_org_ = origTrack.etaError();
717  phiErr_org_ = origTrack.phiError();
718  ptErr_org_ = origTrack.ptError();
720 
721  // split muons calculations
722  if (splitMuons_) {
723  reco::Muon muonTop = globalMuons->at(topGlobalMuon);
724  reco::Muon muonBottom = globalMuons->at(bottomGlobalMuon);
725 
726  reco::TrackRef glb1 = muonTop.globalTrack();
727  reco::TrackRef glb2 = muonBottom.globalTrack();
728  reco::TrackRef sta1 = muonTop.outerTrack();
729  reco::TrackRef sta2 = muonBottom.outerTrack();
730 
731  // standalone muon variables
732  dcaX1_sta_ = sta1->referencePoint().x();
733  dcaY1_sta_ = sta1->referencePoint().y();
734  dcaZ1_sta_ = sta1->referencePoint().z();
735  dcaX2_sta_ = sta2->referencePoint().x();
736  dcaY2_sta_ = sta2->referencePoint().y();
737  dcaZ2_sta_ = sta2->referencePoint().z();
738  dxy1_sta_ = sta1->d0();
739  dxy2_sta_ = sta2->d0();
740  ddxy_sta_ = sta1->d0() - sta2->d0();
741  dz1_sta_ = sta1->dz();
742  dz2_sta_ = sta2->dz();
743  ddz_sta_ = sta1->dz() - sta2->dz();
744  theta1_sta_ = sta1->theta();
745  theta2_sta_ = sta2->theta();
746  dtheta_sta_ = sta1->theta() - sta2->theta();
747  eta1_sta_ = sta1->eta();
748  eta2_sta_ = sta2->eta();
750  phi1_sta_ = sta1->phi();
751  phi2_sta_ = sta2->phi();
752  dphi_sta_ = sta1->phi() - sta2->phi();
753  pt1_sta_ = sta1->pt();
754  pt2_sta_ = sta2->pt();
755  dpt_sta_ = sta1->pt() - sta2->pt();
756  p1_sta_ = sta1->p();
757  p2_sta_ = sta2->p();
758  dp_sta_ = sta1->p() - sta2->p();
759  qoverpt1_sta_ = sta1->charge() / sta1->pt();
760  qoverpt2_sta_ = sta2->charge() / sta2->pt();
762  dxy1Err_sta_ = sta1->dxyError();
763  dxy2Err_sta_ = sta2->dxyError();
764  dz1Err_sta_ = sta1->dzError();
765  dz2Err_sta_ = sta2->dzError();
766  theta1Err_sta_ = sta1->thetaError();
767  theta2Err_sta_ = sta2->thetaError();
768  eta1Err_sta_ = sta1->etaError();
769  eta2Err_sta_ = sta2->etaError();
770  phi1Err_sta_ = sta1->phiError();
771  phi2Err_sta_ = sta2->phiError();
772  pt1Err_sta_ = sta1->ptError();
773  pt2Err_sta_ = sta2->ptError();
776 
777  // global muon variables
778  dcaX1_glb_ = glb1->referencePoint().x();
779  dcaY1_glb_ = glb1->referencePoint().y();
780  dcaZ1_glb_ = glb1->referencePoint().z();
781  dcaX2_glb_ = glb2->referencePoint().x();
782  dcaY2_glb_ = glb2->referencePoint().y();
783  dcaZ2_glb_ = glb2->referencePoint().z();
784  dxy1_glb_ = glb1->d0();
785  dxy2_glb_ = glb2->d0();
786  ddxy_glb_ = glb1->d0() - glb2->d0();
787  dz1_glb_ = glb1->dz();
788  dz2_glb_ = glb2->dz();
789  ddz_glb_ = glb1->dz() - glb2->dz();
790  theta1_glb_ = glb1->theta();
791  theta2_glb_ = glb2->theta();
792  dtheta_glb_ = glb1->theta() - glb2->theta();
793  eta1_glb_ = glb1->eta();
794  eta2_glb_ = glb2->eta();
796  phi1_glb_ = glb1->phi();
797  phi2_glb_ = glb2->phi();
798  dphi_glb_ = glb1->phi() - glb2->phi();
799  pt1_glb_ = glb1->pt();
800  pt2_glb_ = glb2->pt();
801  dpt_glb_ = glb1->pt() - glb2->pt();
802  p1_glb_ = glb1->p();
803  p2_glb_ = glb2->p();
804  dp_glb_ = glb1->p() - glb2->p();
805  qoverpt1_glb_ = glb1->charge() / glb1->pt();
806  qoverpt2_glb_ = glb2->charge() / glb2->pt();
808  norchi1_glb_ = glb1->normalizedChi2();
809  norchi2_glb_ = glb2->normalizedChi2();
810 
811  dxy1Err_glb_ = glb1->d0Error();
812  dxy2Err_glb_ = glb2->d0Error();
813  dz1Err_glb_ = glb1->dzError();
814  dz2Err_glb_ = glb2->dzError();
815  theta1Err_glb_ = glb1->thetaError();
816  theta2Err_glb_ = glb2->thetaError();
817  eta1Err_glb_ = glb1->etaError();
818  eta2Err_glb_ = glb2->etaError();
819  phi1Err_glb_ = glb1->phiError();
820  phi2Err_glb_ = glb2->phiError();
821  pt1Err_glb_ = glb1->ptError();
822  pt2Err_glb_ = glb2->ptError();
825  }
826 
827  splitterTree_->Fill();
828  }
829  }
830 }
831 
832 // ------------ method called once each job just before starting event loop ------------
834  edm::LogInfo("beginJob") << "Begin Job" << std::endl;
835 
836  if (compressionSettings_ > 0) {
837  tfile->file().SetCompressionSettings(compressionSettings_);
838  }
839 
840  splitterTree_ = tfile->make<TTree>("splitterTree", "splitterTree");
841 
842  splitterTree_->Branch("runNumber", &runNumber_, "runNumber/I");
843  splitterTree_->Branch("eventNumber", &eventNumber_, "eventNumber/I");
844  splitterTree_->Branch("luminosityBlock", &luminosityBlock_, "luminosityBlock/I");
845 
846  // split track variables
847  splitterTree_->Branch("dcaX1_spl", &dcaX1_spl_, "dcaX1_spl/D");
848  splitterTree_->Branch("dcaY1_spl", &dcaY1_spl_, "dcaY1_spl/D");
849  splitterTree_->Branch("dcaZ1_spl", &dcaZ1_spl_, "dcaZ1_spl/D");
850  splitterTree_->Branch("dcaX2_spl", &dcaX2_spl_, "dcaX2_spl/D");
851  splitterTree_->Branch("dcaY2_spl", &dcaY2_spl_, "dcaY2_spl/D");
852  splitterTree_->Branch("dcaZ2_spl", &dcaZ2_spl_, "dcaZ2_spl/D");
853  splitterTree_->Branch("dxy1_spl", &dxy1_spl_, "dxy1_spl/D");
854  splitterTree_->Branch("dxy2_spl", &dxy2_spl_, "dxy2_spl/D");
855  splitterTree_->Branch("dz1_spl", &dz1_spl_, "dz1_spl/D");
856  splitterTree_->Branch("dz2_spl", &dz2_spl_, "dz2_spl/D");
857  splitterTree_->Branch("theta1_spl", &theta1_spl_, "theta1_spl/D");
858  splitterTree_->Branch("theta2_spl", &theta2_spl_, "theta2_spl/D");
859  splitterTree_->Branch("eta1_spl", &eta1_spl_, "eta1_spl/D");
860  splitterTree_->Branch("eta2_spl", &eta2_spl_, "eta2_spl/D");
861  splitterTree_->Branch("phi1_spl", &phi1_spl_, "phi1_spl/D");
862  splitterTree_->Branch("phi2_spl", &phi2_spl_, "phi2_spl/D");
863  splitterTree_->Branch("pt1_spl", &pt1_spl_, "pt1_spl/D");
864  splitterTree_->Branch("pt2_spl", &pt2_spl_, "pt2_spl/D");
865  splitterTree_->Branch("p1_spl", &p1_spl_, "p1_spl/D");
866  splitterTree_->Branch("p2_spl", &p2_spl_, "p2_spl/D");
867  splitterTree_->Branch("qoverpt1_spl", &qoverpt1_spl_, "qoverpt1_spl/D");
868  splitterTree_->Branch("qoverpt2_spl", &qoverpt2_spl_, "qoverpt2_spl/D");
869  splitterTree_->Branch("nHits1_spl", &nHits1_spl_, "nHits1_spl/I");
870  splitterTree_->Branch("nHitsPXB1_spl", &nHitsPXB1_spl_, "nHitsPXB1_spl/I");
871  splitterTree_->Branch("nHitsPXF1_spl", &nHitsPXF1_spl_, "nHitsPXF1_spl/I");
872  splitterTree_->Branch("nHitsTIB1_spl", &nHitsTIB1_spl_, "nHitsTIB1_spl/I");
873  splitterTree_->Branch("nHitsTOB1_spl", &nHitsTOB1_spl_, "nHitsTOB1_spl/I");
874  splitterTree_->Branch("nHitsTID1_spl", &nHitsTID1_spl_, "nHitsTID1_spl/I");
875  splitterTree_->Branch("nHitsTEC1_spl", &nHitsTEC1_spl_, "nHitsTEC1_spl/I");
876  splitterTree_->Branch("nHits2_spl", &nHits2_spl_, "nHits2_spl/I");
877  splitterTree_->Branch("nHitsPXB2_spl", &nHitsPXB2_spl_, "nHitsPXB2_spl/I");
878  splitterTree_->Branch("nHitsPXF2_spl", &nHitsPXF2_spl_, "nHitsPXF2_spl/I");
879  splitterTree_->Branch("nHitsTIB2_spl", &nHitsTIB2_spl_, "nHitsTIB2_spl/I");
880  splitterTree_->Branch("nHitsTOB2_spl", &nHitsTOB2_spl_, "nHitsTOB2_spl/I");
881  splitterTree_->Branch("nHitsTID2_spl", &nHitsTID2_spl_, "nHitsTID2_spl/I");
882  splitterTree_->Branch("nHitsTEC2_spl", &nHitsTEC2_spl_, "nHitsTEC2_spl/I");
883 
884  splitterTree_->Branch("dxy1Err_spl", &dxy1Err_spl_, "dxy1Err_spl/D");
885  splitterTree_->Branch("dxy2Err_spl", &dxy2Err_spl_, "dxy2Err_spl/D");
886  splitterTree_->Branch("dz1Err_spl", &dz1Err_spl_, "dz1Err_spl/D");
887  splitterTree_->Branch("dz2Err_spl", &dz2Err_spl_, "dz2Err_spl/D");
888  splitterTree_->Branch("theta1Err_spl", &theta1Err_spl_, "theta1Err_spl/D");
889  splitterTree_->Branch("theta2Err_spl", &theta2Err_spl_, "theta2Err_spl/D");
890  splitterTree_->Branch("eta1Err_spl", &eta1Err_spl_, "eta1Err_spl/D");
891  splitterTree_->Branch("eta2Err_spl", &eta2Err_spl_, "eta2Err_spl/D");
892  splitterTree_->Branch("phi1Err_spl", &phi1Err_spl_, "phi1Err_spl/D");
893  splitterTree_->Branch("phi2Err_spl", &phi2Err_spl_, "phi2Err_spl/D");
894  splitterTree_->Branch("pt1Err_spl", &pt1Err_spl_, "pt1Err_spl/D");
895  splitterTree_->Branch("pt2Err_spl", &pt2Err_spl_, "pt2Err_spl/D");
896  splitterTree_->Branch("qoverpt1Err_spl", &qoverpt1Err_spl_, "qoverpt1Err_spl/D");
897  splitterTree_->Branch("qoverpt2Err_spl", &qoverpt2Err_spl_, "qoverpt2Err_spl/D");
898 
899  splitterTree_->Branch("dcaX_org", &dcaX_org_, "dcaX_org/D");
900  splitterTree_->Branch("dcaY_org", &dcaY_org_, "dcaY_org/D");
901  splitterTree_->Branch("dcaZ_org", &dcaZ_org_, "dcaZ_org/D");
902  splitterTree_->Branch("dxy_org", &dxy_org_, "dxy_org/D");
903  splitterTree_->Branch("dz_org", &dz_org_, "dz_org/D");
904  splitterTree_->Branch("theta_org", &theta_org_, "theta_org/D");
905  splitterTree_->Branch("eta_org", &eta_org_, "eta_org/D");
906  splitterTree_->Branch("phi_org", &phi_org_, "phi_org/D");
907  splitterTree_->Branch("pt_org", &pt_org_, "pt_org/D");
908  splitterTree_->Branch("p_org", &p_org_, "p_org/D");
909  splitterTree_->Branch("qoverpt_org", &qoverpt_org_, "qoverpt_org/D");
910  splitterTree_->Branch("norchi2_org", &norchi2_org_, "norchi2_org/D");
911 
912  splitterTree_->Branch("nHits_org", &nHits_org_, "nHits_org/I");
913  splitterTree_->Branch("nHitsPXB_org", &nHitsPXB_org_, "nHitsPXB_org/I");
914  splitterTree_->Branch("nHitsPXF_org", &nHitsPXF_org_, "nHitsPXF_org/I");
915  splitterTree_->Branch("nHitsTIB_org", &nHitsTIB_org_, "nHitsTIB_org/I");
916  splitterTree_->Branch("nHitsTOB_org", &nHitsTOB_org_, "nHitsTOB_org/I");
917  splitterTree_->Branch("nHitsTID_org", &nHitsTID_org_, "nHitsTID_org/I");
918  splitterTree_->Branch("nHitsTEC_org", &nHitsTEC_org_, "nHitsTEC_org/I");
919 
920  splitterTree_->Branch("dxyErr_org", &dxyErr_org_, "dxyErr_org/D");
921  splitterTree_->Branch("dzErr_org", &dzErr_org_, "dzErr_org/D");
922  splitterTree_->Branch("thetaErr_org", &thetaErr_org_, "thetaErr_org/D");
923  splitterTree_->Branch("etaErr_org", &etaErr_org_, "etaErr_org/D");
924  splitterTree_->Branch("phiErr_org", &phiErr_org_, "phiErr_org/D");
925  splitterTree_->Branch("ptErr_org", &ptErr_org_, "ptErr_org/D");
926  splitterTree_->Branch("qoverptErr_org", &qoverptErr_org_, "qoverptErr_org/D");
927 
928  //put the Deltas at the end of the tree, since they're the focus of the validation.
929  //this way, if you use splitterTree->Show(), they are immediately visible
930  splitterTree_->Branch("Delta_dxy", &ddxy_spl_, "Delta_dxy/D");
931  splitterTree_->Branch("Delta_dz", &ddz_spl_, "Delta_dz/D");
932  splitterTree_->Branch("Delta_theta", &dtheta_spl_, "Delta_theta/D");
933  splitterTree_->Branch("Delta_eta", &deta_spl_, "Delta_eta/D");
934  splitterTree_->Branch("Delta_phi", &dphi_spl_, "Delta_phi/D");
935  splitterTree_->Branch("Delta_pt", &dpt_spl_, "Delta_pt/D");
936  splitterTree_->Branch("Delta_p", &dp_spl_, "Delta_p/D");
937  splitterTree_->Branch("Delta_qoverpt", &dqoverpt_spl_, "Delta_qoverpt/D");
938 
939  if (splitMuons_) {
940  // standalone split
941  splitterTree_->Branch("dcaX1_sta", &dcaX1_sta_, "dcaX1_sta/D");
942  splitterTree_->Branch("dcaY1_sta", &dcaY1_sta_, "dcaY1_sta/D");
943  splitterTree_->Branch("dcaZ1_sta", &dcaZ1_sta_, "dcaZ1_sta/D");
944  splitterTree_->Branch("dcaX2_sta", &dcaX2_sta_, "dcaX2_sta/D");
945  splitterTree_->Branch("dcaY2_sta", &dcaY2_sta_, "dcaY2_sta/D");
946  splitterTree_->Branch("dcaZ2_sta", &dcaZ2_sta_, "dcaZ2_sta/D");
947  splitterTree_->Branch("dxy1_sta", &dxy1_sta_, "dxy1_sta/D");
948  splitterTree_->Branch("dxy2_sta", &dxy2_sta_, "dxy2_sta/D");
949  splitterTree_->Branch("ddxy_sta", &ddxy_sta_, "ddxy_sta/D");
950  splitterTree_->Branch("dz1_sta", &dz1_sta_, "dz1_sta/D");
951  splitterTree_->Branch("dz2_sta", &dz2_sta_, "dz2_sta/D");
952  splitterTree_->Branch("ddz_sta", &ddz_sta_, "ddz_sta/D");
953  splitterTree_->Branch("theta1_sta", &theta1_sta_, "theta1_sta/D");
954  splitterTree_->Branch("theta2_sta", &theta2_sta_, "theta2_sta/D");
955  splitterTree_->Branch("dtheta_sta", &dtheta_sta_, "dtheta_sta/D");
956  splitterTree_->Branch("eta1_sta", &eta1_sta_, "eta1_sta/D");
957  splitterTree_->Branch("eta2_sta", &eta2_sta_, "eta2_sta/D");
958  splitterTree_->Branch("deta_sta", &deta_sta_, "deta_sta/D");
959  splitterTree_->Branch("phi1_sta", &phi1_sta_, "phi1_sta/D");
960  splitterTree_->Branch("phi2_sta", &phi2_sta_, "phi2_sta/D");
961  splitterTree_->Branch("dphi_sta", &dphi_sta_, "dphi_sta/D");
962  splitterTree_->Branch("pt1_sta", &pt1_sta_, "pt1_sta/D");
963  splitterTree_->Branch("pt2_sta", &pt2_sta_, "pt2_sta/D");
964  splitterTree_->Branch("dpt_sta", &dpt_sta_, "dpt_sta/D");
965  splitterTree_->Branch("p1_sta", &p1_sta_, "p1_sta/D");
966  splitterTree_->Branch("p2_sta", &p2_sta_, "p2_sta/D");
967  splitterTree_->Branch("dp_sta", &dp_sta_, "dp_sta/D");
968 
969  splitterTree_->Branch("dxy1Err_sta", &dxy1Err_sta_, "dxy1Err_sta/D");
970  splitterTree_->Branch("dxy2Err_sta", &dxy2Err_sta_, "dxy2Err_sta/D");
971  splitterTree_->Branch("dz1Err_sta", &dz1Err_sta_, "dz1Err_sta/D");
972  splitterTree_->Branch("dz2Err_sta", &dz2Err_sta_, "dz2Err_sta/D");
973  splitterTree_->Branch("theta1Err_sta", &theta1Err_sta_, "theta1Err_sta/D");
974  splitterTree_->Branch("theta2Err_sta", &theta2Err_sta_, "theta2Err_sta/D");
975  splitterTree_->Branch("eta1Err_sta", &eta1Err_sta_, "eta1Err_sta/D");
976  splitterTree_->Branch("eta2Err_sta", &eta2Err_sta_, "eta2Err_sta/D");
977  splitterTree_->Branch("phi1Err_sta", &phi1Err_sta_, "phi1Err_sta/D");
978  splitterTree_->Branch("phi2Err_sta", &phi2Err_sta_, "phi2Err_sta/D");
979  splitterTree_->Branch("pt1Err_sta", &pt1Err_sta_, "pt1Err_sta/D");
980  splitterTree_->Branch("pt2Err_sta", &pt2Err_sta_, "pt2Err_sta/D");
981  splitterTree_->Branch("qoverpt1Err_sta", &qoverpt1Err_sta_, "qoverpt1Err_sta/D");
982  splitterTree_->Branch("qoverpt2Err_sta", &qoverpt2Err_sta_, "qoverpt2Err_sta/D");
983 
984  // global split
985  splitterTree_->Branch("dcaX1_glb", &dcaX1_glb_, "dcaX1_glb/D");
986  splitterTree_->Branch("dcaY1_glb", &dcaY1_glb_, "dcaY1_glb/D");
987  splitterTree_->Branch("dcaZ1_glb", &dcaZ1_glb_, "dcaZ1_glb/D");
988  splitterTree_->Branch("dcaX2_glb", &dcaX2_glb_, "dcaX2_glb/D");
989  splitterTree_->Branch("dcaY2_glb", &dcaY2_glb_, "dcaY2_glb/D");
990  splitterTree_->Branch("dcaZ2_glb", &dcaZ2_glb_, "dcaZ2_glb/D");
991  splitterTree_->Branch("dxy1_glb", &dxy1_glb_, "dxy1_glb/D");
992  splitterTree_->Branch("dxy2_glb", &dxy2_glb_, "dxy2_glb/D");
993  splitterTree_->Branch("ddxy_glb", &ddxy_glb_, "ddxy_glb/D");
994  splitterTree_->Branch("dz1_glb", &dz1_glb_, "dz1_glb/D");
995  splitterTree_->Branch("dz2_glb", &dz2_glb_, "dz2_glb/D");
996  splitterTree_->Branch("ddz_glb", &ddz_glb_, "ddz_glb/D");
997  splitterTree_->Branch("theta1_glb", &theta1_glb_, "theta1_glb/D");
998  splitterTree_->Branch("theta2_glb", &theta2_glb_, "theta2_glb/D");
999  splitterTree_->Branch("dtheta_glb", &dtheta_glb_, "dtheta_glb/D");
1000  splitterTree_->Branch("eta1_glb", &eta1_glb_, "eta1_glb/D");
1001  splitterTree_->Branch("eta2_glb", &eta2_glb_, "eta2_glb/D");
1002  splitterTree_->Branch("deta_glb", &deta_glb_, "deta_glb/D");
1003  splitterTree_->Branch("phi1_glb", &phi1_glb_, "phi1_glb/D");
1004  splitterTree_->Branch("phi2_glb", &phi2_glb_, "phi2_glb/D");
1005  splitterTree_->Branch("dphi_glb", &dphi_glb_, "dphi_glb/D");
1006  splitterTree_->Branch("pt1_glb", &pt1_glb_, "pt1_glb/D");
1007  splitterTree_->Branch("pt2_glb", &pt2_glb_, "pt2_glb/D");
1008  splitterTree_->Branch("dpt_glb", &dpt_glb_, "dpt_glb/D");
1009  splitterTree_->Branch("p1_glb", &p1_glb_, "p1_glb/D");
1010  splitterTree_->Branch("p2_glb", &p2_glb_, "p2_glb/D");
1011  splitterTree_->Branch("dp_glb", &dp_glb_, "dp_glb/D");
1012  splitterTree_->Branch("qoverpt1_glb", &qoverpt1_glb_, "qoverpt1_glb/D");
1013  splitterTree_->Branch("qoverpt2_glb", &qoverpt2_glb_, "qoverpt2_glb/D");
1014  splitterTree_->Branch("dqoverpt_glb", &dqoverpt_glb_, "dqoverpt_glb/D");
1015  splitterTree_->Branch("norchi1_glb", &norchi1_glb_, "norchi1_glb/D");
1016  splitterTree_->Branch("norchi2_glb", &norchi2_glb_, "norchi2_glb/D");
1017 
1018  splitterTree_->Branch("dxy1Err_glb", &dxy1Err_glb_, "dxy1Err_glb/D");
1019  splitterTree_->Branch("dxy2Err_glb", &dxy2Err_glb_, "dxy2Err_glb/D");
1020  splitterTree_->Branch("dz1Err_glb", &dz1Err_glb_, "dz1Err_glb/D");
1021  splitterTree_->Branch("dz2Err_glb", &dz2Err_glb_, "dz2Err_glb/D");
1022  splitterTree_->Branch("theta1Err_glb", &theta1Err_glb_, "theta1Err_glb/D");
1023  splitterTree_->Branch("theta2Err_glb", &theta2Err_glb_, "theta2Err_glb/D");
1024  splitterTree_->Branch("eta1Err_glb", &eta1Err_glb_, "eta1Err_glb/D");
1025  splitterTree_->Branch("eta2Err_glb", &eta2Err_glb_, "eta2Err_glb/D");
1026  splitterTree_->Branch("phi1Err_glb", &phi1Err_glb_, "phi1Err_glb/D");
1027  splitterTree_->Branch("phi2Err_glb", &phi2Err_glb_, "phi2Err_glb/D");
1028  splitterTree_->Branch("pt1Err_glb", &pt1Err_glb_, "pt1Err_glb/D");
1029  splitterTree_->Branch("pt2Err_glb", &pt2Err_glb_, "pt2Err_glb/D");
1030  splitterTree_->Branch("qoverpt1Err_glb", &qoverpt1Err_glb_, "qoverpt1Err_glb/D");
1031  splitterTree_->Branch("qoverpt2Err_glb", &qoverpt2Err_glb_, "qoverpt2Err_glb/D");
1032  }
1033 
1035  goldenCtr = 0;
1036  twoTracksCtr = 0;
1039 }
1040 
1041 // ------------ method called once each job just after ending the event loop ------------
1043  //std::cout << "totalTracksToAnalyzer: " << totalTracksToAnalyzer_ << std::endl;
1044  std::cout << "golden: " << goldenCtr << ", two tracks: " << twoTracksCtr << ", "
1045  << "golden+twotracks: " << goldenPlusTwoTracksCtr << ", "
1046  << "tracks+muons cuts: " << _passesTracksPlusMuonsCuts << std::endl;
1047 }
1048 
1051  e.getByToken(STAMuonsToken_, muHandle);
1052  const reco::MuonCollection& muons = *(muHandle.product());
1053  // make sure there are 2 muons
1054  if (2 != muons.size())
1055  return false;
1056 
1057  double mudd0 = 0., mudphi = 0., muddsz = 0., mudeta = 0.;
1058  for (unsigned int bindex = 0; bindex < muons.size(); ++bindex) {
1059  reco::Muon mymuon = muons[bindex];
1060  // deprecated in 21x (now outerTrack)
1061  //reco::TrackRef mutrackref = mymuon.standAloneMuon();
1062  reco::TrackRef mutrackref = mymuon.outerTrack();
1063  const reco::Track* mutrack = mutrackref.get();
1064  if (0 == bindex) {
1065  mudd0 += mutrack->d0();
1066  mudphi += mutrack->phi();
1067  muddsz += mutrack->dsz();
1068  mudeta += mymuon.eta();
1069  }
1070  if (1 == bindex) {
1071  mudd0 -= mutrack->d0();
1072  mudphi -= mutrack->phi();
1073  muddsz -= mutrack->dsz();
1074  mudeta -= mymuon.eta();
1075  }
1076  }
1077  if ((fabs(mudd0) < 15.0) && (fabs(mudphi) < 0.045) && (fabs(muddsz) < 20.0) && (fabs(mudeta) < 0.060))
1078  return true;
1079  return false;
1080 }
1081 
1082 //define this as a plug-in
CosmicSplitterValidation::ddz_sta_
double ddz_sta_
Definition: CosmicSplitterValidation.cc:134
CosmicSplitterValidation::phi_org_
double phi_org_
Definition: CosmicSplitterValidation.cc:120
CosmicSplitterValidation::thetaErr_orm_
double thetaErr_orm_
Definition: CosmicSplitterValidation.cc:178
CosmicSplitterValidation::nHitsTOB2_spl_
int nHitsTOB2_spl_
Definition: CosmicSplitterValidation.cc:107
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
CosmicSplitterValidation::originalTracksToken_
edm::EDGetTokenT< std::vector< reco::Track > > originalTracksToken_
Definition: CosmicSplitterValidation.cc:183
CosmicSplitterValidation::dz2Err_spl_
double dz2Err_spl_
Definition: CosmicSplitterValidation.cc:110
CosmicSplitterValidation::p2_spl_
double p2_spl_
Definition: CosmicSplitterValidation.cc:102
electrons_cff.bool
bool
Definition: electrons_cff.py:366
EDAnalyzer.h
CosmicSplitterValidation::dcaX2_sta_
double dcaX2_sta_
Definition: CosmicSplitterValidation.cc:132
CosmicSplitterValidation::dxy2_glb_
double dxy2_glb_
Definition: CosmicSplitterValidation.cc:153
CosmicSplitterValidation::dxy1Err_glb_
double dxy1Err_glb_
Definition: CosmicSplitterValidation.cc:163
FreeTrajectoryState.h
reco::TrackBase::ptError
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:754
CosmicSplitterValidation::dcaY2_glb_
double dcaY2_glb_
Definition: CosmicSplitterValidation.cc:152
Muon.h
CosmicSplitterValidation::dcaX2_spl_
double dcaX2_spl_
Definition: CosmicSplitterValidation.cc:95
MessageLogger.h
CosmicSplitterValidation::phi1_sta_
double phi1_sta_
Definition: CosmicSplitterValidation.cc:137
CosmicSplitterValidation::theta2_glb_
double theta2_glb_
Definition: CosmicSplitterValidation.cc:155
CosmicSplitterValidation::beginJob
void beginJob() override
Definition: CosmicSplitterValidation.cc:833
CosmicSplitterValidation::ptErr_orm_
double ptErr_orm_
Definition: CosmicSplitterValidation.cc:179
CosmicSplitterValidation::CosmicSplitterValidation
CosmicSplitterValidation(const edm::ParameterSet &)
Definition: CosmicSplitterValidation.cc:200
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
edm::Handle::product
T const * product() const
Definition: Handle.h:70
CosmicSplitterValidation::theta2Err_glb_
double theta2Err_glb_
Definition: CosmicSplitterValidation.cc:165
CosmicSplitterValidation::dz2_spl_
double dz2_spl_
Definition: CosmicSplitterValidation.cc:97
TrackCandidateCollection.h
EDProducer.h
CosmicSplitterValidation::endJob
void endJob() override
Definition: CosmicSplitterValidation.cc:1042
CosmicSplitterValidation::p2_sta_
double p2_sta_
Definition: CosmicSplitterValidation.cc:139
CosmicSplitterValidation::goldenCtr
int goldenCtr
Definition: CosmicSplitterValidation.cc:81
CosmicSplitterValidation::dqoverpt_spl_
double dqoverpt_spl_
Definition: CosmicSplitterValidation.cc:103
reco::TrackBase::etaError
double etaError() const
error on eta
Definition: TrackBase.h:763
CosmicSplitterValidation::eta1_glb_
double eta1_glb_
Definition: CosmicSplitterValidation.cc:156
reco::TrackBase::referencePoint
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:667
CosmicSplitterValidation::checkIfGolden_
bool checkIfGolden_
Definition: CosmicSplitterValidation.cc:78
CosmicSplitterValidation::nHits2_spl_
int nHits2_spl_
Definition: CosmicSplitterValidation.cc:106
reco::TrackBase::p
double p() const
momentum vector magnitude
Definition: TrackBase.h:631
kFPIX
const int kFPIX
Definition: AlignmentTrackSelector.cc:29
CosmicSplitterValidation::dz1Err_glb_
double dz1Err_glb_
Definition: CosmicSplitterValidation.cc:164
CosmicSplitterValidation::compressionSettings_
const int compressionSettings_
Definition: CosmicSplitterValidation.cc:72
CosmicSplitterValidation::dxyErr_org_
double dxyErr_org_
Definition: CosmicSplitterValidation.cc:126
CosmicSplitterValidation::dcaX_orm_
double dcaX_orm_
Definition: CosmicSplitterValidation.cc:171
CosmicSplitterValidation::dcaX2_glb_
double dcaX2_glb_
Definition: CosmicSplitterValidation.cc:152
edm::EDGetTokenT
Definition: EDGetToken.h:33
CosmicSplitterValidation::nHits_org_
int nHits_org_
Definition: CosmicSplitterValidation.cc:123
CosmicSplitterValidation::splitGlobalMuons_
edm::InputTag splitGlobalMuons_
Definition: CosmicSplitterValidation.cc:74
CosmicSplitterValidation::pt2Err_glb_
double pt2Err_glb_
Definition: CosmicSplitterValidation.cc:168
edm
HLT enums.
Definition: AlignableModifier.h:19
CosmicSplitterValidation::dzErr_org_
double dzErr_org_
Definition: CosmicSplitterValidation.cc:126
CosmicSplitterValidation::thetaErr_org_
double thetaErr_org_
Definition: CosmicSplitterValidation.cc:127
CosmicSplitterValidation::p2_glb_
double p2_glb_
Definition: CosmicSplitterValidation.cc:159
CosmicSplitterValidation::nHitsPXB2_spl_
int nHitsPXB2_spl_
Definition: CosmicSplitterValidation.cc:106
CosmicSplitterValidation::p_orm_
double p_orm_
Definition: CosmicSplitterValidation.cc:174
gather_cfg.cout
cout
Definition: gather_cfg.py:144
CosmicSplitterValidation::norchi2_glb_
double norchi2_glb_
Definition: CosmicSplitterValidation.cc:161
reco::TrackBase::thetaError
double thetaError() const
error on theta
Definition: TrackBase.h:757
CosmicSplitterValidation::dxy_org_
double dxy_org_
Definition: CosmicSplitterValidation.cc:119
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89281
CosmicSplitterValidation::nHitsTOB1_spl_
int nHitsTOB1_spl_
Definition: CosmicSplitterValidation.cc:105
CosmicSplitterValidation::dtheta_glb_
double dtheta_glb_
Definition: CosmicSplitterValidation.cc:155
CosmicSplitterValidation::dz_orm_
double dz_orm_
Definition: CosmicSplitterValidation.cc:172
CosmicSplitterValidation::p_org_
double p_org_
Definition: CosmicSplitterValidation.cc:121
CosmicSplitterValidation::_passesTracksPlusMuonsCuts
int _passesTracksPlusMuonsCuts
Definition: CosmicSplitterValidation.cc:84
CosmicSplitterValidation::nHitsTIB_org_
int nHitsTIB_org_
Definition: CosmicSplitterValidation.cc:123
reco::TrackBase::dsz
double dsz() const
dsz parameter (THIS IS NOT the SZ impact parameter to (0,0,0) if refPoint is far from (0,...
Definition: TrackBase.h:614
CosmicSplitterValidation::phi1_glb_
double phi1_glb_
Definition: CosmicSplitterValidation.cc:157
CosmicSplitterValidation::ddz_glb_
double ddz_glb_
Definition: CosmicSplitterValidation.cc:154
edm::Ref::get
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:232
edm::EDConsumerBase::consumesCollector
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
Definition: EDConsumerBase.cc:47
CosmicSplitterValidation::phi2_spl_
double phi2_spl_
Definition: CosmicSplitterValidation.cc:100
CosmicSplitterValidation::dz2Err_sta_
double dz2Err_sta_
Definition: CosmicSplitterValidation.cc:143
CosmicSplitterValidation::tfile
edm::Service< TFileService > tfile
Definition: CosmicSplitterValidation.cc:86
CosmicSplitterValidation::dcaY1_glb_
double dcaY1_glb_
Definition: CosmicSplitterValidation.cc:151
CosmicSplitterValidation::dxy2_spl_
double dxy2_spl_
Definition: CosmicSplitterValidation.cc:96
CosmicSplitterValidation::luminosityBlock_
int luminosityBlock_
Definition: CosmicSplitterValidation.cc:92
CosmicSplitterValidation::phi2Err_glb_
double phi2Err_glb_
Definition: CosmicSplitterValidation.cc:167
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
edm::one::EDAnalyzer
Definition: EDAnalyzer.h:30
CosmicSplitterValidation::dp_sta_
double dp_sta_
Definition: CosmicSplitterValidation.cc:139
CosmicSplitterValidation::nHitsTID2_spl_
int nHitsTID2_spl_
Definition: CosmicSplitterValidation.cc:107
TransientTrack.h
CosmicSplitterValidation::dcaZ1_sta_
double dcaZ1_sta_
Definition: CosmicSplitterValidation.cc:131
CosmicSplitterValidation::eta1Err_glb_
double eta1Err_glb_
Definition: CosmicSplitterValidation.cc:166
CosmicSplitterValidation::dp_glb_
double dp_glb_
Definition: CosmicSplitterValidation.cc:159
CosmicSplitterValidation::dzErr_orm_
double dzErr_orm_
Definition: CosmicSplitterValidation.cc:177
edm::Handle
Definition: AssociativeIterator.h:50
CosmicSplitterValidation::originalGlobalMuons_
edm::InputTag originalGlobalMuons_
Definition: CosmicSplitterValidation.cc:76
CosmicSplitterValidation::p1_glb_
double p1_glb_
Definition: CosmicSplitterValidation.cc:159
CosmicSplitterValidation::dz2Err_glb_
double dz2Err_glb_
Definition: CosmicSplitterValidation.cc:164
CosmicSplitterValidation::dz1_spl_
double dz1_spl_
Definition: CosmicSplitterValidation.cc:97
reco::Muon
Definition: Muon.h:27
CosmicSplitterValidation::dcaZ2_spl_
double dcaZ2_spl_
Definition: CosmicSplitterValidation.cc:95
edm::Ref< TrackCollection >
CosmicSplitterValidation::qoverpt2Err_sta_
double qoverpt2Err_sta_
Definition: CosmicSplitterValidation.cc:148
CosmicSplitterValidation::qoverpt2_sta_
double qoverpt2_sta_
Definition: CosmicSplitterValidation.cc:140
CosmicSplitterValidation::dqoverpt_glb_
double dqoverpt_glb_
Definition: CosmicSplitterValidation.cc:160
CosmicSplitterValidation::dz1Err_spl_
double dz1Err_spl_
Definition: CosmicSplitterValidation.cc:110
CosmicSplitterValidation::phiErr_orm_
double phiErr_orm_
Definition: CosmicSplitterValidation.cc:178
CosmicSplitterValidation::qoverpt1Err_glb_
double qoverpt1Err_glb_
Definition: CosmicSplitterValidation.cc:169
CosmicSplitterValidation::qoverpt_orm_
double qoverpt_orm_
Definition: CosmicSplitterValidation.cc:174
CosmicSplitterValidation::theta_org_
double theta_org_
Definition: CosmicSplitterValidation.cc:120
CosmicSplitterValidation::eta2_spl_
double eta2_spl_
Definition: CosmicSplitterValidation.cc:99
CosmicSplitterValidation::ddxy_spl_
double ddxy_spl_
Definition: CosmicSplitterValidation.cc:96
reco::TrackBase::pt
double pt() const
track transverse momentum
Definition: TrackBase.h:637
CosmicSplitterValidation::originalGlobalMuonsToken_
edm::EDGetTokenT< reco::MuonCollection > originalGlobalMuonsToken_
Definition: CosmicSplitterValidation.cc:185
CosmicSplitterValidation::pt1Err_sta_
double pt1Err_sta_
Definition: CosmicSplitterValidation.cc:147
CosmicSplitterValidation::qoverptErr_orm_
double qoverptErr_orm_
Definition: CosmicSplitterValidation.cc:179
CosmicSplitterValidation::pt2Err_sta_
double pt2Err_sta_
Definition: CosmicSplitterValidation.cc:147
CosmicSplitterValidation::dcaX1_glb_
double dcaX1_glb_
Definition: CosmicSplitterValidation.cc:151
MakerMacros.h
CosmicSplitterValidation::dtheta_sta_
double dtheta_sta_
Definition: CosmicSplitterValidation.cc:135
CosmicSplitterValidation::theta1_glb_
double theta1_glb_
Definition: CosmicSplitterValidation.cc:155
CosmicSplitterValidation::dxy_orm_
double dxy_orm_
Definition: CosmicSplitterValidation.cc:172
Track.h
TrackFwd.h
CosmicSplitterValidation::phi1Err_spl_
double phi1Err_spl_
Definition: CosmicSplitterValidation.cc:113
CosmicSplitterValidation::nHitsTIB2_spl_
int nHitsTIB2_spl_
Definition: CosmicSplitterValidation.cc:106
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
CosmicSplitterValidation::qoverpt2_glb_
double qoverpt2_glb_
Definition: CosmicSplitterValidation.cc:160
CosmicSplitterValidation::p1_spl_
double p1_spl_
Definition: CosmicSplitterValidation.cc:102
CosmicSplitterValidation::theta1Err_glb_
double theta1Err_glb_
Definition: CosmicSplitterValidation.cc:165
CosmicSplitterValidation::dcaX1_spl_
double dcaX1_spl_
Definition: CosmicSplitterValidation.cc:94
CosmicSplitterValidation::qoverpt2Err_spl_
double qoverpt2Err_spl_
Definition: CosmicSplitterValidation.cc:115
Service.h
CosmicSplitterValidation::phi2Err_sta_
double phi2Err_sta_
Definition: CosmicSplitterValidation.cc:146
MuonFwd.h
CosmicSplitterValidation::theta2_spl_
double theta2_spl_
Definition: CosmicSplitterValidation.cc:98
CosmicSplitterValidation::is_gold_muon
bool is_gold_muon(const edm::Event &e)
Definition: CosmicSplitterValidation.cc:1049
reco::MuonCollection
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
tfile
Definition: tfile.py:1
CosmicSplitterValidation::dcaX1_sta_
double dcaX1_sta_
Definition: CosmicSplitterValidation.cc:131
CosmicSplitterValidation::theta1_sta_
double theta1_sta_
Definition: CosmicSplitterValidation.cc:135
CosmicSplitterValidation::eta_org_
double eta_org_
Definition: CosmicSplitterValidation.cc:120
reco::Track
Definition: Track.h:27
reco::Muon::outerTrack
virtual TrackRef outerTrack() const
reference to Track reconstructed in the muon detector only
Definition: Muon.h:48
IdealMagneticFieldRecord.h
CosmicSplitterValidation::pt1_spl_
double pt1_spl_
Definition: CosmicSplitterValidation.cc:101
CosmicSplitterValidation::dcaY1_spl_
double dcaY1_spl_
Definition: CosmicSplitterValidation.cc:94
CosmicSplitterValidation::theta1Err_spl_
double theta1Err_spl_
Definition: CosmicSplitterValidation.cc:111
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:55
reco::Track::recHits
auto recHits() const
Access to reconstructed hits on the track.
Definition: Track.h:85
CosmicSplitterValidation::norchi2_org_
double norchi2_org_
Definition: CosmicSplitterValidation.cc:122
StripSubdetector::TIB
static constexpr auto TIB
Definition: StripSubdetector.h:16
CosmicSplitterValidation::dxy1_sta_
double dxy1_sta_
Definition: CosmicSplitterValidation.cc:133
reco::TrackBase::charge
int charge() const
track electric charge
Definition: TrackBase.h:596
reco::TrackBase::dz
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...
Definition: TrackBase.h:622
CosmicSplitterValidation::nHitsTIB1_spl_
int nHitsTIB1_spl_
Definition: CosmicSplitterValidation.cc:104
CosmicSplitterValidation::nHitsTID1_spl_
int nHitsTID1_spl_
Definition: CosmicSplitterValidation.cc:105
CosmicSplitterValidation::runNumber_
int runNumber_
Definition: CosmicSplitterValidation.cc:92
CosmicSplitterValidation::splitGlobalMuonsToken_
edm::EDGetTokenT< reco::MuonCollection > splitGlobalMuonsToken_
Definition: CosmicSplitterValidation.cc:184
RefToBase.h
reco::TrackBase::phi
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:649
CosmicSplitterValidation::pt_org_
double pt_org_
Definition: CosmicSplitterValidation.cc:121
CosmicSplitterValidation::qoverpt2_spl_
double qoverpt2_spl_
Definition: CosmicSplitterValidation.cc:103
CosmicSplitterValidation::dcaY1_sta_
double dcaY1_sta_
Definition: CosmicSplitterValidation.cc:131
CosmicSplitterValidation::qoverpt1_spl_
double qoverpt1_spl_
Definition: CosmicSplitterValidation.cc:103
CosmicSplitterValidation::eventNumber_
int eventNumber_
Definition: CosmicSplitterValidation.cc:92
CosmicSplitterValidation::qoverpt1_glb_
double qoverpt1_glb_
Definition: CosmicSplitterValidation.cc:160
CosmicSplitterValidation::nHitsPXB_org_
int nHitsPXB_org_
Definition: CosmicSplitterValidation.cc:123
CosmicSplitterValidation::phi1Err_glb_
double phi1Err_glb_
Definition: CosmicSplitterValidation.cc:167
TFileService.h
CosmicSplitterValidation::eta2_sta_
double eta2_sta_
Definition: CosmicSplitterValidation.cc:136
CosmicSplitterValidation::phi2_glb_
double phi2_glb_
Definition: CosmicSplitterValidation.cc:157
CosmicSplitterValidation::dxy2Err_glb_
double dxy2Err_glb_
Definition: CosmicSplitterValidation.cc:163
CosmicSplitterValidation::dz2_glb_
double dz2_glb_
Definition: CosmicSplitterValidation.cc:154
CosmicSplitterValidation::deta_glb_
double deta_glb_
Definition: CosmicSplitterValidation.cc:156
CosmicSplitterValidation::eta1_spl_
double eta1_spl_
Definition: CosmicSplitterValidation.cc:99
CosmicSplitterValidation::analyze
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition: CosmicSplitterValidation.cc:437
CosmicSplitterValidation::pt_orm_
double pt_orm_
Definition: CosmicSplitterValidation.cc:174
CosmicSplitterValidation::phi1_spl_
double phi1_spl_
Definition: CosmicSplitterValidation.cc:100
edm::ParameterSet
Definition: ParameterSet.h:47
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
CosmicSplitterValidation::pt2Err_spl_
double pt2Err_spl_
Definition: CosmicSplitterValidation.cc:114
CosmicSplitterValidation::nHitsTOB_org_
int nHitsTOB_org_
Definition: CosmicSplitterValidation.cc:124
CosmicSplitterValidation::dxy2Err_spl_
double dxy2Err_spl_
Definition: CosmicSplitterValidation.cc:109
Event.h
reco::LeafCandidate::eta
double eta() const final
momentum pseudorapidity
Definition: LeafCandidate.h:152
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:159
reco::Muon::globalTrack
virtual TrackRef globalTrack() const
reference to Track reconstructed in both tracked and muon detector
Definition: Muon.h:51
CosmicSplitterValidation::nHitsPXF_org_
int nHitsPXF_org_
Definition: CosmicSplitterValidation.cc:123
CosmicSplitterValidation::norchi2_orm_
double norchi2_orm_
Definition: CosmicSplitterValidation.cc:175
CosmicSplitterValidation::eta2Err_spl_
double eta2Err_spl_
Definition: CosmicSplitterValidation.cc:112
CosmicSplitterValidation::pt1Err_spl_
double pt1Err_spl_
Definition: CosmicSplitterValidation.cc:114
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
CosmicSplitterValidation::dxy1_spl_
double dxy1_spl_
Definition: CosmicSplitterValidation.cc:96
CosmicSplitterValidation::splitterTree_
TTree * splitterTree_
Definition: CosmicSplitterValidation.cc:90
CosmicSplitterValidation::phi_orm_
double phi_orm_
Definition: CosmicSplitterValidation.cc:173
reco::TrackBase::eta
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:652
CosmicSplitterValidation::qoverptErr_org_
double qoverptErr_org_
Definition: CosmicSplitterValidation.cc:128
reco::TrackBase::dzError
double dzError() const
error on dz
Definition: TrackBase.h:778
CosmicSplitterValidation::etaErr_org_
double etaErr_org_
Definition: CosmicSplitterValidation.cc:127
CosmicSplitterValidation::deta_sta_
double deta_sta_
Definition: CosmicSplitterValidation.cc:136
edm::Service< TFileService >
createfilelist.int
int
Definition: createfilelist.py:10
CosmicSplitterValidation::totalTracksToAnalyzer_
int totalTracksToAnalyzer_
Definition: CosmicSplitterValidation.cc:80
iEvent
int iEvent
Definition: GenABIO.cc:224
CosmicSplitterValidation::nHitsTID_org_
int nHitsTID_org_
Definition: CosmicSplitterValidation.cc:124
CosmicSplitterValidation::dz1Err_sta_
double dz1Err_sta_
Definition: CosmicSplitterValidation.cc:143
CosmicSplitterValidation::theta2Err_spl_
double theta2Err_spl_
Definition: CosmicSplitterValidation.cc:111
CosmicSplitterValidation::deta_spl_
double deta_spl_
Definition: CosmicSplitterValidation.cc:99
CosmicSplitterValidation::etaErr_orm_
double etaErr_orm_
Definition: CosmicSplitterValidation.cc:178
reco::TrackBase::d0
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
Definition: TrackBase.h:611
CosmicSplitterValidation::ddxy_glb_
double ddxy_glb_
Definition: CosmicSplitterValidation.cc:153
CosmicSplitterValidation::splitMuons_
bool splitMuons_
Definition: CosmicSplitterValidation.cc:79
CosmicSplitterValidation::nHitsTEC_org_
int nHitsTEC_org_
Definition: CosmicSplitterValidation.cc:124
CosmicSplitterValidation::dqoverpt_sta_
double dqoverpt_sta_
Definition: CosmicSplitterValidation.cc:140
CosmicSplitterValidation::dxy2_sta_
double dxy2_sta_
Definition: CosmicSplitterValidation.cc:133
CosmicSplitterValidation::pt2_sta_
double pt2_sta_
Definition: CosmicSplitterValidation.cc:138
CosmicSplitterValidation::dcaY2_spl_
double dcaY2_spl_
Definition: CosmicSplitterValidation.cc:95
CosmicSplitterValidation::pt1_sta_
double pt1_sta_
Definition: CosmicSplitterValidation.cc:138
CosmicSplitterValidation::qoverpt1Err_spl_
double qoverpt1Err_spl_
Definition: CosmicSplitterValidation.cc:115
edm::EventSetup
Definition: EventSetup.h:58
CosmicSplitterValidation::phi1Err_sta_
double phi1Err_sta_
Definition: CosmicSplitterValidation.cc:146
CosmicSplitterValidation::dcaZ2_glb_
double dcaZ2_glb_
Definition: CosmicSplitterValidation.cc:152
reco::TrackBase::normalizedChi2
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:593
CosmicSplitterValidation::theta1_spl_
double theta1_spl_
Definition: CosmicSplitterValidation.cc:98
CosmicSplitterValidation::dz_org_
double dz_org_
Definition: CosmicSplitterValidation.cc:119
CosmicSplitterValidation::dcaZ1_glb_
double dcaZ1_glb_
Definition: CosmicSplitterValidation.cc:151
kBPIX
const int kBPIX
Definition: AlignmentTrackSelector.cc:28
CosmicSplitterValidation::dp_spl_
double dp_spl_
Definition: CosmicSplitterValidation.cc:102
CosmicSplitterValidation::splitTracks_
edm::InputTag splitTracks_
Definition: CosmicSplitterValidation.cc:73
CosmicSplitterValidation::ptErr_org_
double ptErr_org_
Definition: CosmicSplitterValidation.cc:128
InputTag.h
CosmicSplitterValidation::dxy1_glb_
double dxy1_glb_
Definition: CosmicSplitterValidation.cc:153
CosmicSplitterValidation::phi2Err_spl_
double phi2Err_spl_
Definition: CosmicSplitterValidation.cc:113
packedPFCandidates_cfi.originalTracks
originalTracks
Definition: packedPFCandidates_cfi.py:7
CosmicSplitterValidation::dpt_glb_
double dpt_glb_
Definition: CosmicSplitterValidation.cc:158
CosmicSplitterValidation::dxyErr_orm_
double dxyErr_orm_
Definition: CosmicSplitterValidation.cc:177
CosmicSplitterValidation::theta2Err_sta_
double theta2Err_sta_
Definition: CosmicSplitterValidation.cc:144
CosmicSplitterValidation::nHitsPXF2_spl_
int nHitsPXF2_spl_
Definition: CosmicSplitterValidation.cc:106
CosmicSplitterValidation::dphi_sta_
double dphi_sta_
Definition: CosmicSplitterValidation.cc:137
CosmicSplitterValidation::eta_orm_
double eta_orm_
Definition: CosmicSplitterValidation.cc:173
BasicTransientTrack.h
CosmicSplitterValidation::nHitsTEC2_spl_
int nHitsTEC2_spl_
Definition: CosmicSplitterValidation.cc:107
CosmicSplitterValidation::pt2_glb_
double pt2_glb_
Definition: CosmicSplitterValidation.cc:158
CosmicSplitterValidation::phiErr_org_
double phiErr_org_
Definition: CosmicSplitterValidation.cc:127
reco::TrackBase::d0Error
double d0Error() const
error on d0
Definition: TrackBase.h:772
CosmicSplitterValidation::dcaZ_orm_
double dcaZ_orm_
Definition: CosmicSplitterValidation.cc:171
CosmicSplitterValidation::dcaZ1_spl_
double dcaZ1_spl_
Definition: CosmicSplitterValidation.cc:94
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
CosmicSplitterValidation::eta2_glb_
double eta2_glb_
Definition: CosmicSplitterValidation.cc:156
PerigeeLinearizedTrackState.h
CosmicSplitterValidation::theta2_sta_
double theta2_sta_
Definition: CosmicSplitterValidation.cc:135
CosmicSplitterValidation::dpt_spl_
double dpt_spl_
Definition: CosmicSplitterValidation.cc:101
CosmicSplitterValidation::eta1Err_spl_
double eta1Err_spl_
Definition: CosmicSplitterValidation.cc:112
CosmicSplitterValidation::eta1_sta_
double eta1_sta_
Definition: CosmicSplitterValidation.cc:136
CosmicSplitterValidation::ddxy_sta_
double ddxy_sta_
Definition: CosmicSplitterValidation.cc:133
CosmicSplitterValidation::dphi_glb_
double dphi_glb_
Definition: CosmicSplitterValidation.cc:157
CosmicSplitterValidation::dtheta_spl_
double dtheta_spl_
Definition: CosmicSplitterValidation.cc:98
TFileService::kSharedResource
static const std::string kSharedResource
Definition: TFileService.h:76
CosmicSplitterValidation::dz1_sta_
double dz1_sta_
Definition: CosmicSplitterValidation.cc:134
CosmicSplitterValidation::eta2Err_sta_
double eta2Err_sta_
Definition: CosmicSplitterValidation.cc:145
CosmicSplitterValidation::qoverpt_org_
double qoverpt_org_
Definition: CosmicSplitterValidation.cc:121
CosmicSplitterValidation::dxy1Err_sta_
double dxy1Err_sta_
Definition: CosmicSplitterValidation.cc:142
CosmicSplitterValidation::pt1_glb_
double pt1_glb_
Definition: CosmicSplitterValidation.cc:158
CosmicSplitterValidation::nHits1_spl_
int nHits1_spl_
Definition: CosmicSplitterValidation.cc:104
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
CosmicSplitterValidation::nHitsPXF1_spl_
int nHitsPXF1_spl_
Definition: CosmicSplitterValidation.cc:104
CosmicSplitterValidation::dz2_sta_
double dz2_sta_
Definition: CosmicSplitterValidation.cc:134
CosmicSplitterValidation::splitTracksToken_
edm::EDGetTokenT< std::vector< reco::Track > > splitTracksToken_
Definition: CosmicSplitterValidation.cc:182
CosmicSplitterValidation::p1_sta_
double p1_sta_
Definition: CosmicSplitterValidation.cc:139
EventSetup.h
CosmicSplitterValidation::qoverpt1Err_sta_
double qoverpt1Err_sta_
Definition: CosmicSplitterValidation.cc:148
CosmicSplitterValidation::dpt_sta_
double dpt_sta_
Definition: CosmicSplitterValidation.cc:138
CosmicSplitterValidation::originalTracks_
edm::InputTag originalTracks_
Definition: CosmicSplitterValidation.cc:75
CosmicSplitterValidation::dcaY_org_
double dcaY_org_
Definition: CosmicSplitterValidation.cc:118
CosmicSplitterValidation::nHitsPXB1_spl_
int nHitsPXB1_spl_
Definition: CosmicSplitterValidation.cc:104
reco::TrackBase::phiError
double phiError() const
error on phi
Definition: TrackBase.h:766
CosmicSplitterValidation::pt1Err_glb_
double pt1Err_glb_
Definition: CosmicSplitterValidation.cc:168
CosmicSplitterValidation::theta1Err_sta_
double theta1Err_sta_
Definition: CosmicSplitterValidation.cc:144
TransientTrackingRecHitBuilder.h
ConsumesCollector.h
CosmicSplitterValidation::phi2_sta_
double phi2_sta_
Definition: CosmicSplitterValidation.cc:137
View.h
ParameterSet.h
CosmicSplitterValidation::nHitsTEC1_spl_
int nHitsTEC1_spl_
Definition: CosmicSplitterValidation.cc:105
InvalidTrackingRecHit.h
CosmicSplitterValidation::ddz_spl_
double ddz_spl_
Definition: CosmicSplitterValidation.cc:97
CosmicSplitterValidation::dphi_spl_
double dphi_spl_
Definition: CosmicSplitterValidation.cc:100
CosmicSplitterValidation::dcaZ_org_
double dcaZ_org_
Definition: CosmicSplitterValidation.cc:118
CosmicSplitterValidation::qoverpt2Err_glb_
double qoverpt2Err_glb_
Definition: CosmicSplitterValidation.cc:169
CosmicSplitterValidation::twoTracksCtr
int twoTracksCtr
Definition: CosmicSplitterValidation.cc:82
CosmicSplitterValidation::dcaY_orm_
double dcaY_orm_
Definition: CosmicSplitterValidation.cc:171
CosmicSplitterValidation::dcaX_org_
double dcaX_org_
Definition: CosmicSplitterValidation.cc:118
edm::Event
Definition: Event.h:73
CosmicSplitterValidation::dcaZ2_sta_
double dcaZ2_sta_
Definition: CosmicSplitterValidation.cc:132
globalMuons_cfi.globalMuons
globalMuons
Definition: globalMuons_cfi.py:6
CosmicSplitterValidation::eta2Err_glb_
double eta2Err_glb_
Definition: CosmicSplitterValidation.cc:166
CosmicSplitterValidation::STAMuonsToken_
edm::EDGetTokenT< reco::MuonCollection > STAMuonsToken_
Definition: CosmicSplitterValidation.cc:186
CosmicSplitterValidation
Definition: CosmicSplitterValidation.cc:60
reco::TrackBase::theta
double theta() const
polar angle
Definition: TrackBase.h:602
CosmicSplitterValidation::eta1Err_sta_
double eta1Err_sta_
Definition: CosmicSplitterValidation.cc:145
CosmicSplitterValidation::dcaY2_sta_
double dcaY2_sta_
Definition: CosmicSplitterValidation.cc:132
CosmicSplitterValidation::theta_orm_
double theta_orm_
Definition: CosmicSplitterValidation.cc:173
CosmicSplitterValidation::goldenPlusTwoTracksCtr
int goldenPlusTwoTracksCtr
Definition: CosmicSplitterValidation.cc:83
CosmicSplitterValidation::pt2_spl_
double pt2_spl_
Definition: CosmicSplitterValidation.cc:101
edm::InputTag
Definition: InputTag.h:15
CosmicSplitterValidation::qoverpt1_sta_
double qoverpt1_sta_
Definition: CosmicSplitterValidation.cc:140
CosmicSplitterValidation::dxy2Err_sta_
double dxy2Err_sta_
Definition: CosmicSplitterValidation.cc:142
sistrip::runNumber_
static const char runNumber_[]
Definition: ConstantsForDqm.h:33
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
CosmicSplitterValidation::dxy1Err_spl_
double dxy1Err_spl_
Definition: CosmicSplitterValidation.cc:109
CosmicSplitterValidation::norchi1_glb_
double norchi1_glb_
Definition: CosmicSplitterValidation.cc:161
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
hit
Definition: SiStripHitEffFromCalibTree.cc:88
CosmicSplitterValidation::~CosmicSplitterValidation
~CosmicSplitterValidation() override
Definition: CosmicSplitterValidation.cc:430
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
CosmicSplitterValidation::dz1_glb_
double dz1_glb_
Definition: CosmicSplitterValidation.cc:154