|
|
Go to the documentation of this file.
18 produces<double>(
"DiscSel");
24 std::unique_ptr<double> pOutDisc(
new double);
32 std::vector<PhysicsTools::Calibration::VarProcessor*> processors =
33 (calibContainer->find(
"ttSemiLepSignalSelMVA")).getProcessors();
46 const std::vector<pat::Jet>
jets = *jet_handle;
47 unsigned int nJets = 0;
48 std::vector<pat::Jet> seljets;
49 for (std::vector<pat::Jet>::const_iterator it =
jets.begin(); it !=
jets.end(); it++) {
52 if (it->pt() > 30. && fabs(it->eta()) < 2.4) {
53 seljets.push_back(*it);
64 std::vector<pat::Muon> selMuons;
68 if (it->pt() > 30 && fabs(it->eta()) < 2.1 && (it->pt() / (it->pt() + it->trackIso() + it->caloIso())) > 0.95 &&
72 if ((gltr->chi2() / gltr->ndof()) < 10 && trtr->numberOfValidHits() > 11) {
74 for (std::vector<pat::Jet>::const_iterator ajet = seljets.begin(); ajet != seljets.end(); ajet++) {
83 selMuons.push_back(*it);
96 if (it->pt() > 30 && fabs(it->eta()) < 2.4 && (it->pt() / (it->pt() + it->trackIso() + it->caloIso())) > 0.95 &&
97 it->isElectronIDAvailable(
"eidTight")) {
98 if (it->electronID(
"eidTight") == 1)
105 if (
nmuons != 1 || nJets < 4 || nelectrons > 0)
128 double dPhi = fabs(v1.Phi() - v2.Phi());
136 double dR = TMath::Sqrt((v1.Eta() - v2.Eta()) * (v1.Eta() - v2.Eta()) +
dPhi *
dPhi);
bool isNull() const
Checks for null.
edm::EDGetTokenT< edm::View< pat::Electron > > electronsToken_
edm::EDGetTokenT< edm::View< pat::Muon > > muonsToken_
PhysicsTools::MVAComputerCache mvaComputer
double DeltaR(const math::XYZTLorentzVector &v1, const math::XYZTLorentzVector &v2)
~TtSemiLepSignalSelMVAComputer() override
static bool test(uint32_t val, uint32_t mask)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< edm::View< pat::MET > > METsToken_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
double evaluateTtSemiLepSignalSel(PhysicsTools::MVAComputerCache &mvaComputer, const TtSemiLepSignalSel &sigsel, float weight=1., const bool isSignal=false)
TtSemiLepSignalSelMVAComputer(const edm::ParameterSet &)
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
#define MVA_COMPUTER_CONTAINER_IMPLEMENT(N)
edm::EDGetTokenT< std::vector< pat::Jet > > jetsToken_
void produce(edm::Event &evt, const edm::EventSetup &setup) override
double DeltaPhi(const math::XYZTLorentzVector &v1, const math::XYZTLorentzVector &v2)