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)
65 for (
size_t i = 0; i <
channels.size(); ++
i) {
93 if (pid == 14 || pid == 16)
106 for (std::map<std::string, int>::const_iterator i =
namePidMap.begin(); i !=
namePidMap.end(); ++
i) {
107 if (i->second == pid)
116 for (std::map<std::string, int>::const_iterator i =
namePidMap.begin(); i !=
namePidMap.end(); ++
i) {
126 size_t pos = s.find(
'+');
128 std::string particle2 = s.substr(pos + 1, s.length() - pos);
129 std::pair<int, int> decay;
130 decay.first =
convert(particle1);
131 decay.second =
convert(particle2);
150 for (std::map<std::string, int>::const_iterator i =
namePidMap.begin(); i !=
namePidMap.end(); ++
i) {
edm::ESHandle< HepPDT::ParticleDataTable > fPDGTable
PDT table.
std::vector< MonitorElement * > HiggsDecayProd_pt
const edm::EventSetup & c
MonitorElement * Higgs_eta
void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override
std::vector< std::pair< int, int > > channels
std::vector< MonitorElement * > HiggsDecayProd_eta
size_t position(int pid1, int pid2)
MonitoredDecays * monitoredDecays
static std::string const input
HiggsValidation(const edm::ParameterSet &)
U second(std::pair< T, U > const &p)
std::string convert(int pid)
MonitoredDecays(const edm::ParameterSet &iConfig)
int findHiggsDecayChannel(const HepMC::GenParticle *, std::vector< HepMC::GenParticle * > &decayprod)
void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
Abs< T >::type abs(const T &t)
MonitorElement * Higgs_pt
int isDecayParticle(int pid)
MonitorElement * HiggsDecayChannels
edm::ESGetToken< HepPDT::ParticleDataTable, edm::DefaultRecord > fPDGTableToken
unsigned int NDecayParticles()
void analyze(edm::Event const &, edm::EventSetup const &) override
edm::InputTag hepmcCollection_
~HiggsValidation() override
T getParameter(std::string const &) const
int convert(std::string s)
std::string ConvertIndex(int index)
std::string channel(size_t i)
std::string particle_name
std::map< std::string, int > namePidMap
MonitorElement * Higgs_mass