15 genEvt_(iConfig.getParameter<edm::InputTag>(
"genEvt"))
45 if(!
genEvt.isValid())
return false;
55 antitop =
genEvt->topBar();
57 antibottom =
genEvt->bBar();
62 if(top && antitop && bottom && antibottom && Wplus && Wmin){
66 double tolerance = 0.1 ;
68 bool topViolated =
false ;
69 bool antitopViolated =
false ;
71 if ( (top->p4().px() - topP4.px() > tolerance) ||
72 (top->p4().py() - topP4.py() > tolerance) ||
73 (top->p4().pz() - topP4.pz() > tolerance) ||
74 (top->p4().e () - topP4.e () > tolerance) ) {
83 if ( (antitop->p4().px() - antitopP4.px() > tolerance) ||
84 (antitop->p4().py() - antitopP4.py() > tolerance) ||
85 (antitop->p4().pz() - antitopP4.pz() > tolerance) ||
86 (antitop->p4().e () - antitopP4.e () > tolerance) ) {
88 antitopViolated =
true ;
95 return (topViolated || antitopViolated);
99 bool bottomOK =
true ;
100 bool antibottomOK =
true ;
101 if ( fabs( bottom->p4().pz()) < 1. ) bottomOK =
false ;
102 if ( fabs(antibottom->p4().pz()) < 1. ) antibottomOK =
false ;
103 return (bottomOK && antibottomOK);
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void addDefault(ParameterSetDescription const &psetDescription)
edm::EDGetTokenT< TtGenEvent > genEvtToken_
virtual bool filter(edm::Event &, const edm::EventSetup &)
volatile std::atomic< bool > shutdown_flag false
genEvt_(cfg.getParameter< edm::InputTag >("genEvent"))
TTbar_P4Violation(const edm::ParameterSet &)
math::XYZTLorentzVector LorentzVector
Lorentz vector.