Go to the documentation of this file. 1 #ifndef HiggsValidation_H
2 #define HiggsValidation_H
32 #include "TLorentzVector.h"
52 std::vector<std::string>
input = iConfig.
getParameter<std::vector<std::string> >(
"monitorDecays");
53 for (std::vector<std::string>::const_iterator
i =
input.begin();
i !=
input.end(); ++
i) {
61 if (
abs(pid1) == 14 ||
abs(pid1) == 16)
63 if (
abs(pid2) == 14 ||
abs(pid2) == 16)
93 if (pid == 14 || pid == 16)
107 if (
i->second == pid)
126 size_t pos =
s.find(
'+');
129 std::pair<int, int>
decay;
static const std::string input
int findHiggsDecayChannel(const HepMC::GenParticle *, std::vector< HepMC::GenParticle * > &decayprod)
void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
MonitoredDecays * monitoredDecays
std::string ConvertIndex(int index)
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
U second(std::pair< T, U > const &p)
int isDecayParticle(int pid)
HiggsValidation(const edm::ParameterSet &)
void analyze(edm::Event const &, edm::EventSetup const &) override
std::map< std::string, int > namePidMap
std::vector< MonitorElement * > HiggsDecayProd_eta
edm::ESHandle< HepPDT::ParticleDataTable > fPDGTable
PDT table.
~HiggsValidation() override
int convert(std::string s)
std::string channel(size_t i)
MonitorElement * Higgs_pt
std::string particle_name
void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override
std::string convert(int pid)
MonitoredDecays(const edm::ParameterSet &iConfig)
MonitorElement * Higgs_mass
std::vector< std::pair< int, int > > channels
MonitorElement * HiggsDecayChannels
std::vector< MonitorElement * > HiggsDecayProd_pt
T getParameter(std::string const &) const
MonitorElement * Higgs_eta
Abs< T >::type abs(const T &t)
unsigned int NDecayParticles()
edm::InputTag hepmcCollection_
size_t position(int pid1, int pid2)