21 using namespace ROOT::Math;
42 dbe_->setCurrentFolder(
"Tracking/TrackingMCTruth/TrackingParticle");
45 meTPMass = dbe_->book1D(
"TPMass",
"Tracking Particle Mass",100, -1,+5.);
46 meTPCharge = dbe_->book1D(
"TPCharge",
"Tracking Particle Charge",10, -5, 5);
47 meTPId = dbe_->book1D(
"TPId",
"Tracking Particle Id",500, -5000, 5000);
48 meTPProc = dbe_->book1D(
"TPProc",
"Tracking Particle Proc",20, -0.5, 19.5);
49 meTPAllHits = dbe_->book1D(
"TPAllHits",
"Tracking Particle All Hits", 200, -0.5, 199.5);
50 meTPMatchedHits = dbe_->book1D(
"TPMatchedHits",
"Tracking Particle Matched Hits", 100, -0.5, 99.5);
51 meTPPt = dbe_->book1D(
"TPPt",
"Tracking Particle Pt",100, 0, 100.);
52 meTPEta = dbe_->book1D(
"TPEta",
"Tracking Particle Eta",100, -7., 7.);
53 meTPPhi = dbe_->book1D(
"TPPhi",
"Tracking Particle Phi",100, -4., 4);
54 meTPVtxX = dbe_->book1D(
"TPVtxX",
"Tracking Particle VtxX",100, -100, 100.);
55 meTPVtxY = dbe_->book1D(
"TPVtxY",
"Tracking Particle VtxY",100, -100, 100.);
56 meTPVtxZ = dbe_->book1D(
"TPVtxZ",
"Tracking Particle VtxZ",100, -100, 100.);
57 meTPtip = dbe_->book1D(
"TPtip",
"Tracking Particle tip",100, 0, 1000.);
58 meTPlip = dbe_->book1D(
"TPlip",
"Tracking Particle lip",100, 0, 100.);
62 meTPProc->setBinLabel( 1,
"Undefined");
63 meTPProc->setBinLabel( 2,
"Unknown");
64 meTPProc->setBinLabel( 3,
"Primary");
65 meTPProc->setBinLabel( 4,
"Hadronic");
66 meTPProc->setBinLabel( 5,
"Decay");
67 meTPProc->setBinLabel( 6,
"Compton");
68 meTPProc->setBinLabel( 7,
"Annihilation");
69 meTPProc->setBinLabel( 8,
"EIoni");
70 meTPProc->setBinLabel( 9,
"HIoni");
71 meTPProc->setBinLabel(10,
"MuIoni");
72 meTPProc->setBinLabel(11,
"Photon");
73 meTPProc->setBinLabel(12,
"MuPairProd");
74 meTPProc->setBinLabel(13,
"Conversions");
75 meTPProc->setBinLabel(14,
"EBrem");
76 meTPProc->setBinLabel(15,
"SynchrotronRadiation");
77 meTPProc->setBinLabel(16,
"MuBrem");
78 meTPProc->setBinLabel(17,
"MuNucl");
79 meTPProc->setBinLabel(18,
"");
80 meTPProc->setBinLabel(19,
"");
81 meTPProc->setBinLabel(20,
"");
91 event.getByLabel(src_,TruthTrackContainer );
110 for (TrackingParticleCollection::const_iterator
t = tPC ->
begin();
t != tPC ->
end(); ++
t) {
113 meTPMass->Fill(
t->mass());
114 meTPCharge->Fill(
t->charge() );
115 meTPId->Fill(
t->pdgId());
116 meTPPt->Fill(
sqrt(
t->momentum().perp2()));
117 meTPEta->Fill(
t->momentum().eta());
118 meTPPhi->Fill(
t->momentum().Phi());
123 meTPAllHits->Fill(
t->numberOfTrackerHits());
133 meTPMatchedHits->Fill(
t->numberOfTrackerLayers());
134 meTPVtxX->Fill(
t->vx());
135 meTPVtxY->Fill(
t->vy());
136 meTPVtxZ->Fill(
t->vz());
137 meTPtip->Fill(
sqrt(
t->vertex().perp2()));
138 meTPlip->Fill(
t->vz());
T getParameter(std::string const &) const
std::vector< TrackingParticle > TrackingParticleCollection
TrackingVertex::g4v_iterator g4v_iterator
std::vector< SimVertex >::const_iterator g4v_iterator
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
TrackingParticleRefVector::iterator tp_iterator
TrackingParticle::genp_iterator genp_iterator
TrackingVertex::genv_iterator genv_iterator
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
edm::RefVector< TrackingParticleCollection > TrackingParticleContainer
std::vector< SimTrack >::const_iterator g4t_iterator
virtual void analyze(const edm::Event &, const edm::EventSetup &)
T const * product() const
TrackingTruthValid(const edm::ParameterSet &conf)
TrackingParticle::g4t_iterator g4t_iterator