1 #ifndef HiggsValidation_H 2 #define HiggsValidation_H 33 #include "TLorentzVector.h" 54 std::vector<std::string>
input = iConfig.
getParameter<std::vector<std::string> >(
"monitorDecays");
55 for(std::vector<std::string>::const_iterator i = input.begin(); i!= input.end(); ++
i){
63 if(
abs(pid1) == 14 ||
abs(pid1) == 16) pid1 = 12;
64 if(
abs(pid2) == 14 ||
abs(pid2) == 16) pid2 = 12;
65 for(
size_t i = 0; i <
channels.size(); ++
i){
76 if(i == 0)
return "?";
77 if(i ==
channels.size()+1)
return "Stable";
90 if(pid == 14 || pid == 16) pid = 12;
92 if(i->second == pid)
return i->first;
102 if(i->second == pid)
return idx;
111 if(idx==index)
return i->first;
119 size_t pos = s.find(
"+");
121 std::string particle2 = s.substr(pos+1,s.length()-pos);
122 std::pair<int,int>
decay;
123 decay.first =
convert(particle1);
124 decay.second =
convert(particle2);
edm::ESHandle< HepPDT::ParticleDataTable > fPDGTable
PDT table.
T getParameter(std::string const &) const
MonitorElement * Higgs_eta
void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override
std::vector< MonitorElement * > HiggsDecayProd_pt
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::vector< std::pair< int, int > > channels
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
std::vector< MonitorElement * > HiggsDecayProd_eta
std::map< std::string, int > namePidMap
edm::EDGetTokenT< edm::HepMCProduct > hepmcCollectionToken_
Abs< T >::type abs(const T &t)
MonitorElement * Higgs_pt
int isDecayParticle(int pid)
MonitorElement * HiggsDecayChannels
unsigned int NDecayParticles()
void analyze(edm::Event const &, edm::EventSetup const &) override
edm::InputTag hepmcCollection_
~HiggsValidation() override
int convert(std::string s)
std::string ConvertIndex(int index)
std::string channel(size_t i)
std::string particle_name
MonitorElement * Higgs_mass