22 using namespace ROOT::Math;
43 dbe_->setCurrentFolder(
"Tracking/TrackingMCTruth/TrackingParticle");
46 meTPMass = dbe_->book1D(
"TPMass",
"Tracking Particle Mass",100, -1,+5.);
47 meTPCharge = dbe_->book1D(
"TPCharge",
"Tracking Particle Charge",10, -5, 5);
48 meTPId = dbe_->book1D(
"TPId",
"Tracking Particle Id",500, -5000, 5000);
49 meTPProc = dbe_->book1D(
"TPProc",
"Tracking Particle Proc",20, -0.5, 19.5);
50 meTPAllHits = dbe_->book1D(
"TPAllHits",
"Tracking Particle All Hits", 200, -0.5, 199.5);
51 meTPMatchedHits = dbe_->book1D(
"TPMatchedHits",
"Tracking Particle Matched Hits", 100, -0.5, 99.5);
52 meTPPt = dbe_->book1D(
"TPPt",
"Tracking Particle Pt",100, 0, 100.);
53 meTPEta = dbe_->book1D(
"TPEta",
"Tracking Particle Eta",100, -7., 7.);
54 meTPPhi = dbe_->book1D(
"TPPhi",
"Tracking Particle Phi",100, -4., 4);
55 meTPVtxX = dbe_->book1D(
"TPVtxX",
"Tracking Particle VtxX",100, -100, 100.);
56 meTPVtxY = dbe_->book1D(
"TPVtxY",
"Tracking Particle VtxY",100, -100, 100.);
57 meTPVtxZ = dbe_->book1D(
"TPVtxZ",
"Tracking Particle VtxZ",100, -100, 100.);
58 meTPtip = dbe_->book1D(
"TPtip",
"Tracking Particle tip",100, 0, 1000.);
59 meTPlip = dbe_->book1D(
"TPlip",
"Tracking Particle lip",100, 0, 100.);
63 meTPProc->setBinLabel( 1,
"Undefined");
64 meTPProc->setBinLabel( 2,
"Unknown");
65 meTPProc->setBinLabel( 3,
"Primary");
66 meTPProc->setBinLabel( 4,
"Hadronic");
67 meTPProc->setBinLabel( 5,
"Decay");
68 meTPProc->setBinLabel( 6,
"Compton");
69 meTPProc->setBinLabel( 7,
"Annihilation");
70 meTPProc->setBinLabel( 8,
"EIoni");
71 meTPProc->setBinLabel( 9,
"HIoni");
72 meTPProc->setBinLabel(10,
"MuIoni");
73 meTPProc->setBinLabel(11,
"Photon");
74 meTPProc->setBinLabel(12,
"MuPairProd");
75 meTPProc->setBinLabel(13,
"Conversions");
76 meTPProc->setBinLabel(14,
"EBrem");
77 meTPProc->setBinLabel(15,
"SynchrotronRadiation");
78 meTPProc->setBinLabel(16,
"MuBrem");
79 meTPProc->setBinLabel(17,
"MuNucl");
80 meTPProc->setBinLabel(18,
"");
81 meTPProc->setBinLabel(19,
"");
82 meTPProc->setBinLabel(20,
"");
92 event.getByLabel(src_,TruthTrackContainer );
115 for (TrackingParticleCollection::const_iterator
t = tPC ->
begin();
t != tPC ->
end(); ++
t) {
119 meTPMass->Fill(
t->mass());
121 meTPCharge->Fill(
t->charge() );
123 meTPId->Fill(
t->pdgId());
125 meTPPt->Fill(
sqrt(
t->momentum().perp2()));
127 meTPEta->Fill(
t->momentum().eta());
129 meTPPhi->Fill(
t->momentum().Phi());
130 std::vector<PSimHit> trackerPSimHit(
t->trackPSimHit(
DetId::Tracker) );
131 meTPAllHits->Fill(trackerPSimHit.size());
133 if(trackerPSimHit.size() !=0) meTPProc->Fill( trackerPSimHit.front().processType());
134 meTPMatchedHits->Fill(
t->matchedHit());
135 meTPVtxX->Fill(
t->vx());
136 meTPVtxY->Fill(
t->vy());
137 meTPVtxZ->Fill(
t->vz());
138 meTPtip->Fill(
sqrt(
t->vertex().perp2()));
139 meTPlip->Fill(
t->vz());
T getParameter(std::string const &) const
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")
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
std::vector< TrackingParticle > TrackingParticleCollection
TrackingParticleRefVector::iterator tp_iterator
TrackingTruthValid(const edm::ParameterSet &conf)
TrackingParticle::g4t_iterator g4t_iterator