35 using namespace isodeposit;
46 std::vector<edm::EDGetTokenT<CandidateView> >
zTokens_;
51 std::vector<double>
ptThreshold_, etEcalThreshold_, etHcalThreshold_, dRVetoTrk_, dRTrk_, dREcal_, dRHcal_, alpha_,
83 vetosTrk.push_back(
new ConeVeto(dir, dRVetoTrk));
87 vetosEcal.push_back(
new ConeVeto(dir, 0.));
91 vetosHcal.push_back(
new ConeVeto(dir, 0.));
94 double isovalueTrk = (trkIso->
sumWithin(dRTrk, vetosTrk));
95 double isovalueEcal = (ecalIso->
sumWithin(dREcal, vetosEcal));
96 double isovalueHcal = (hcalIso->
sumWithin(dRHcal, vetosHcal));
99 alpha * (((1 +
beta) / 2 * isovalueEcal) + ((1 -
beta) / 2 * isovalueHcal)) + ((1 - alpha) * isovalueTrk);
100 if (relativeIsolation)
143 <<
"Candidate daughter #0 is neither pat::Muons nor pat::GenericParticle\n";
149 vector<ParameterSet> psets = cfg.
getParameter<vector<ParameterSet> >(
"zBlocks");
150 for (std::vector<edm::ParameterSet>::const_iterator
i = psets.begin();
i != psets.end(); ++
i) {
151 string zName =
i->getParameter<
string>(
"zName");
154 consumes<GenParticleMatch>(
i->getParameter<
InputTag>(
"zGenParticlesMatch"));
155 beamSpotToken_ = consumes<BeamSpot>(
i->getParameter<
InputTag>(
"beamSpot"));
156 primaryVerticesToken_ = consumes<VertexCollection>(
i->getParameter<
InputTag>(
"primaryVertices"));
157 double ptThreshold =
i->getParameter<
double>(
"ptThreshold");
160 double dRVetoTrk =
i->getParameter<
double>(
"deltaRVetoTrk");
161 double dRTrk =
i->getParameter<
double>(
"deltaRTrk");
162 double dREcal =
i->getParameter<
double>(
"deltaREcal");
163 double dRHcal =
i->getParameter<
double>(
"deltaRHcal");
164 double alpha =
i->getParameter<
double>(
"alpha");
165 double beta =
i->getParameter<
double>(
"beta");
168 zName_.push_back(zName);
169 zTokens_.push_back(zToken);
170 zGenParticlesMatchTokens_.push_back(zGenParticlesMatchToken);
171 ptThreshold_.push_back(ptThreshold);
172 etEcalThreshold_.push_back(etEcalThreshold);
173 etHcalThreshold_.push_back(etHcalThreshold);
174 dRVetoTrk_.push_back(dRVetoTrk);
175 dRTrk_.push_back(dRTrk);
176 dREcal_.push_back(dREcal);
177 dRHcal_.push_back(dRHcal);
178 alpha_.push_back(alpha);
179 beta_.push_back(beta);
180 relativeIsolation_.push_back(relativeIsolation);
181 hltPath_.push_back(hltPath);
182 produces<vector<edm::EventNumber_t> >(alias = zName +
"EventNumber").setBranchAlias(alias);
183 produces<vector<unsigned int> >(alias = zName +
"RunNumber").setBranchAlias(alias);
184 produces<vector<unsigned int> >(alias = zName +
"LumiBlock").setBranchAlias(alias);
185 produces<vector<float> >(alias = zName +
"Mass").setBranchAlias(alias);
186 produces<vector<float> >(alias = zName +
"MassSa").setBranchAlias(alias);
187 produces<vector<float> >(alias = zName +
"Pt").setBranchAlias(alias);
188 produces<vector<float> >(alias = zName +
"Eta").setBranchAlias(alias);
189 produces<vector<float> >(alias = zName +
"Phi").setBranchAlias(alias);
190 produces<vector<float> >(alias = zName +
"Y").setBranchAlias(alias);
191 produces<vector<float> >(alias = zName +
"Dau1Pt").setBranchAlias(alias);
192 produces<vector<float> >(alias = zName +
"Dau2Pt").setBranchAlias(alias);
193 produces<vector<float> >(alias = zName +
"Dau1SaPt").setBranchAlias(alias);
194 produces<vector<float> >(alias = zName +
"Dau2SaPt").setBranchAlias(alias);
195 produces<vector<unsigned int> >(alias = zName +
"Dau1HLTBit").setBranchAlias(alias);
196 produces<vector<unsigned int> >(alias = zName +
"Dau2HLTBit").setBranchAlias(alias);
197 produces<vector<int> >(alias = zName +
"Dau1Q").setBranchAlias(alias);
198 produces<vector<int> >(alias = zName +
"Dau2Q").setBranchAlias(alias);
199 produces<vector<float> >(alias = zName +
"Dau1Eta").setBranchAlias(alias);
200 produces<vector<float> >(alias = zName +
"Dau2Eta").setBranchAlias(alias);
201 produces<vector<float> >(alias = zName +
"Dau1SaEta").setBranchAlias(alias);
202 produces<vector<float> >(alias = zName +
"Dau2SaEta").setBranchAlias(alias);
203 produces<vector<float> >(alias = zName +
"Dau1Phi").setBranchAlias(alias);
204 produces<vector<float> >(alias = zName +
"Dau2Phi").setBranchAlias(alias);
205 produces<vector<float> >(alias = zName +
"Dau1SaPhi").setBranchAlias(alias);
206 produces<vector<float> >(alias = zName +
"Dau2SaPhi").setBranchAlias(alias);
207 produces<vector<float> >(alias = zName +
"Dau1Iso").setBranchAlias(alias);
208 produces<vector<float> >(alias = zName +
"Dau2Iso").setBranchAlias(alias);
209 produces<vector<float> >(alias = zName +
"Dau1TrkIso").setBranchAlias(alias);
210 produces<vector<float> >(alias = zName +
"Dau2TrkIso").setBranchAlias(alias);
211 produces<vector<float> >(alias = zName +
"Dau1EcalIso").setBranchAlias(alias);
212 produces<vector<float> >(alias = zName +
"Dau2EcalIso").setBranchAlias(alias);
213 produces<vector<float> >(alias = zName +
"Dau1HcalIso").setBranchAlias(alias);
214 produces<vector<float> >(alias = zName +
"Dau2HcalIso").setBranchAlias(alias);
215 produces<vector<float> >(alias = zName +
"Dau1MuEnergyEm").setBranchAlias(alias);
216 produces<vector<float> >(alias = zName +
"Dau1MuEnergyHad").setBranchAlias(alias);
217 produces<vector<float> >(alias = zName +
"Dau2MuEnergyEm").setBranchAlias(alias);
218 produces<vector<float> >(alias = zName +
"Dau2MuEnergyHad").setBranchAlias(alias);
220 produces<vector<float> >(alias = zName +
"VtxNormChi2").setBranchAlias(alias);
221 produces<vector<unsigned int> >(alias = zName +
"Dau1NofHit").setBranchAlias(alias);
222 produces<vector<unsigned int> >(alias = zName +
"Dau2NofHit").setBranchAlias(alias);
223 produces<vector<unsigned int> >(alias = zName +
"Dau1NofHitTk").setBranchAlias(alias);
224 produces<vector<unsigned int> >(alias = zName +
"Dau1NofHitSta").setBranchAlias(alias);
225 produces<vector<unsigned int> >(alias = zName +
"Dau2NofHitTk").setBranchAlias(alias);
226 produces<vector<unsigned int> >(alias = zName +
"Dau2NofHitSta").setBranchAlias(alias);
227 produces<vector<unsigned int> >(alias = zName +
"Dau1NofMuChambers").setBranchAlias(alias);
228 produces<vector<unsigned int> >(alias = zName +
"Dau2NofMuChambers").setBranchAlias(alias);
229 produces<vector<unsigned int> >(alias = zName +
"Dau1NofMuMatches").setBranchAlias(alias);
230 produces<vector<unsigned int> >(alias = zName +
"Dau2NofMuMatches").setBranchAlias(alias);
231 produces<vector<float> >(alias = zName +
"Dau1Chi2").setBranchAlias(alias);
232 produces<vector<float> >(alias = zName +
"Dau2Chi2").setBranchAlias(alias);
233 produces<vector<float> >(alias = zName +
"Dau1TrkChi2").setBranchAlias(alias);
234 produces<vector<float> >(alias = zName +
"Dau2TrkChi2").setBranchAlias(alias);
235 produces<vector<float> >(alias = zName +
"Dau1dxyFromBS").setBranchAlias(alias);
236 produces<vector<float> >(alias = zName +
"Dau2dxyFromBS").setBranchAlias(alias);
237 produces<vector<float> >(alias = zName +
"Dau1dzFromBS").setBranchAlias(alias);
238 produces<vector<float> >(alias = zName +
"Dau2dzFromBS").setBranchAlias(alias);
239 produces<vector<float> >(alias = zName +
"Dau1dxyFromPV").setBranchAlias(alias);
240 produces<vector<float> >(alias = zName +
"Dau2dxyFromPV").setBranchAlias(alias);
241 produces<vector<float> >(alias = zName +
"Dau1dzFromPV").setBranchAlias(alias);
242 produces<vector<float> >(alias = zName +
"Dau2dzFromPV").setBranchAlias(alias);
243 produces<vector<float> >(alias = zName +
"TrueMass").setBranchAlias(alias);
244 produces<vector<float> >(alias = zName +
"TruePt").setBranchAlias(alias);
245 produces<vector<float> >(alias = zName +
"TrueEta").setBranchAlias(alias);
246 produces<vector<float> >(alias = zName +
"TruePhi").setBranchAlias(alias);
247 produces<vector<float> >(alias = zName +
"TrueY").setBranchAlias(alias);
253 if (!evt.
getByToken(beamSpotToken_, beamSpotHandle)) {
254 std::cout <<
">>> No beam spot found !!!" << std::endl;
257 if (!evt.
getByToken(primaryVerticesToken_, primaryVertices)) {
258 std::cout <<
">>> No primary verteces found !!!" << std::endl;
261 unsigned int size = zTokens_.size();
262 for (
unsigned int c = 0;
c <
size; ++
c) {
265 bool isMCMatchTrue =
false;
268 if (evt.
getByToken(zGenParticlesMatchTokens_[c], zGenParticlesMatch)) {
269 isMCMatchTrue =
true;
271 unsigned int zSize = zColl->
size();
272 unique_ptr<vector<edm::EventNumber_t> >
event(
new vector<edm::EventNumber_t>);
273 unique_ptr<vector<unsigned int> >
run(
new vector<unsigned int>);
274 unique_ptr<vector<unsigned int> >
lumi(
new vector<unsigned int>);
275 unique_ptr<vector<float> >
zMass(
new vector<float>);
276 unique_ptr<vector<float> > zMassSa(
new vector<float>);
277 unique_ptr<vector<float> > zPt(
new vector<float>);
278 unique_ptr<vector<float> > zEta(
new vector<float>);
279 unique_ptr<vector<float> > zPhi(
new vector<float>);
280 unique_ptr<vector<float> > zY(
new vector<float>);
281 unique_ptr<vector<float> > zDau1Pt(
new vector<float>);
282 unique_ptr<vector<float> > zDau2Pt(
new vector<float>);
283 unique_ptr<vector<float> > zDau1SaPt(
new vector<float>);
284 unique_ptr<vector<float> > zDau2SaPt(
new vector<float>);
285 unique_ptr<vector<unsigned int> > zDau1HLTBit(
new vector<unsigned int>);
286 unique_ptr<vector<unsigned int> > zDau2HLTBit(
new vector<unsigned int>);
287 unique_ptr<vector<int> > zDau1Q(
new vector<int>);
288 unique_ptr<vector<int> > zDau2Q(
new vector<int>);
289 unique_ptr<vector<float> > zDau1Eta(
new vector<float>);
290 unique_ptr<vector<float> > zDau2Eta(
new vector<float>);
291 unique_ptr<vector<float> > zDau1SaEta(
new vector<float>);
292 unique_ptr<vector<float> > zDau2SaEta(
new vector<float>);
293 unique_ptr<vector<float> > zDau1Phi(
new vector<float>);
294 unique_ptr<vector<float> > zDau2Phi(
new vector<float>);
295 unique_ptr<vector<float> > zDau1SaPhi(
new vector<float>);
296 unique_ptr<vector<float> > zDau2SaPhi(
new vector<float>);
297 unique_ptr<vector<float> > zDau1Iso(
new vector<float>);
298 unique_ptr<vector<float> > zDau2Iso(
new vector<float>);
299 unique_ptr<vector<float> > zDau1TrkIso(
new vector<float>);
300 unique_ptr<vector<float> > zDau2TrkIso(
new vector<float>);
301 unique_ptr<vector<float> > zDau1EcalIso(
new vector<float>);
302 unique_ptr<vector<float> > zDau2EcalIso(
new vector<float>);
303 unique_ptr<vector<float> > zDau1HcalIso(
new vector<float>);
304 unique_ptr<vector<float> > zDau2HcalIso(
new vector<float>);
305 unique_ptr<vector<float> > zDau1MuEnergyEm(
new vector<float>);
306 unique_ptr<vector<float> > zDau2MuEnergyEm(
new vector<float>);
307 unique_ptr<vector<float> > zDau1MuEnergyHad(
new vector<float>);
308 unique_ptr<vector<float> > zDau2MuEnergyHad(
new vector<float>);
309 unique_ptr<vector<float> > vtxNormChi2(
new vector<float>);
310 unique_ptr<vector<unsigned int> > zDau1NofHit(
new vector<unsigned int>);
311 unique_ptr<vector<unsigned int> > zDau2NofHit(
new vector<unsigned int>);
312 unique_ptr<vector<unsigned int> > zDau1NofHitTk(
new vector<unsigned int>);
313 unique_ptr<vector<unsigned int> > zDau2NofHitTk(
new vector<unsigned int>);
314 unique_ptr<vector<unsigned int> > zDau1NofHitSta(
new vector<unsigned int>);
315 unique_ptr<vector<unsigned int> > zDau2NofHitSta(
new vector<unsigned int>);
316 unique_ptr<vector<unsigned int> > zDau1NofMuChambers(
new vector<unsigned int>);
317 unique_ptr<vector<unsigned int> > zDau2NofMuChambers(
new vector<unsigned int>);
318 unique_ptr<vector<unsigned int> > zDau1NofMuMatches(
new vector<unsigned int>);
319 unique_ptr<vector<unsigned int> > zDau2NofMuMatches(
new vector<unsigned int>);
320 unique_ptr<vector<float> > zDau1Chi2(
new vector<float>);
321 unique_ptr<vector<float> > zDau2Chi2(
new vector<float>);
322 unique_ptr<vector<float> > zDau1TrkChi2(
new vector<float>);
323 unique_ptr<vector<float> > zDau2TrkChi2(
new vector<float>);
324 unique_ptr<vector<float> > zDau1dxyFromBS(
new vector<float>);
325 unique_ptr<vector<float> > zDau2dxyFromBS(
new vector<float>);
326 unique_ptr<vector<float> > zDau1dzFromBS(
new vector<float>);
327 unique_ptr<vector<float> > zDau2dzFromBS(
new vector<float>);
328 unique_ptr<vector<float> > zDau1dxyFromPV(
new vector<float>);
329 unique_ptr<vector<float> > zDau2dxyFromPV(
new vector<float>);
330 unique_ptr<vector<float> > zDau1dzFromPV(
new vector<float>);
331 unique_ptr<vector<float> > zDau2dzFromPV(
new vector<float>);
332 unique_ptr<vector<float> > trueZMass(
new vector<float>);
333 unique_ptr<vector<float> > trueZPt(
new vector<float>);
334 unique_ptr<vector<float> > trueZEta(
new vector<float>);
335 unique_ptr<vector<float> > trueZPhi(
new vector<float>);
336 unique_ptr<vector<float> > trueZY(
new vector<float>);
337 event->push_back(evt.
id().
event());
338 run->push_back(evt.
id().
run());
340 for (
unsigned int i = 0;
i < zSize; ++
i) {
343 zMass->push_back(z.
mass());
344 zPt->push_back(z.
pt());
345 zEta->push_back(z.
eta());
346 zPhi->push_back(z.
phi());
351 zDau1Pt->push_back(dau1->
pt());
352 zDau2Pt->push_back(dau2->
pt());
353 zDau1Q->push_back(dau1->
charge());
354 zDau2Q->push_back(dau2->
charge());
355 zDau1Eta->push_back(dau1->
eta());
356 zDau2Eta->push_back(dau2->
eta());
357 zDau1Phi->push_back(dau1->
phi());
358 zDau2Phi->push_back(dau2->
phi());
363 const Candidate *m1 = &*mr1, *m2 = &*mr2;
376 relativeIsolation_[c]);
387 relativeIsolation_[c]);
399 relativeIsolation_[c]);
410 relativeIsolation_[c]);
422 relativeIsolation_[c]);
433 relativeIsolation_[c]);
445 relativeIsolation_[c]);
456 relativeIsolation_[c]);
458 zDau1Iso->push_back(iso1);
459 zDau2Iso->push_back(iso2);
460 zDau1TrkIso->push_back(trkIso1);
461 zDau2TrkIso->push_back(trkIso2);
462 zDau1EcalIso->push_back(ecalIso1);
463 zDau2EcalIso->push_back(ecalIso2);
464 zDau1HcalIso->push_back(hcalIso1);
465 zDau2HcalIso->push_back(hcalIso2);
471 trueZMass->push_back(z.
mass());
472 trueZPt->push_back(z.
pt());
473 trueZEta->push_back(z.
eta());
474 trueZPhi->push_back(z.
phi());
477 trueZMass->push_back(-100);
478 trueZPt->push_back(-100);
479 trueZEta->push_back(-100);
480 trueZPhi->push_back(-100);
481 trueZY->push_back(-100);
489 zDau1NofHitTk->push_back(mu1->
innerTrack()->numberOfValidHits());
490 zDau1NofHitSta->push_back(mu1->
outerTrack()->numberOfValidHits());
491 zDau1Chi2->push_back(mu1->
normChi2());
493 zDau1TrkChi2->push_back(mu1TrkRef->normalizedChi2());
494 zDau1dxyFromBS->push_back(mu1TrkRef->dxy(beamSpotHandle->
position()));
495 zDau1dzFromBS->push_back(mu1TrkRef->dz(beamSpotHandle->
position()));
496 zDau1dxyFromPV->push_back(mu1TrkRef->dxy(primaryVertices->begin()->position()));
497 zDau1dzFromPV->push_back(mu1TrkRef->dz(primaryVertices->begin()->position()));
504 zDau1NofHit->push_back(mu1StaRef->numberOfValidHits());
505 zDau1NofHitTk->push_back(0);
506 zDau1NofHitSta->push_back(mu1StaRef->numberOfValidHits());
507 zDau1Chi2->push_back(mu1StaRef->normalizedChi2());
508 zDau1TrkChi2->push_back(0);
509 zDau1dxyFromBS->push_back(mu1StaRef->dxy(beamSpotHandle->
position()));
510 zDau1dzFromBS->push_back(mu1StaRef->dz(beamSpotHandle->
position()));
511 zDau1dxyFromPV->push_back(mu1StaRef->dxy(primaryVertices->begin()->position()));
512 zDau1dzFromPV->push_back(mu1StaRef->dz(primaryVertices->begin()->position()));
513 zDau1MuEnergyEm->push_back(-1);
514 zDau1MuEnergyHad->push_back(-1);
518 zDau1NofHit->push_back(mu1TrkRef->numberOfValidHits());
519 zDau1NofHitTk->push_back(mu1TrkRef->numberOfValidHits());
520 zDau1NofHitSta->push_back(0);
521 zDau1Chi2->push_back(mu1TrkRef->normalizedChi2());
522 zDau1TrkChi2->push_back(mu1TrkRef->normalizedChi2());
523 zDau1dxyFromBS->push_back(mu1TrkRef->dxy(beamSpotHandle->
position()));
524 zDau1dzFromBS->push_back(mu1TrkRef->dz(beamSpotHandle->
position()));
525 zDau1dxyFromPV->push_back(mu1TrkRef->dxy(primaryVertices->begin()->position()));
526 zDau1dzFromPV->push_back(mu1TrkRef->dz(primaryVertices->begin()->position()));
537 int dimTrig1 = mu1HLTMatches.size();
539 zDau1HLTBit->push_back(1);
541 zDau1HLTBit->push_back(0);
544 if (mu2 !=
nullptr) {
547 zDau2NofHitTk->push_back(mu2->
innerTrack()->numberOfValidHits());
548 zDau2NofHitSta->push_back(mu2->
outerTrack()->numberOfValidHits());
549 zDau2Chi2->push_back(mu2->
normChi2());
551 zDau1TrkChi2->push_back(mu2TrkRef->normalizedChi2());
552 zDau2dxyFromBS->push_back(mu2TrkRef->dxy(beamSpotHandle->
position()));
553 zDau2dzFromBS->push_back(mu2TrkRef->dz(beamSpotHandle->
position()));
554 zDau2dxyFromPV->push_back(mu2TrkRef->dxy(primaryVertices->begin()->position()));
555 zDau2dzFromPV->push_back(mu2TrkRef->dz(primaryVertices->begin()->position()));
560 zDau2HLTBit->push_back(0);
562 zDau2NofHit->push_back(mu2StaRef->numberOfValidHits());
563 zDau2NofHitTk->push_back(0);
564 zDau2NofHitSta->push_back(mu2StaRef->numberOfValidHits());
565 zDau2Chi2->push_back(mu2StaRef->normalizedChi2());
566 zDau2TrkChi2->push_back(0);
567 zDau2dxyFromBS->push_back(mu2StaRef->dxy(beamSpotHandle->
position()));
568 zDau2dzFromBS->push_back(mu2StaRef->dz(beamSpotHandle->
position()));
569 zDau2dxyFromPV->push_back(mu2StaRef->dxy(primaryVertices->begin()->position()));
570 zDau2dzFromPV->push_back(mu2StaRef->dz(primaryVertices->begin()->position()));
571 zDau1MuEnergyEm->push_back(-1);
572 zDau1MuEnergyHad->push_back(-1);
576 zDau2NofHit->push_back(mu2TrkRef->numberOfValidHits());
577 zDau2NofHitSta->push_back(0);
578 zDau2NofHitTk->push_back(mu2TrkRef->numberOfValidHits());
579 zDau2Chi2->push_back(mu2TrkRef->normalizedChi2());
580 zDau2TrkChi2->push_back(mu2TrkRef->normalizedChi2());
581 zDau2dxyFromBS->push_back(mu2TrkRef->dxy(beamSpotHandle->
position()));
582 zDau2dzFromBS->push_back(mu2TrkRef->dz(beamSpotHandle->
position()));
583 zDau2dxyFromPV->push_back(mu2TrkRef->dxy(primaryVertices->begin()->position()));
584 zDau2dzFromPV->push_back(mu2TrkRef->dz(primaryVertices->begin()->position()));
591 int dimTrig2 = mu2HLTMatches.size();
593 zDau2HLTBit->push_back(1);
595 zDau2HLTBit->push_back(0);
606 zDau1SaEta->push_back(stAloneTrack1->eta());
607 zDau2SaEta->push_back(stAloneTrack2->eta());
608 zDau1SaPhi->push_back(stAloneTrack1->phi());
609 zDau2SaPhi->push_back(stAloneTrack2->phi());
611 momentum = stAloneTrack1->momentum();
613 mu_mass = dau1->
mass();
615 zDau1SaPt->push_back(stAloneTrack1->pt());
616 zDau2SaPt->push_back(-stAloneTrack2->pt());
618 momentum = stAloneTrack2->momentum();
620 mu_mass = dau2->
mass();
622 zDau1SaPt->push_back(-stAloneTrack1->pt());
623 zDau2SaPt->push_back(stAloneTrack2->pt());
628 zMassSa->push_back(mass);
639 zDau2NofHit->push_back(mu2TrkRef->numberOfValidHits());
640 zDau2NofHitTk->push_back(mu2TrkRef->numberOfValidHits());
641 zDau2NofHitSta->push_back(0);
642 zDau2NofMuChambers->push_back(0);
643 zDau2NofMuMatches->push_back(0);
644 zDau2Chi2->push_back(mu2TrkRef->normalizedChi2());
645 zDau2dxyFromBS->push_back(mu2TrkRef->dxy(beamSpotHandle->
position()));
646 zDau2dzFromBS->push_back(mu2TrkRef->dz(beamSpotHandle->
position()));
647 zDau2dxyFromPV->push_back(mu2TrkRef->dxy(primaryVertices->begin()->position()));
648 zDau2dzFromPV->push_back(mu2TrkRef->dz(primaryVertices->begin()->position()));
649 zDau1MuEnergyEm->push_back(-1);
650 zDau1MuEnergyHad->push_back(-1);
653 const string &
zName = zName_[
c];
683 evt.
put(
std::move(zDau1EcalIso), zName +
"Dau1EcalIso");
684 evt.
put(
std::move(zDau2EcalIso), zName +
"Dau2EcalIso");
685 evt.
put(
std::move(zDau1HcalIso), zName +
"Dau1HcalIso");
686 evt.
put(
std::move(zDau2HcalIso), zName +
"Dau2HcalIso");
687 evt.
put(
std::move(zDau1MuEnergyEm), zName +
"Dau1MuEnergyEm");
688 evt.
put(
std::move(zDau2MuEnergyEm), zName +
"Dau2MuEnergyEm");
689 evt.
put(
std::move(zDau1MuEnergyHad), zName +
"Dau1MuEnergyHad");
690 evt.
put(
std::move(zDau2MuEnergyHad), zName +
"Dau2MuEnergyHad");
694 evt.
put(
std::move(zDau1NofHitTk), zName +
"Dau1NofHitTk");
695 evt.
put(
std::move(zDau2NofHitTk), zName +
"Dau2NofHitTk");
696 evt.
put(
std::move(zDau1NofHitSta), zName +
"Dau1NofHitSta");
697 evt.
put(
std::move(zDau2NofHitSta), zName +
"Dau2NofHitSta");
698 evt.
put(
std::move(zDau1NofMuChambers), zName +
"Dau1NofMuChambers");
699 evt.
put(
std::move(zDau1NofMuMatches), zName +
"Dau1NofMuMatches");
700 evt.
put(
std::move(zDau2NofMuChambers), zName +
"Dau2NofMuChambers");
701 evt.
put(
std::move(zDau2NofMuMatches), zName +
"Dau2NofMuMatches");
704 evt.
put(
std::move(zDau1TrkChi2), zName +
"Dau1TrkChi2");
705 evt.
put(
std::move(zDau2TrkChi2), zName +
"Dau2TrkChi2");
706 evt.
put(
std::move(zDau1dxyFromBS), zName +
"Dau1dxyFromBS");
707 evt.
put(
std::move(zDau2dxyFromBS), zName +
"Dau2dxyFromBS");
708 evt.
put(
std::move(zDau1dxyFromPV), zName +
"Dau1dxyFromPV");
709 evt.
put(
std::move(zDau2dxyFromPV), zName +
"Dau2dxyFromPV");
710 evt.
put(
std::move(zDau1dzFromBS), zName +
"Dau1dzFromBS");
711 evt.
put(
std::move(zDau2dzFromBS), zName +
"Dau2dzFromBS");
712 evt.
put(
std::move(zDau1dzFromPV), zName +
"Dau1dzFromPV");
713 evt.
put(
std::move(zDau2dzFromPV), zName +
"Dau2dzFromPV");
std::vector< std::string > zName_
T getParameter(std::string const &) const
EventNumber_t event() const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool isNonnull() const
Checks for non-null.
bool isStandAloneMuon() const override
edm::EDGetTokenT< VertexCollection > primaryVerticesToken_
std::vector< TriggerObjectStandAlone > TriggerObjectStandAloneCollection
Collection of TriggerObjectStandAlone.
virtual const PolarLorentzVector & polarP4() const =0
four-momentum Lorentz vector
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< BeamSpot > beamSpotToken_
std::vector< double > ptThreshold_
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
void produce(edm::Event &, const edm::EventSetup &) override
stand alone muon component tag
edm::LuminosityBlockNumber_t luminosityBlock() const
double sumWithin(double coneSize, const AbsVetos &vetos=AbsVetos(), bool skipDepositVeto=false) const
bool isTrackerMuon() const override
RefToBase< value_type > refAt(size_type i) const
std::vector< edm::EDGetTokenT< GenParticleMatch > > zGenParticlesMatchTokens_
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed) ...
#define DEFINE_FWK_MODULE(type)
reco::TrackRef innerTrack() const override
reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
reco::TrackRef outerTrack() const override
reference to Track reconstructed in the muon detector only (reimplemented from reco::Muon) ...
bool isGlobalMuon() const override
ZToLLEdmNtupleDumper(const edm::ParameterSet &)
virtual double vertexNormalizedChi2() const =0
chi-squared divided by n.d.o.f.
const TriggerObjectStandAloneCollection triggerObjectMatchesByPath(const std::string &namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true) const
double candIsolation(const reco::Candidate *c, double ptThreshold, double etEcalThreshold, double etHcalThreshold, double dRVetoTrk, double dRTrk, double dREcal, double dRHcal, double alpha, double beta, bool relativeIsolation)
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
MuonEnergy calEnergy() const
get energy deposition information
std::vector< string > hltPath_
std::vector< double > relativeIsolation_
virtual const CandidateBaseRef & masterClone() const =0
virtual double eta() const =0
momentum pseudorapidity
virtual double pt() const =0
transverse momentum
reco::TrackRef track() const override
XYZVectorD XYZVector
spatial vector with cartesian internal representation
int numberOfChambers() const
virtual double mass() const =0
mass
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
int numberOfMatches(ArbitrationType type=SegmentAndTrackArbitration) const
get number of chambers with matched segments
virtual double rapidity() const =0
rapidity
virtual int charge() const =0
electric charge
double isolation(const T *t, double ptThreshold, double etEcalThreshold, double etHcalThreshold, double dRVetoTrk, double dRTrk, double dREcal, double dRHcal, double alpha, double beta, bool relativeIsolation)
static std::atomic< unsigned int > counter
T get() const
get a component
std::vector< edm::EDGetTokenT< CandidateView > > zTokens_
const Point & position() const
position
alpha
zGenParticlesMatch = cms.InputTag(""),
unsigned int numberOfValidHits() const
numberOfValidHits returns the number of valid hits on the global track.
isodeposit::AbsVetos AbsVetos
double normChi2() const
Norm chi2 gives the normalized chi2 of the global track.
virtual double phi() const =0
momentum azimuthal angle
Analysis-level muon class.
virtual bool hasMasterClone() const =0
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.