only for ZGolden evaluated zMassSa for the mu+sta pdf, see zmumuSaMassHistogram.cc
I fill the dau1 with positive and dau2 with negatove values for the pt, in order to flag the muons used for building zMassSa
215 std::cout <<
">>> No beam spot found !!!"<<std::endl;
219 std::cout <<
">>> No primary verteces found !!!"<<std::endl;
223 for(
unsigned int c = 0;
c <
size; ++
c ) {
226 bool isMCMatchTrue =
false;
232 unsigned int zSize = zColl->size();
233 auto_ptr<vector<unsigned int> >
event(
new vector<unsigned int> );
234 auto_ptr<vector<unsigned int> >
run(
new vector<unsigned int> );
235 auto_ptr<vector<unsigned int> >
lumi(
new vector<unsigned int > );
236 auto_ptr<vector<float> > zMass(
new vector<float> );
237 auto_ptr<vector<float> > zMassSa(
new vector<float> );
238 auto_ptr<vector<float> > zPt(
new vector<float> );
239 auto_ptr<vector<float> > zEta(
new vector<float> );
240 auto_ptr<vector<float> > zPhi(
new vector<float> );
241 auto_ptr<vector<float> > zY(
new vector<float> );
242 auto_ptr<vector<float> > zDau1Pt(
new vector<float> );
243 auto_ptr<vector<float> > zDau2Pt(
new vector<float> );
244 auto_ptr<vector<float> > zDau1SaPt(
new vector<float> );
245 auto_ptr<vector<float> > zDau2SaPt(
new vector<float> );
246 auto_ptr<vector<unsigned int> > zDau1HLTBit(
new vector<unsigned int> );
247 auto_ptr<vector<unsigned int> > zDau2HLTBit(
new vector<unsigned int> );
248 auto_ptr<vector<int> > zDau1Q(
new vector<int> );
249 auto_ptr<vector<int> > zDau2Q(
new vector<int> );
250 auto_ptr<vector<float> > zDau1Eta(
new vector<float> );
251 auto_ptr<vector<float> > zDau2Eta(
new vector<float> );
252 auto_ptr<vector<float> > zDau1SaEta(
new vector<float> );
253 auto_ptr<vector<float> > zDau2SaEta(
new vector<float> );
254 auto_ptr<vector<float> > zDau1Phi(
new vector<float> );
255 auto_ptr<vector<float> > zDau2Phi(
new vector<float> );
256 auto_ptr<vector<float> > zDau1SaPhi(
new vector<float> );
257 auto_ptr<vector<float> > zDau2SaPhi(
new vector<float> );
258 auto_ptr<vector<float> > zDau1Iso(
new vector<float> );
259 auto_ptr<vector<float> > zDau2Iso(
new vector<float> );
260 auto_ptr<vector<float> > zDau1TrkIso(
new vector<float> );
261 auto_ptr<vector<float> > zDau2TrkIso(
new vector<float> );
262 auto_ptr<vector<float> > zDau1EcalIso(
new vector<float> );
263 auto_ptr<vector<float> > zDau2EcalIso(
new vector<float> );
264 auto_ptr<vector<float> > zDau1HcalIso(
new vector<float> );
265 auto_ptr<vector<float> > zDau2HcalIso(
new vector<float> );
266 auto_ptr<vector<float> > zDau1MuEnergyEm(
new vector<float> );
267 auto_ptr<vector<float> > zDau2MuEnergyEm(
new vector<float> );
268 auto_ptr<vector<float> > zDau1MuEnergyHad(
new vector<float> );
269 auto_ptr<vector<float> > zDau2MuEnergyHad(
new vector<float> );
270 auto_ptr<vector<float> > vtxNormChi2(
new vector<float> );
271 auto_ptr<vector<unsigned int> > zDau1NofHit(
new vector<unsigned int> );
272 auto_ptr<vector<unsigned int> > zDau2NofHit(
new vector<unsigned int> );
273 auto_ptr<vector<unsigned int> > zDau1NofHitTk(
new vector<unsigned int> );
274 auto_ptr<vector<unsigned int> > zDau2NofHitTk(
new vector<unsigned int> );
275 auto_ptr<vector<unsigned int> > zDau1NofHitSta(
new vector<unsigned int> );
276 auto_ptr<vector<unsigned int> > zDau2NofHitSta(
new vector<unsigned int> );
277 auto_ptr<vector<unsigned int> > zDau1NofMuChambers(
new vector<unsigned int> );
278 auto_ptr<vector<unsigned int> > zDau2NofMuChambers(
new vector<unsigned int> );
279 auto_ptr<vector<unsigned int> > zDau1NofMuMatches(
new vector<unsigned int> );
280 auto_ptr<vector<unsigned int> > zDau2NofMuMatches(
new vector<unsigned int> );
281 auto_ptr<vector<float> > zDau1Chi2(
new vector<float> );
282 auto_ptr<vector<float> > zDau2Chi2(
new vector<float> );
283 auto_ptr<vector<float> > zDau1TrkChi2(
new vector<float> );
284 auto_ptr<vector<float> > zDau2TrkChi2(
new vector<float> );
285 auto_ptr<vector<float> > zDau1dxyFromBS(
new vector<float> );
286 auto_ptr<vector<float> > zDau2dxyFromBS(
new vector<float> );
287 auto_ptr<vector<float> > zDau1dzFromBS(
new vector<float> );
288 auto_ptr<vector<float> > zDau2dzFromBS(
new vector<float> );
289 auto_ptr<vector<float> > zDau1dxyFromPV(
new vector<float> );
290 auto_ptr<vector<float> > zDau2dxyFromPV(
new vector<float> );
291 auto_ptr<vector<float> > zDau1dzFromPV(
new vector<float> );
292 auto_ptr<vector<float> > zDau2dzFromPV(
new vector<float> );
293 auto_ptr<vector<float> > trueZMass(
new vector<float> );
294 auto_ptr<vector<float> > trueZPt(
new vector<float> );
295 auto_ptr<vector<float> > trueZEta(
new vector<float> );
296 auto_ptr<vector<float> > trueZPhi(
new vector<float> );
297 auto_ptr<vector<float> > trueZY(
new vector<float> );
298 event -> push_back(evt.
id().
event());
301 for(
unsigned int i = 0;
i < zSize; ++
i ) {
304 zMass->push_back( z.
mass() );
305 zPt->push_back( z.
pt() );
306 zEta->push_back( z.
eta() );
307 zPhi->push_back( z.
phi() );
312 zDau1Pt->push_back( dau1->
pt() );
313 zDau2Pt->push_back( dau2->
pt() );
314 zDau1Q->push_back( dau1->
charge() );
315 zDau2Q->push_back( dau2->
charge() );
316 zDau1Eta->push_back( dau1->
eta() );
317 zDau2Eta->push_back( dau2->
eta() );
318 zDau1Phi->push_back( dau1->
phi() );
319 zDau2Phi->push_back( dau2->
phi() );
322 <<
"Candidate daughters have no master clone\n";
325 const Candidate * m1 = &*mr1, * m2 = &*mr2;
328 double iso1 =
candIsolation(m1,
ptThreshold_[c],
etEcalThreshold_[c],
etHcalThreshold_[c] ,
dRVetoTrk_[c],
dRTrk_[c],
dREcal_[c] ,
dRHcal_[c],
alpha_[c],
beta_[c],
relativeIsolation_[c]);
329 double iso2 =
candIsolation(m2,
ptThreshold_[c],
etEcalThreshold_[c],
etHcalThreshold_[c] ,
dRVetoTrk_[c],
dRTrk_[c],
dREcal_[c] ,
dRHcal_[c],
alpha_[c],
beta_[c],
relativeIsolation_[c] );
331 double trkIso1 =
candIsolation(m1,
ptThreshold_[c],
etEcalThreshold_[c],
etHcalThreshold_[c] ,
dRVetoTrk_[c],
dRTrk_[c],
dREcal_[c] ,
dRHcal_[c], 0.0,
beta_[c],
relativeIsolation_[c]);
332 double trkIso2 =
candIsolation(m2,
ptThreshold_[c],
etEcalThreshold_[c],
etHcalThreshold_[c] ,
dRVetoTrk_[c],
dRTrk_[c],
dREcal_[c] ,
dRHcal_[c], 0.0,
beta_[c],
relativeIsolation_[c] );
334 double ecalIso1 =
candIsolation(m1,
ptThreshold_[c],
etEcalThreshold_[c],
etHcalThreshold_[c] ,
dRVetoTrk_[c],
dRTrk_[c],
dREcal_[c] ,
dRHcal_[c], 1.0, 1.0,
relativeIsolation_[c]);
335 double ecalIso2 =
candIsolation(m2,
ptThreshold_[c],
etEcalThreshold_[c],
etHcalThreshold_[c] ,
dRVetoTrk_[c],
dRTrk_[c],
dREcal_[c] ,
dRHcal_[c], 1.0, 1.0,
relativeIsolation_[c] );
337 double hcalIso1 =
candIsolation(m1,
ptThreshold_[c],
etEcalThreshold_[c],
etHcalThreshold_[c] ,
dRVetoTrk_[c],
dRTrk_[c],
dREcal_[c] ,
dRHcal_[c], 1.0, -1.0,
relativeIsolation_[c]);
338 double hcalIso2 =
candIsolation(m2,
ptThreshold_[c],
etEcalThreshold_[c],
etHcalThreshold_[c] ,
dRVetoTrk_[c],
dRTrk_[c],
dREcal_[c] ,
dRHcal_[c], 1.0, -1.0,
relativeIsolation_[c] );
340 zDau1Iso->push_back( iso1 );
341 zDau2Iso->push_back( iso2 );
342 zDau1TrkIso->push_back( trkIso1 );
343 zDau2TrkIso->push_back( trkIso2 );
344 zDau1EcalIso->push_back( ecalIso1 );
345 zDau2EcalIso->push_back( ecalIso2 );
346 zDau1HcalIso->push_back( hcalIso1 );
347 zDau2HcalIso->push_back( hcalIso2 );
353 trueZMass->push_back( z.
mass() );
354 trueZPt->push_back( z.
pt() );
355 trueZEta->push_back( z.
eta() );
356 trueZPhi->push_back( z.
phi() );
359 trueZMass->push_back( -100 );
360 trueZPt->push_back( -100 );
361 trueZEta->push_back( -100 );
362 trueZPhi->push_back( -100 );
363 trueZY->push_back( -100 );
371 zDau1NofHitTk->push_back(mu1->
innerTrack()->numberOfValidHits());
372 zDau1NofHitSta->push_back(mu1->
outerTrack()->numberOfValidHits());
373 zDau1Chi2->push_back(mu1->
normChi2());
375 zDau1TrkChi2->push_back( mu1TrkRef->normalizedChi2());
376 zDau1dxyFromBS->push_back(mu1TrkRef->dxy(beamSpotHandle->position()));
377 zDau1dzFromBS->push_back(mu1TrkRef->dz(beamSpotHandle->position()));
378 zDau1dxyFromPV->push_back(mu1TrkRef->dxy(primaryVertices->begin()->position() ));
379 zDau1dzFromPV->push_back(mu1TrkRef->dz(primaryVertices->begin()->position() ));
386 zDau1NofHit->push_back(mu1StaRef->numberOfValidHits());
387 zDau1NofHitTk->push_back(0);
388 zDau1NofHitSta->push_back(mu1StaRef->numberOfValidHits());
389 zDau1Chi2->push_back(mu1StaRef->normalizedChi2());
390 zDau1TrkChi2->push_back(0);
391 zDau1dxyFromBS->push_back(mu1StaRef->dxy(beamSpotHandle->position()));
392 zDau1dzFromBS->push_back(mu1StaRef->dz(beamSpotHandle->position()));
393 zDau1dxyFromPV->push_back(mu1StaRef->dxy(primaryVertices->begin()->position() ));
394 zDau1dzFromPV->push_back(mu1StaRef->dz(primaryVertices->begin()->position() ));
395 zDau1MuEnergyEm->push_back( -1);
396 zDau1MuEnergyHad->push_back( -1);
400 zDau1NofHit->push_back(mu1TrkRef->numberOfValidHits());
401 zDau1NofHitTk->push_back(mu1TrkRef->numberOfValidHits());
402 zDau1NofHitSta->push_back(0);
403 zDau1Chi2->push_back(mu1TrkRef->normalizedChi2());
404 zDau1TrkChi2->push_back(mu1TrkRef->normalizedChi2());
405 zDau1dxyFromBS->push_back(mu1TrkRef->dxy(beamSpotHandle->position()));
406 zDau1dzFromBS->push_back(mu1TrkRef->dz(beamSpotHandle->position()));
407 zDau1dxyFromPV->push_back(mu1TrkRef->dxy(primaryVertices->begin()->position() ));
408 zDau1dzFromPV->push_back(mu1TrkRef->dz(primaryVertices->begin()->position() ));
419 int dimTrig1 = mu1HLTMatches.size();
421 zDau1HLTBit->push_back(1);
423 zDau1HLTBit->push_back(0);
429 zDau2NofHitTk->push_back(mu2->
innerTrack()->numberOfValidHits());
430 zDau2NofHitSta->push_back(mu2->
outerTrack()->numberOfValidHits());
431 zDau2Chi2->push_back(mu2->
normChi2());
433 zDau1TrkChi2->push_back( mu2TrkRef->normalizedChi2());
434 zDau2dxyFromBS->push_back(mu2TrkRef->dxy(beamSpotHandle->position()));
435 zDau2dzFromBS->push_back(mu2TrkRef->dz(beamSpotHandle->position()));
436 zDau2dxyFromPV->push_back(mu2TrkRef->dxy(primaryVertices->begin()->position() ));
437 zDau2dzFromPV->push_back(mu2TrkRef->dz(primaryVertices->begin()->position() ));
442 zDau2HLTBit->push_back(0);
444 zDau2NofHit->push_back(mu2StaRef->numberOfValidHits());
445 zDau2NofHitTk->push_back(0);
446 zDau2NofHitSta->push_back(mu2StaRef->numberOfValidHits());
447 zDau2Chi2->push_back(mu2StaRef->normalizedChi2());
448 zDau2TrkChi2->push_back(0);
449 zDau2dxyFromBS->push_back(mu2StaRef->dxy(beamSpotHandle->position()));
450 zDau2dzFromBS->push_back(mu2StaRef->dz(beamSpotHandle->position()));
451 zDau2dxyFromPV->push_back(mu2StaRef->dxy(primaryVertices->begin()->position() ));
452 zDau2dzFromPV->push_back(mu2StaRef->dz(primaryVertices->begin()->position() ));
453 zDau1MuEnergyEm->push_back( -1);
454 zDau1MuEnergyHad->push_back( -1);
458 zDau2NofHit->push_back(mu2TrkRef->numberOfValidHits());
459 zDau2NofHitSta->push_back(0);
460 zDau2NofHitTk->push_back(mu2TrkRef->numberOfValidHits());
461 zDau2Chi2->push_back(mu2TrkRef->normalizedChi2());
462 zDau2TrkChi2->push_back(mu2TrkRef->normalizedChi2());
463 zDau2dxyFromBS->push_back(mu2TrkRef->dxy(beamSpotHandle->position()));
464 zDau2dzFromBS->push_back(mu2TrkRef->dz(beamSpotHandle->position()));
465 zDau2dxyFromPV->push_back(mu2TrkRef->dxy(primaryVertices->begin()->position() ));
466 zDau2dzFromPV->push_back(mu2TrkRef->dz(primaryVertices->begin()->position() ));
473 int dimTrig2 = mu2HLTMatches.size();
475 zDau2HLTBit->push_back(1);
478 zDau2HLTBit->push_back(0);
489 zDau1SaEta->push_back(stAloneTrack1->eta());
490 zDau2SaEta->push_back(stAloneTrack2->eta());
491 zDau1SaPhi->push_back(stAloneTrack1->phi());
492 zDau2SaPhi->push_back(stAloneTrack2->phi());
494 momentum = stAloneTrack1->momentum();
496 mu_mass = dau1->
mass();
498 zDau1SaPt->push_back(stAloneTrack1 ->
pt());
499 zDau2SaPt->push_back(- stAloneTrack2->pt());
501 momentum = stAloneTrack2->momentum();
503 mu_mass = dau2->
mass();
505 zDau1SaPt->push_back( - stAloneTrack1->pt());
506 zDau2SaPt->push_back( stAloneTrack2->pt());
510 double mass = (p4_1+p4_2).mass();
511 zMassSa->push_back(mass);
523 zDau2NofHit->push_back(mu2TrkRef->numberOfValidHits());
524 zDau2NofHitTk->push_back( mu2TrkRef->numberOfValidHits());
525 zDau2NofHitSta->push_back( 0);
526 zDau2NofMuChambers->push_back(0);
527 zDau2NofMuMatches->push_back(0);
528 zDau2Chi2->push_back(mu2TrkRef->normalizedChi2());
529 zDau2dxyFromBS->push_back(mu2TrkRef->dxy(beamSpotHandle->position()));
530 zDau2dzFromBS->push_back(mu2TrkRef->dz(beamSpotHandle->position()));
531 zDau2dxyFromPV->push_back(mu2TrkRef->dxy(primaryVertices->begin()->position() ));
532 zDau2dzFromPV->push_back(mu2TrkRef->dz(primaryVertices->begin()->position() ));
533 zDau1MuEnergyEm->push_back( -1);
534 zDau1MuEnergyHad->push_back( -1);
537 const string & zName =
zName_[
c];
538 evt.
put(
event,zName +
"EventNumber" );
539 evt.
put(
run, zName +
"RunNumber" );
540 evt.
put(
lumi,zName +
"LumiBlock" );
541 evt.
put( zMass, zName +
"Mass" );
542 evt.
put( zMassSa, zName +
"MassSa" );
543 evt.
put( zPt, zName +
"Pt" );
544 evt.
put( zEta, zName +
"Eta" );
545 evt.
put( zPhi, zName +
"Phi" );
546 evt.
put( zY, zName +
"Y" );
547 evt.
put( zDau1Pt, zName +
"Dau1Pt" );
548 evt.
put( zDau2Pt, zName +
"Dau2Pt" );
549 evt.
put( zDau1SaPt, zName +
"Dau1SaPt" );
550 evt.
put( zDau2SaPt, zName +
"Dau2SaPt" );
551 evt.
put( zDau1HLTBit, zName +
"Dau1HLTBit" );
552 evt.
put( zDau2HLTBit, zName +
"Dau2HLTBit" );
553 evt.
put( zDau1Q, zName +
"Dau1Q" );
554 evt.
put( zDau2Q, zName +
"Dau2Q" );
555 evt.
put( zDau1Eta, zName +
"Dau1Eta" );
556 evt.
put( zDau2Eta, zName +
"Dau2Eta" );
557 evt.
put( zDau1SaEta, zName +
"Dau1SaEta" );
558 evt.
put( zDau2SaEta, zName +
"Dau2SaEta" );
559 evt.
put( zDau1Phi, zName +
"Dau1Phi" );
560 evt.
put( zDau2Phi, zName +
"Dau2Phi" );
561 evt.
put( zDau1SaPhi, zName +
"Dau1SaPhi" );
562 evt.
put( zDau2SaPhi, zName +
"Dau2SaPhi" );
563 evt.
put( zDau1Iso, zName +
"Dau1Iso" );
564 evt.
put( zDau2Iso, zName +
"Dau2Iso" );
565 evt.
put( zDau1TrkIso, zName +
"Dau1TrkIso" );
566 evt.
put( zDau2TrkIso, zName +
"Dau2TrkIso" );
567 evt.
put( zDau1EcalIso, zName +
"Dau1EcalIso" );
568 evt.
put( zDau2EcalIso, zName +
"Dau2EcalIso" );
569 evt.
put( zDau1HcalIso, zName +
"Dau1HcalIso" );
570 evt.
put( zDau2HcalIso, zName +
"Dau2HcalIso" );
571 evt.
put( zDau1MuEnergyEm, zName +
"Dau1MuEnergyEm" );
572 evt.
put( zDau2MuEnergyEm, zName +
"Dau2MuEnergyEm" );
573 evt.
put( zDau1MuEnergyHad, zName +
"Dau1MuEnergyHad" );
574 evt.
put( zDau2MuEnergyHad, zName +
"Dau2MuEnergyHad" );
575 evt.
put( vtxNormChi2, zName +
"VtxNormChi2" );
576 evt.
put( zDau1NofHit, zName +
"Dau1NofHit" );
577 evt.
put( zDau2NofHit, zName +
"Dau2NofHit" );
578 evt.
put( zDau1NofHitTk, zName +
"Dau1NofHitTk" );
579 evt.
put( zDau2NofHitTk, zName +
"Dau2NofHitTk" );
580 evt.
put( zDau1NofHitSta, zName +
"Dau1NofHitSta" );
581 evt.
put( zDau2NofHitSta, zName +
"Dau2NofHitSta" );
582 evt.
put( zDau1NofMuChambers, zName +
"Dau1NofMuChambers" );
583 evt.
put( zDau1NofMuMatches, zName +
"Dau1NofMuMatches" );
584 evt.
put( zDau2NofMuChambers, zName +
"Dau2NofMuChambers" );
585 evt.
put( zDau2NofMuMatches, zName +
"Dau2NofMuMatches" );
586 evt.
put( zDau1Chi2, zName +
"Dau1Chi2" );
587 evt.
put( zDau2Chi2, zName +
"Dau2Chi2" );
588 evt.
put( zDau1TrkChi2, zName +
"Dau1TrkChi2" );
589 evt.
put( zDau2TrkChi2, zName +
"Dau2TrkChi2" );
590 evt.
put( zDau1dxyFromBS, zName +
"Dau1dxyFromBS" );
591 evt.
put( zDau2dxyFromBS, zName +
"Dau2dxyFromBS" );
592 evt.
put( zDau1dxyFromPV, zName +
"Dau1dxyFromPV" );
593 evt.
put( zDau2dxyFromPV, zName +
"Dau2dxyFromPV" );
594 evt.
put( zDau1dzFromBS, zName +
"Dau1dzFromBS" );
595 evt.
put( zDau2dzFromBS, zName +
"Dau2dzFromBS" );
596 evt.
put( zDau1dzFromPV, zName +
"Dau1dzFromPV" );
597 evt.
put( zDau2dzFromPV, zName +
"Dau2dzFromPV" );
598 evt.
put( trueZMass, zName +
"TrueMass" );
599 evt.
put( trueZPt, zName +
"TruePt" );
600 evt.
put( trueZEta, zName +
"TrueEta" );
601 evt.
put( trueZPhi, zName +
"TruePhi" );
602 evt.
put( trueZY, zName +
"TrueY" );
std::vector< std::string > zName_
double normChi2() const
Norm chi2 gives the normalized chi2 of the global track.
EventNumber_t event() const
unsigned int numberOfValidHits() const
numberOfValidHits returns the number of valid hits on the global track.
reco::TrackRef innerTrack() const
reference to Track reconstructed in the tracker only (reimplemented from reco::Muon) ...
virtual const Candidate * daughter(size_type i) const =0
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
edm::EDGetTokenT< VertexCollection > primaryVerticesToken_
virtual float mass() const =0
mass
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< BeamSpot > beamSpotToken_
virtual float eta() const =0
momentum pseudorapidity
bool isTrackerMuon() const
std::vector< double > ptThreshold_
stand alone muon component tag
bool isGlobalMuon() const
edm::LuminosityBlockNumber_t luminosityBlock() const
virtual float phi() const =0
momentum azimuthal angle
virtual double rapidity() const =0
rapidity
std::vector< TriggerObjectStandAlone > TriggerObjectStandAloneCollection
Collection of TriggerObjectStandAlone.
bool isStandAloneMuon() const
std::vector< double > dRTrk_
reco::TrackRef outerTrack() const
reference to Track reconstructed in the muon detector only (reimplemented from reco::Muon) ...
std::vector< double > etEcalThreshold_
virtual const PolarLorentzVector & polarP4() const =0
four-momentum Lorentz vector
std::vector< edm::EDGetTokenT< GenParticleMatch > > zGenParticlesMatchTokens_
bool isNonnull() const
Checks for non-null.
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed) ...
virtual bool hasMasterClone() const =0
virtual float pt() const =0
transverse momentum
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
virtual int charge() const =0
electric charge
virtual reco::TrackRef track() const
std::vector< double > dREcal_
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
virtual double vertexNormalizedChi2() const =0
chi-squared divided by n.d.o.f.
int numberOfMatches(ArbitrationType type=SegmentAndTrackArbitration) const
get number of chambers with matched segments
MuonEnergy calEnergy() const
get energy deposition information
std::vector< string > hltPath_
std::vector< double > relativeIsolation_
std::vector< double > dRVetoTrk_
int numberOfChambers() const
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
std::vector< double > etHcalThreshold_
std::vector< double > alpha_
std::vector< double > dRHcal_
T get() const
get a component
std::vector< edm::EDGetTokenT< CandidateView > > zTokens_
Analysis-level muon class.
tuple size
Write out results.
std::vector< double > beta_
virtual const CandidateBaseRef & masterClone() const =0
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.