23 #include "GaudiKernel/SystemOfUnits.h"
27 #include "TLorentzVector.h"
73 msg(MSG::INFO) <<
"Initialized" <<
endmsg;
74 return StatusCode::SUCCESS;
86 return StatusCode::SUCCESS;
99 if(
sc.isFailure() || !truthjetTES ) {
102 <<
sc.isFailure() <<
" "<< !truthjetTES
104 return StatusCode::SUCCESS;
107 bool passLeadJetCut =
false;
109 double lead_jet_pt = 0.0;
110 std::vector<xAOD::JetContainer::const_iterator>
jets;
111 for (jitr = (*truthjetTES).begin(); jitr !=(*truthjetTES).end(); ++jitr) {
112 if( (*jitr)->pt() > lead_jet_pt ){
113 lead_jet_pt = (*jitr)->pt();
116 if( std::abs( (*jitr)->eta() ) >
m_jetEtaMax )
continue;
117 jets.push_back(jitr);
124 for (
const HepMC::GenEvent* genEvt : *
events()) {
125 weight = genEvt->weights().front();
126 std::vector<HepMC::ConstGenParticlePtr> bHadrons;
127 for(
const auto& pitr: *genEvt) {
130 if( std::abs( pitr->momentum().pseudoRapidity() ) >
m_bottomEtaMax)
continue;
131 bHadrons.push_back(pitr);
134 for(
uint j = 0; j < bHadrons.size(); j++){
135 HepMC::FourVector
tmp = bHadrons[j]->momentum();
148 pass = (bJetCounter >= 2) && passLeadJetCut;
153 for (HepMC::GenEvent* genEvt : *
events()) {
164 setFilterPassed(pass);
165 return StatusCode::SUCCESS;