11 #include "CLHEP/Units/defs.h"
12 #include "CLHEP/Units/PhysicalConstants.h"
17 hepmcCollection_(iPSet.getParameter<edm::
InputTag>(
"hepmcCollection"))
193 int uNum = 0;
int dNum = 0;
int sNum = 0;
int cNum = 0;
int bNum = 0;
int tNum = 0;
194 int ubarNum = 0;
int dbarNum = 0;
int sbarNum = 0;
int cbarNum = 0;
int bbarNum = 0;
int tbarNum = 0;
196 int eminusNum = 0;
int nueNum = 0;
int muminusNum = 0;
int numuNum = 0;
int tauminusNum = 0;
int nutauNum = 0;
197 int eplusNum = 0;
int nuebarNum = 0;
int muplusNum = 0;
int numubarNum = 0;
int tauplusNum = 0;
int nutaubarNum = 0;
199 int gluNum = 0;
int WplusNum = 0;
int WminusNum = 0;
int ZNum = 0;
int gammaNum = 0;
201 int piplusNum = 0;
int piminusNum = 0;
int pizeroNum = 0;
int KplusNum = 0;
int KminusNum = 0;
int KlzeroNum = 0;
int KszeroNum = 0;
203 int pNum = 0;
int pbarNum = 0;
int nNum = 0;
int nbarNum = 0;
int l0Num = 0;
int l0barNum = 0;
205 int DplusNum = 0;
int DminusNum = 0;
int DzeroNum = 0;
int BplusNum = 0;
int BminusNum = 0;
int BzeroNum = 0;
int BszeroNum = 0;
207 int outVrtxStablePtclNum = 0;
int stablePtclNum = 0;
int otherPtclNum = 0;
int unknownPDTNum = 0;
int stableChaNum = 0;
216 HepMC::GenEvent *myGenEvent =
new HepMC::GenEvent(*(evt->GetEvent()));
224 HepMC::PdfInfo *pdf = myGenEvent->pdf_info();
226 bjorken = ((pdf->x1())/((pdf->x1())+(pdf->x2())));
231 HepMC::GenEvent::vertex_const_iterator vrtxBegin = myGenEvent->vertices_begin();
232 HepMC::GenEvent::vertex_const_iterator vrtxEnd = myGenEvent->vertices_end();
233 for(HepMC::GenEvent::vertex_const_iterator vrtxIt = vrtxBegin; vrtxIt!=vrtxEnd; ++vrtxIt)
236 HepMC::GenVertex *vrtx = *vrtxIt;
242 HepMC::GenVertex::particles_out_const_iterator vrtxPtclBegin = vrtx->particles_out_const_begin();
243 HepMC::GenVertex::particles_out_const_iterator vrtxPtclEnd = vrtx->particles_out_const_end();
244 outVrtxStablePtclNum = 0;
245 for(HepMC::GenVertex::particles_out_const_iterator vrtxPtclIt = vrtxPtclBegin; vrtxPtclIt != vrtxPtclEnd; ++vrtxPtclIt)
248 if (vrtxPtcl->status() == 1){
249 ++outVrtxStablePtclNum;
257 HepMC::GenEvent::particle_const_iterator ptclBegin = myGenEvent->particles_begin();
258 HepMC::GenEvent::particle_const_iterator ptclEnd = myGenEvent->particles_end();
259 for(HepMC::GenEvent::particle_const_iterator ptclIt = ptclBegin; ptclIt!=ptclEnd; ++ptclIt)
264 int Id = ptcl->pdg_id();
265 float Log_p = log10( ptcl->momentum().rho() );
267 int status = ptcl->status();
274 charge = PData->charge();
280 if(ptcl->status() == 1){
287 if (charge != 0. && charge != 999.) ++stableChaNum;
MonitorElement * sbarMomentum
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * WplusNumber
MonitorElement * genPtclStatus
MonitorElement * BzeroMomentum
MonitorElement * pizeroMomentum
MonitorElement * muplusMomentum
MonitorElement * genVrtxNumber
MonitorElement * nueMomentum
MonitorElement * BplusNumber
MonitorElement * pbarNumber
MonitorElement * pizeroNumber
MonitorElement * KlzeroMomentum
MonitorElement * KplusMomentum
MonitorElement * pbarMomentum
MonitorElement * unknownPDTNumber
MonitorElement * gammaNumber
MonitorElement * uNumber
multiplicity ME's
virtual void endRun(const edm::Run &, const edm::EventSetup &)
MonitorElement * numubarNumber
MonitorElement * dbarNumber
MonitorElement * cMomentum
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * outVrtxPtclNumber
MonitorElement * BszeroMomentum
MonitorElement * muminusNumber
MonitorElement * KlzeroNumber
MonitorElement * Bjorken_x
MonitorElement * otherPtclNumber
MonitorElement * ubarMomentum
MonitorElement * DminusNumber
MonitorElement * tauminusNumber
MonitorElement * eplusMomentum
MonitorElement * tauplusNumber
MonitorElement * piplusMomentum
BasicHepMCValidation(const edm::ParameterSet &)
MonitorElement * bbarMomentum
MonitorElement * sbarNumber
MonitorElement * otherPtclMomentum
MonitorElement * stablePtclCharge
MonitorElement * pMomentum
MonitorElement * dbarMomentum
MonitorElement * nuebarMomentum
MonitorElement * KminusNumber
MonitorElement * eminusMomentum
MonitorElement * tauplusMomentum
MonitorElement * gluMomentum
MonitorElement * gammaMomentum
void getData(T &iHolder) const
MonitorElement * BszeroNumber
MonitorElement * tbarNumber
MonitorElement * nMomentum
MonitorElement * piplusNumber
MonitorElement * nbarNumber
MonitorElement * BminusNumber
MonitorElement * cbarNumber
MonitorElement * dMomentum
MonitorElement * vrtxRadius
MonitorElement * ZMomentum
MonitorElement * l0Number
MonitorElement * tbarMomentum
MonitorElement * BplusMomentum
MonitorElement * eminusNumber
MonitorElement * DminusMomentum
MonitorElement * nuebarNumber
edm::ESHandle< HepPDT::ParticleDataTable > fPDGTable
PDT table.
MonitorElement * numubarMomentum
MonitorElement * eplusNumber
MonitorElement * WminusMomentum
virtual ~BasicHepMCValidation()
MonitorElement * stablePtclPhi
MonitorElement * WplusMomentum
MonitorElement * stablePtclEta
MonitorElement * DzeroNumber
MonitorElement * KplusNumber
DQMStore * dbe
ME's "container".
HepPDT::ParticleData ParticleData
MonitorElement * KminusMomentum
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
MonitorElement * cbarMomentum
MonitorElement * muminusMomentum
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
MonitorElement * l0barNumber
MonitorElement * nbarMomentum
MonitorElement * stablePtclp
MonitorElement * stablePtclpT
MonitorElement * tauminusMomentum
MonitorElement * muplusNumber
MonitorElement * nueNumber
MonitorElement * stableChaNumber
MonitorElement * nutaubarMomentum
MonitorElement * DplusNumber
MonitorElement * stablePtclNumber
MonitorElement * bbarNumber
MonitorElement * sMomentum
MonitorElement * BzeroNumber
MonitorElement * piminusNumber
MonitorElement * uMomentum
Momentum ME's.
MonitorElement * tMomentum
MonitorElement * KszeroMomentum
MonitorElement * numuMomentum
MonitorElement * genPtclNumber
other ME's
edm::InputTag hepmcCollection_
MonitorElement * nutaubarNumber
MonitorElement * gluNumber
MonitorElement * outVrtxStablePtclNumber
MonitorElement * KszeroNumber
MonitorElement * piminusMomentum
MonitorElement * numuNumber
MonitorElement * l0barMomentum
MonitorElement * DzeroMomentum
MonitorElement * DplusMomentum
MonitorElement * WminusNumber
MonitorElement * nutauMomentum
MonitorElement * nutauNumber
MonitorElement * ubarNumber
MonitorElement * bMomentum
void setCurrentFolder(const std::string &fullpath)
MonitorElement * l0Momentum
MonitorElement * BminusMomentum