diff --git a/Validation/EventGenerator/BuildFile.xml b/Validation/EventGenerator/BuildFile.xml index e412df47e0552..1ffa679aa4e54 100644 --- a/Validation/EventGenerator/BuildFile.xml +++ b/Validation/EventGenerator/BuildFile.xml @@ -2,7 +2,6 @@ - diff --git a/Validation/EventGenerator/interface/BPhysicsSpectrum.h b/Validation/EventGenerator/interface/BPhysicsSpectrum.h new file mode 100644 index 0000000000000..eee664c80b64c --- /dev/null +++ b/Validation/EventGenerator/interface/BPhysicsSpectrum.h @@ -0,0 +1,55 @@ +#ifndef BPhysicsSpectrum_H +#define BPhysicsSpectrum_H + +/*class BPhysicsSpectrum + * + * Class to fill Event Generator dqm monitor elements; works on HepMCProduct + * + * + */ +#include +#include "TMath.h" +// framework & common header files + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/Run.h" + +#include "DataFormats/Common/interface/Handle.h" +#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/Utilities/interface/InputTag.h" + +//DQM services +#include "DQMServices/Core/interface/DQMStore.h" +#include "FWCore/ServiceRegistry/interface/Service.h" +#include "DQMServices/Core/interface/MonitorElement.h" +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" + +#include "DataFormats/HepMCCandidate/interface/GenParticle.h" +#include "DataFormats/HepMCCandidate/interface/GenParticle.h" +#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" + +#include "Validation/EventGenerator/interface/DQMHelper.h" + + + +class BPhysicsSpectrum : public DQMEDAnalyzer { + public: + explicit BPhysicsSpectrum(const edm::ParameterSet&); + virtual ~BPhysicsSpectrum(); + + virtual void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override; + virtual void dqmBeginRun(const edm::Run& r, const edm::EventSetup& c) override; + virtual void analyze(edm::Event const&, edm::EventSetup const&) override; + + private: + MonitorElement *mass, *Nobj; + edm::InputTag genparticleCollection_; + edm::EDGetTokenT genparticleCollectionToken_; + std::string name; + double mass_min, mass_max; + std::vector Particles; +}; + +#endif diff --git a/Validation/EventGenerator/interface/BPhysicsValidation.h b/Validation/EventGenerator/interface/BPhysicsValidation.h new file mode 100644 index 0000000000000..92efa9f5b60f3 --- /dev/null +++ b/Validation/EventGenerator/interface/BPhysicsValidation.h @@ -0,0 +1,91 @@ +#ifndef BPhysicsValidation_H +#define BPhysicsValidation_H + +/*class BPhysicsValidation + * + * Class to fill Event Generator dqm monitor elements; works on HepMCProduct + * + * + */ +#include +#include "TMath.h" +// framework & common header files + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/Run.h" + +#include "DataFormats/Common/interface/Handle.h" +#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/Utilities/interface/InputTag.h" + +//DQM services +#include "DQMServices/Core/interface/DQMStore.h" +#include "FWCore/ServiceRegistry/interface/Service.h" +#include "DQMServices/Core/interface/MonitorElement.h" +#include "DQMServices/Core/interface/DQMEDAnalyzer.h" + +#include "DataFormats/HepMCCandidate/interface/GenParticle.h" +#include "DataFormats/HepMCCandidate/interface/GenParticle.h" +#include "DataFormats/HepMCCandidate/interface/GenParticleFwd.h" + +#include "Validation/EventGenerator/interface/DQMHelper.h" + + + +class BPhysicsValidation : public DQMEDAnalyzer { + public: + explicit BPhysicsValidation(const edm::ParameterSet&); + virtual ~BPhysicsValidation(); + + virtual void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override; + virtual void dqmBeginRun(const edm::Run& r, const edm::EventSetup& c) override; + virtual void analyze(edm::Event const&, edm::EventSetup const&) override; + + private: + + class ParticleMonitor{ + public: + ParticleMonitor(std::string name_,const edm::ParameterSet &p_):p(p_),name(name_),pdgid(p.getParameter("pdgid")){}; + ~ParticleMonitor(){}; + + void Configure(DQMStore::IBooker &i){ + std::string pname=p.getParameter("pname"); + double mass_min=p.getParameter("massmin"); + double mass_max=p.getParameter("massmax"); + DQMHelper dqm(&i); i.setCurrentFolder("Generator/BPhysics"); + // Number of analyzed events + pt = dqm.book1dHisto(name+"PT", "P_{t} of the "+pname+"s", 100, 0., 100,"P_{t} (GeV)","Number of Events"); + eta = dqm.book1dHisto(name+"ETA", "#eta of the "+pname+"s", 100, -5., 5.,"#eta","Number of Events"); + phi = dqm.book1dHisto(name+"PHI", "#phi of the "+pname+"s", 100, 0, 2*TMath::Pi(),"#phi","Number of Events"); + mass = dqm.book1dHisto(name+"MASS", "Mass of the "+pname+"s", 100, mass_min, mass_max,"Mass (GeV)","Number of Events"); + } + + void Fill(const reco::GenParticle* p, double weight){ + if(abs(p->pdgId())==abs(pdgid)){ + pt->Fill(p->pt(),weight); + eta->Fill(p->eta(),weight); + phi->Fill(p->phi(),weight); + mass->Fill(p->mass(),weight); + } + } + int PDGID(){return pdgid;} + + private: + const edm::ParameterSet p; + std::string name; + int pdgid; + MonitorElement *pt, *eta, *phi, *mass; + }; + + void FillDaughters(const reco::GenParticle* p); + edm::InputTag genparticleCollection_; + edm::EDGetTokenT genparticleCollectionToken_; + std::string name; + ParticleMonitor particle; + std::vector daughters; + MonitorElement *Nobj; +}; + +#endif diff --git a/Validation/EventGenerator/interface/BasicHepMCValidation.h b/Validation/EventGenerator/interface/BasicHepMCValidation.h index 96179b0952cfd..5c3d889652d7d 100644 --- a/Validation/EventGenerator/interface/BasicHepMCValidation.h +++ b/Validation/EventGenerator/interface/BasicHepMCValidation.h @@ -23,12 +23,14 @@ #include "FWCore/ServiceRegistry/interface/Service.h" #include "DQMServices/Core/interface/MonitorElement.h" #include "DQMServices/Core/interface/DQMEDAnalyzer.h" +#include "Validation/EventGenerator/interface/DQMHelper.h" #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" #include "SimGeneral/HepPDTRecord/interface/ParticleDataTable.h" #include "Validation/EventGenerator/interface/WeightManager.h" +#include "TVector3.h" class BasicHepMCValidation : public DQMEDAnalyzer{ public: @@ -43,77 +45,148 @@ class BasicHepMCValidation : public DQMEDAnalyzer{ WeightManager wmanager_; edm::InputTag hepmcCollection_; - /// PDT table - edm::ESHandle fPDGTable ; + /// PDT table + edm::ESHandle fPDGTable ; + + + class ParticleMonitor{ + public: + ParticleMonitor(std::string name_,int pdgid_, DQMStore::IBooker &i,bool nlog_=false):name(name_),pdgid(pdgid_),count(0),nlog(nlog_){ + DQMHelper dqm(&i); + // Number of analyzed events + if(!nlog){ + numberPerEvent= dqm.book1dHisto(name+"Number", "Number of "+name+"'s per event", + 20, 0, 20,"No. of "+name,"Number of Events"); + } + else{ + numberPerEvent= dqm.book1dHisto(name+"Number", "Number of "+name+"'s per event", + 20, 0, 20,"log_{10}(No. of "+name+")","Number of Events"); + } + p_init = dqm.book1dHisto(name+"Momentum", "log_{10}(P) of the "+name+"s", + 60, -2, 4,"log_{10}(P) (log_{10}(GeV))","Number of "+name ); + eta_init = dqm.book1dHisto(name+"Eta", "#eta of the "+name+"s", + 100, -5., 5.,"#eta","Number of "+name); - MonitorElement* nEvt; - - ///multiplicity ME's - MonitorElement *uNumber, *dNumber, *sNumber, *cNumber, *bNumber, *tNumber; - MonitorElement *ubarNumber, *dbarNumber, *sbarNumber, *cbarNumber, *bbarNumber, *tbarNumber; - // - MonitorElement *eminusNumber, *nueNumber, *muminusNumber, *numuNumber, *tauminusNumber, *nutauNumber; - MonitorElement *eplusNumber, *nuebarNumber, *muplusNumber, *numubarNumber, *tauplusNumber, *nutaubarNumber; - // - MonitorElement *gluNumber, *WplusNumber,*WminusNumber, *ZNumber, *gammaNumber; - // - MonitorElement *piplusNumber, *piminusNumber, *pizeroNumber, *KplusNumber, *KminusNumber, *KlzeroNumber, *KszeroNumber; - MonitorElement *pNumber, *pbarNumber, *nNumber, *nbarNumber, *l0Number, *l0barNumber; - // - MonitorElement *DplusNumber, *DminusNumber, *DzeroNumber, *BplusNumber, *BminusNumber, *BzeroNumber, *BszeroNumber; - // - MonitorElement *otherPtclNumber; + lifetime_init = dqm.book1dHisto(name+"LifeTime", "#phi of the "+name+"s", + 100, -15, -5,"Log_{10}(life-time^{final}) (log_{10}(s))","Number of "+name); - ///Momentum ME's - MonitorElement *uMomentum, *dMomentum, *sMomentum, *cMomentum, *bMomentum, *tMomentum; - MonitorElement *ubarMomentum, *dbarMomentum, *sbarMomentum, *cbarMomentum, *bbarMomentum, *tbarMomentum; - // - MonitorElement *eminusMomentum, *nueMomentum, *muminusMomentum, *numuMomentum, *tauminusMomentum, *nutauMomentum; - MonitorElement *eplusMomentum, *nuebarMomentum, *muplusMomentum, *numubarMomentum, *tauplusMomentum, *nutaubarMomentum; - // - MonitorElement *gluMomentum, *WplusMomentum,*WminusMomentum, *ZMomentum, *gammaMomentum; - // - MonitorElement *piplusMomentum, *piminusMomentum, *pizeroMomentum, *KplusMomentum, *KminusMomentum, *KlzeroMomentum, *KszeroMomentum; - // - MonitorElement *pMomentum, *pbarMomentum, *nMomentum, *nbarMomentum, *l0Momentum, *l0barMomentum; - // - MonitorElement *DplusMomentum, *DminusMomentum, *DzeroMomentum, *BplusMomentum, *BminusMomentum, *BzeroMomentum, *BszeroMomentum; - // - MonitorElement *otherPtclMomentum; - - ///other ME's - MonitorElement *genPtclNumber; - MonitorElement *genVrtxNumber; - MonitorElement *unknownPDTNumber; - MonitorElement *outVrtxPtclNumber; + p_final = dqm.book1dHisto(name+"MomentumFinal", "log_{10}(P^{final}) of "+name+"s at end of decay chain", + 60, -2, 4,"log_{10}(P^{final}) (log_{10}(GeV))","Number of "+name); + + lifetime_final=dqm.book1dHisto(name+"LifeTimeFinal", "Log_{10}(life-time^{final}) of "+name+"s at end of decay chain", + 100,-15,-5,"Log_{10}(life-time^{final}) (log_{10}(s))","Number of "+name); + } + + ~ParticleMonitor(){}; + + bool Fill(const HepMC::GenParticle* p, double weight){ + if(p->pdg_id()==pdgid){ + if(isFirst(p)){ + p_init->Fill(log10(p->momentum().rho()),weight); + eta_init->Fill(p->momentum().eta(),weight); + const HepMC::GenParticle* pf=GetFinal(p); // inlcude mixing + p_final->Fill(log10(pf->momentum().rho()),weight); + // compute lifetime... + if(p->production_vertex() && p->end_vertex()){ + TVector3 PV(p->production_vertex()->point3d().x(),p->production_vertex()->point3d().y(),p->production_vertex()->point3d().z()); + TVector3 SV(p->end_vertex()->point3d().x(),p->end_vertex()->point3d().y(),p->end_vertex()->point3d().z()); + TVector3 DL=SV-PV; + double c(2.99792458E8),Ltau(DL.Mag()/100)/*cm->m*/,beta(p->momentum().rho()/p->momentum().m()); + double lt=Ltau/(c*beta); + if(lt>1E-16)lifetime_init->Fill(log10(lt),weight); + if(pf->end_vertex()){ + TVector3 SVf(pf->end_vertex()->point3d().x(),pf->end_vertex()->point3d().y(),pf->end_vertex()->point3d().z()); + DL=SVf-PV; + Ltau=DL.Mag()/100; + lt=Ltau/(c*beta); + if(lt>1E-16)lifetime_final->Fill(log10(lt),weight); + } + } + count++; + } + return true; + } + return false; + } + + void FillCount(double weight){ + if(nlog) numberPerEvent->Fill(log10(count),weight); + else numberPerEvent->Fill(count,weight); + count=0; + } + + int PDGID(){return pdgid;} + + private: + bool isFirst(const HepMC::GenParticle* p){ + if(p->production_vertex()){ + for(HepMC::GenVertex::particles_in_const_iterator m=p->production_vertex()->particles_in_const_begin(); m!=p->production_vertex()->particles_in_const_end();m++){ + if(abs((*m)->pdg_id())==abs(p->pdg_id())) return false; + } + } + return true; + } + + const HepMC::GenParticle* GetFinal(const HepMC::GenParticle* p){ // includes mixing + if(p->end_vertex()){ + if(p->end_vertex()->particles_out_size()!=0){ + for(HepMC::GenVertex::particles_out_const_iterator d=p->end_vertex()->particles_out_const_begin(); d!=p->end_vertex()->particles_out_const_end();d++){ + if(abs((*d)->pdg_id())==abs(p->pdg_id())){ + return GetFinal(*d); + } + } + } + } + return p; + } + + std::string name; + int pdgid; + unsigned int count; + bool nlog; + MonitorElement *p_init, *p_final, *eta_init, *lifetime_init, *lifetime_final, *numberPerEvent; + }; + + + MonitorElement* nEvt; + std::vector particles; + + ///other ME's + MonitorElement *otherPtclNumber; + MonitorElement *otherPtclMomentum; + MonitorElement *genPtclNumber; + MonitorElement *genVrtxNumber; + MonitorElement *unknownPDTNumber; + MonitorElement *outVrtxPtclNumber; MonitorElement *genPtclStatus; // - MonitorElement *stablePtclNumber; - MonitorElement *stableChaNumber; - MonitorElement *stablePtclPhi; - MonitorElement *stablePtclEta; - MonitorElement *stablePtclCharge; - MonitorElement *stablePtclp; - MonitorElement *stablePtclpT; - MonitorElement *partonNumber; - MonitorElement *partonpT; - MonitorElement *outVrtxStablePtclNumber; - // - MonitorElement *vrtxZ; - MonitorElement *vrtxRadius; - // - MonitorElement *Bjorken_x; - + MonitorElement *stablePtclNumber; + MonitorElement *stableChaNumber; + MonitorElement *stablePtclPhi; + MonitorElement *stablePtclEta; + MonitorElement *stablePtclCharge; + MonitorElement *stablePtclp; + MonitorElement *stablePtclpT; + MonitorElement *partonNumber; + MonitorElement *partonpT; + MonitorElement *outVrtxStablePtclNumber; + // + MonitorElement *vrtxZ; + MonitorElement *vrtxRadius; + // + MonitorElement *Bjorken_x; + MonitorElement *status1ShortLived; - + + MonitorElement *log10DeltaEcms; MonitorElement *DeltaEcms; MonitorElement *DeltaPx; MonitorElement *DeltaPy; MonitorElement *DeltaPz; - + edm::EDGetTokenT hepmcCollectionToken_; - + }; #endif diff --git a/Validation/EventGenerator/interface/DQMHelper.h b/Validation/EventGenerator/interface/DQMHelper.h index 9d6fbcdac4daf..c3b6a9aafaa6e 100644 --- a/Validation/EventGenerator/interface/DQMHelper.h +++ b/Validation/EventGenerator/interface/DQMHelper.h @@ -17,6 +17,9 @@ class DQMHelper{ public: DQMHelper(DQMStore::IBooker *i); virtual ~DQMHelper(); + + MonitorElement* book1dHisto(std::string name,std::string title,int n,double xmin,double xmax,std::string xaxis, std::string yaxis); + MonitorElement* book2dHisto(std::string name,std::string title,int nx,double xmin,double xmax,int ny,double ymin,double ymax,std::string xaxis, std::string yaxis); MonitorElement* book1dHisto(const std::string &name,const std::string &title,int n,double xmin,double xmax); MonitorElement* book2dHisto(const std::string &name,const std::string &title,int nx,double xmin,double xmax,int ny,double ymin,double ymax); diff --git a/Validation/EventGenerator/interface/TauValidation.h b/Validation/EventGenerator/interface/TauValidation.h index 1b8eab6bb15d9..000101d30670e 100644 --- a/Validation/EventGenerator/interface/TauValidation.h +++ b/Validation/EventGenerator/interface/TauValidation.h @@ -23,8 +23,6 @@ #include "SimGeneral/HepPDTRecord/interface/ParticleDataTable.h" #include "TLorentzVector.h" -//#include "Validation/EventGenerator/interface/WeightManager.h" - class TauValidation : public DQMEDAnalyzer { public: diff --git a/Validation/EventGenerator/plugins/BPhysicsSpectrum.cc b/Validation/EventGenerator/plugins/BPhysicsSpectrum.cc new file mode 100644 index 0000000000000..70bc5fa43d9e3 --- /dev/null +++ b/Validation/EventGenerator/plugins/BPhysicsSpectrum.cc @@ -0,0 +1,46 @@ +/////////////////////////////////////// +// +// class Validation: Class to fill dqm monitor elements from existing EDM file +// +/////////////////////////////////////// + +#include "Validation/EventGenerator/interface/BPhysicsSpectrum.h" + +#include "FWCore/Framework/interface/MakerMacros.h" + +using namespace edm; + +BPhysicsSpectrum::BPhysicsSpectrum(const edm::ParameterSet& iPSet): + genparticleCollection_(iPSet.getParameter("genparticleCollection")), + // do not include weights right now to allow for running on aod + name(iPSet.getParameter< std::string>("name")), + mass_min(iPSet.getParameter("massmin")), + mass_max(iPSet.getParameter("massmax")) +{ + genparticleCollectionToken_=consumes(genparticleCollection_); + Particles = iPSet.getParameter >("pdgids"); +} + +BPhysicsSpectrum::~BPhysicsSpectrum(){} + +void BPhysicsSpectrum::dqmBeginRun(const edm::Run& r, const edm::EventSetup& c) {} + +void BPhysicsSpectrum::bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &){ + DQMHelper dqm(&i); i.setCurrentFolder("Generator/BPhysics"); + Nobj = dqm.book1dHisto("NSpectrum"+name, "NSpectrum"+name, 1, 0., 1,"bin","Number of "+name); + mass = dqm.book1dHisto(name+"Mass","Mass Spectrum", 100, mass_min, mass_max,"Mass (GeV)","Number of Events"); +} + +void BPhysicsSpectrum::analyze(const edm::Event& iEvent,const edm::EventSetup& iSetup){ + edm::Handle genParticles; + iEvent.getByToken(genparticleCollectionToken_, genParticles ); + for (reco::GenParticleCollection::const_iterator iter = genParticles->begin(); iter != genParticles->end(); ++iter) { + for(unsigned int i=0;ipdgId())==abs(Particles[i])){ + Nobj->Fill(0.5,1.0); + mass->Fill(iter->mass(),1.0); + } + } + } +} + diff --git a/Validation/EventGenerator/plugins/BPhysicsValidation.cc b/Validation/EventGenerator/plugins/BPhysicsValidation.cc new file mode 100644 index 0000000000000..acba2a7a6a0b9 --- /dev/null +++ b/Validation/EventGenerator/plugins/BPhysicsValidation.cc @@ -0,0 +1,63 @@ +/////////////////////////////////////// +// +// class Validation: Class to fill dqm monitor elements from existing EDM file +// +/////////////////////////////////////// + +#include "Validation/EventGenerator/interface/BPhysicsValidation.h" + +#include "FWCore/Framework/interface/MakerMacros.h" + +using namespace edm; + +BPhysicsValidation::BPhysicsValidation(const edm::ParameterSet& iPSet): + genparticleCollection_(iPSet.getParameter("genparticleCollection")), + // do not include weights right now to allow for running on aod + name(iPSet.getParameter< std::string>("name")), + particle(name,iPSet) +{ + genparticleCollectionToken_=consumes(genparticleCollection_); + std::vector daughterNames = iPSet.getParameter< std::vector >("daughters"); + for (unsigned int i=0; i(curSet))); + } +} + +BPhysicsValidation::~BPhysicsValidation(){} + +void BPhysicsValidation::dqmBeginRun(const edm::Run& r, const edm::EventSetup& c) {} + +void BPhysicsValidation::bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &){ + DQMHelper dqm(&i); i.setCurrentFolder("Generator/BPhysics"); + Nobj = dqm.book1dHisto("N"+name, "N"+name, 1, 0., 1,"bin","Number of "+name); + particle.Configure(i); + for(unsigned int j=0;j genParticles; + iEvent.getByToken(genparticleCollectionToken_, genParticles ); + for (reco::GenParticleCollection::const_iterator iter = genParticles->begin(); iter != genParticles->end(); ++iter) { + if(abs(iter->pdgId())==abs(particle.PDGID())){ + Nobj->Fill(0.5, 1.0); + particle.Fill(&(*iter), 1.0); + FillDaughters(&(*iter)); + } + } +} + +void BPhysicsValidation::FillDaughters(const reco::GenParticle* p){ + int mpdgid=p->pdgId(); + for(unsigned int i = 0; i numberOfDaughters(); i++){ + const reco::GenParticle *dau=static_cast(p->daughter(i)); + int pdgid = dau->pdgId(); + for(unsigned int i=0;i1GeV}","Number of Events"); + genJetPto10 = dqm.book1dHisto("genJetPto10", "GenJet multiplicity above 10 GeV", 50, 0, 50,"N_{gen-jets P_{t}>10GeV}","Number of Events"); + genJetPto100 = dqm.book1dHisto("genJetPto100", "GenJet multiplicity above 100 GeV", 50, 0, 50,"N_{gen-jets P_{t}>100GeV}","Number of Events"); + genJetCentral = dqm.book1dHisto("genJetCentral", "GenJet multiplicity |eta|.lt.2.5", 50, 0, 50,"N_{gen-jets |#eta|#leq2.5}","Number of Events"); + + genJetTotPt = dqm.book1dHisto("genJetTotPt", "Log10(GenJet total pt)", 100, -5, 5,"log_{10}(#SigmaP_{t}^{gen-jets}) (log_{10}(GeV))","Number of Events"); + return; } diff --git a/Validation/EventGenerator/plugins/BasicHepMCHeavyIonValidation.cc b/Validation/EventGenerator/plugins/BasicHepMCHeavyIonValidation.cc index 13b4fb884c0e4..129a4bf6a1771 100644 --- a/Validation/EventGenerator/plugins/BasicHepMCHeavyIonValidation.cc +++ b/Validation/EventGenerator/plugins/BasicHepMCHeavyIonValidation.cc @@ -29,22 +29,22 @@ void BasicHepMCHeavyIonValidation::bookHistograms(DQMStore::IBooker &i, edm::Run DQMHelper dqm(&i); i.setCurrentFolder("Generator/HeavyIon"); // Number of analyzed events - nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.); + nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.,"","Number of Events"); ///Booking the ME's - Ncoll_hard = dqm.book1dHisto("Ncoll_hard", "Ncoll_hard", 700, 0, 700); - Npart_proj = dqm.book1dHisto("Npart_proj", "Npart_proj", 250, 0, 250); - Npart_targ = dqm.book1dHisto("Npart_targ", "Npart_targ", 250, 0, 250); - Ncoll = dqm.book1dHisto("Ncoll", "Ncoll", 700, 0, 700); - N_Nwounded_collisions = dqm.book1dHisto("N_Nwounded_collisions", "N_Nwounded_collisions", 250, 0, 250); - Nwounded_N_collisions = dqm.book1dHisto("Nwounded_N_collisions", "Nwounded_N_collisions", 250, 0, 250); - Nwounded_Nwounded_collisions = dqm.book1dHisto("Nwounded_Nwounded_collisions", "Nwounded_Nwounded_collisions", 250, 0, 250); - spectator_neutrons = dqm.book1dHisto("spectator_neutrons", "spectator_neutrons", 250, 0, 250); - spectator_protons = dqm.book1dHisto("spectator_protons", "spectator_protons", 250, 0, 250); - impact_parameter = dqm.book1dHisto("impact_parameter", "impact_parameter", 50, 0, 50); - event_plane_angle = dqm.book1dHisto("event_plane_angle", "event_plane_angle", 200, -CLHEP::pi, CLHEP::pi); - eccentricity = dqm.book1dHisto("eccentricity", "eccentricity", 200, 0, 1.0); - sigma_inel_NN = dqm.book1dHisto("sigma_inel_NN", "sigma_inel_NN", 200, 0, 10.0); + Ncoll_hard = dqm.book1dHisto("Ncoll_hard", "Ncoll_hard", 700, 0, 700,"Number of hard scatterings","Number of Events"); + Npart_proj = dqm.book1dHisto("Npart_proj", "Npart_proj", 250, 0, 250,"Number of projectile participants","Number of Events"); + Npart_targ = dqm.book1dHisto("Npart_targ", "Npart_targ", 250, 0, 250,"Number of target participants","Number of Events"); + Ncoll = dqm.book1dHisto("Ncoll", "Ncoll", 700, 0, 700,"Number of N-N collisions","Number of Events"); + N_Nwounded_collisions = dqm.book1dHisto("N_Nwounded_collisions", "N_Nwounded_collisions", 250, 0, 250,"Number of N-N wounded collisions","Number of Events"); + Nwounded_N_collisions = dqm.book1dHisto("Nwounded_N_collisions", "Nwounded_N_collisions", 250, 0, 250,"Number of N wounded-N collisions","Number of Events"); + Nwounded_Nwounded_collisions = dqm.book1dHisto("Nwounded_Nwounded_collisions", "Nwounded_Nwounded_collisions", 250, 0, 250,"Number of N wounded-N wounded collisions","Number of Events"); + spectator_neutrons = dqm.book1dHisto("spectator_neutrons", "spectator_neutrons", 250, 0, 250,"Number of spectator neutrons","Number of Events"); + spectator_protons = dqm.book1dHisto("spectator_protons", "spectator_protons", 250, 0, 250,"Number of spectator protons","Number of Events"); + impact_parameter = dqm.book1dHisto("impact_parameter", "impact_parameter", 50, 0, 50,"Empact parameter of collision (fm)","Number of Events"); + event_plane_angle = dqm.book1dHisto("event_plane_angle", "event_plane_angle", 200, 0, 2*CLHEP::pi,"#phi_{event plane} (rad)","Number of Events"); + eccentricity = dqm.book1dHisto("eccentricity", "eccentricity", 200, 0, 1.0,"Eccentricity","Number of Events"); + sigma_inel_NN = dqm.book1dHisto("sigma_inel_NN", "sigma_inel_NN", 200, 0, 10.0,"#sigma{nucleon-nucleon inelastic cross-section}","Number of Events"); return; } diff --git a/Validation/EventGenerator/plugins/BasicHepMCValidation.cc b/Validation/EventGenerator/plugins/BasicHepMCValidation.cc index ee3ed82a31560..e4a2ee23e98e0 100644 --- a/Validation/EventGenerator/plugins/BasicHepMCValidation.cc +++ b/Validation/EventGenerator/plugins/BasicHepMCValidation.cc @@ -25,199 +25,134 @@ void BasicHepMCValidation::dqmBeginRun(const edm::Run& r, const edm::EventSetup& } void BasicHepMCValidation::bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &){ + ///Setting the DQM top directories + DQMHelper dqm(&i); i.setCurrentFolder("Generator/Particles"); + + // Number of analyzed events + nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.); + + ///Booking the ME's + ///multiplicity + // quarks + particles.push_back(ParticleMonitor("u",1,i)); + particles.push_back(ParticleMonitor("ubar",-1,i)); + particles.push_back(ParticleMonitor("d",2,i)); + particles.push_back(ParticleMonitor("dbar",-2,i)); + particles.push_back(ParticleMonitor("s",3,i)); + particles.push_back(ParticleMonitor("sbar",-3,i)); + particles.push_back(ParticleMonitor("c",4,i)); + particles.push_back(ParticleMonitor("cbar",-4,i)); + particles.push_back(ParticleMonitor("b",5,i)); + particles.push_back(ParticleMonitor("bbar",-5,i)); + particles.push_back(ParticleMonitor("t",6,i)); + particles.push_back(ParticleMonitor("tbar",-6,i)); + + //leptons + particles.push_back(ParticleMonitor("eminus",11,i)); + particles.push_back(ParticleMonitor("eplus",-11,i)); + particles.push_back(ParticleMonitor("nue",12,i)); + particles.push_back(ParticleMonitor("nuebar",-12,i)); + particles.push_back(ParticleMonitor("muminus",13,i)); + particles.push_back(ParticleMonitor("muplus",-13,i)); + particles.push_back(ParticleMonitor("numu",14,i)); + particles.push_back(ParticleMonitor("numubar",-14,i)); + particles.push_back(ParticleMonitor("tauminus",15,i)); + particles.push_back(ParticleMonitor("tauplus",-15,i)); + particles.push_back(ParticleMonitor("nutau",16,i)); + particles.push_back(ParticleMonitor("nutaubar",-16,i)); + + //bosons + particles.push_back(ParticleMonitor("Wplus",24,i)); + particles.push_back(ParticleMonitor("Wminus",-24,i)); + particles.push_back(ParticleMonitor("Z",23,i)); + particles.push_back(ParticleMonitor("gamma",22,i)); + particles.push_back(ParticleMonitor("gluon",21,i)); + + //mesons + particles.push_back(ParticleMonitor("piplus",211,i,true)); //log + particles.push_back(ParticleMonitor("piminus",-211,i,true)); //log + particles.push_back(ParticleMonitor("pizero",111,i,true)); //log + particles.push_back(ParticleMonitor("Kplus",321,i)); + particles.push_back(ParticleMonitor("Kminus",-321,i)); + particles.push_back(ParticleMonitor("Klzero",130,i)); + particles.push_back(ParticleMonitor("Kszero",310,i)); + + //baryons + particles.push_back(ParticleMonitor("p",2212,i,true)); //log + particles.push_back(ParticleMonitor("pbar",-2212,i,true)); //log + particles.push_back(ParticleMonitor("n",2112,i,true)); //log + particles.push_back(ParticleMonitor("nbar",-2112,i,true)); //log + particles.push_back(ParticleMonitor("lambda0",3122,i)); + particles.push_back(ParticleMonitor("lambda0bar",-3122,i)); + + //D mesons + particles.push_back(ParticleMonitor("Dplus",411,i)); + particles.push_back(ParticleMonitor("Dminus",-411,i)); + particles.push_back(ParticleMonitor("Dzero",421,i)); + particles.push_back(ParticleMonitor("Dzerobar",-421,i)); + + //B mesons + particles.push_back(ParticleMonitor("Bplus",521,i)); + particles.push_back(ParticleMonitor("Bminus",-521,i)); + particles.push_back(ParticleMonitor("Bzero",511,i)); + particles.push_back(ParticleMonitor("Bzerobar",-511,i)); + particles.push_back(ParticleMonitor("Bszero",531,i)); + particles.push_back(ParticleMonitor("Bszerobar",-531,i)); - ///Setting the DQM top directories - DQMHelper dqm(&i); i.setCurrentFolder("Generator/Particles"); - - // Number of analyzed events - nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.); - - ///Booking the ME's - ///multiplicity - uNumber = dqm.book1dHisto("uNumber", "No. u", 20, 0, 20); - dNumber = dqm.book1dHisto("dNumber", "No. d", 20, 0, 20); - sNumber = dqm.book1dHisto("sNumber", "No. s", 20, 0, 20); - cNumber = dqm.book1dHisto("cNumber", "No. c", 20, 0, 20); - bNumber = dqm.book1dHisto("bNumber", "No. b", 20, 0, 20); - tNumber = dqm.book1dHisto("tNumber", "No. t", 20, 0, 20); - // - ubarNumber = dqm.book1dHisto("ubarNumber", "No. ubar", 20, 0, 20); - dbarNumber = dqm.book1dHisto("dbarNumber", "No. dbar", 20, 0, 20); - sbarNumber = dqm.book1dHisto("sbarNumber", "No. sbar", 20, 0, 20); - cbarNumber = dqm.book1dHisto("cbarNumber", "No. cbar", 20, 0, 20); - bbarNumber = dqm.book1dHisto("bbarNumber", "No. bbar", 20, 0, 20); - tbarNumber = dqm.book1dHisto("tbarNumber", "No. tbar", 20, 0, 20); - // - eminusNumber = dqm.book1dHisto("eminusNumber", "No. e-", 20, 0, 20); - nueNumber = dqm.book1dHisto("nueNumber", "No. nu_e", 20, 0, 20); - muminusNumber = dqm.book1dHisto("muminusNumber", "No. mu-", 20, 0, 20); - numuNumber = dqm.book1dHisto("numuNumber", "No. nu_mu", 20, 0, 20); - tauminusNumber = dqm.book1dHisto("tauminusNumber", "No. tau-", 20, 0, 20); - nutauNumber = dqm.book1dHisto("nutauNumber", "No. nu_tau", 20, 0, 20); - // - eplusNumber = dqm.book1dHisto("eplusNumber", "No. e+", 20, 0, 20); - nuebarNumber = dqm.book1dHisto("nuebarNumber", "No. nu_e_bar", 20, 0, 20); - muplusNumber = dqm.book1dHisto("muplusNumber", "No. mu+", 20, 0, 20); - numubarNumber = dqm.book1dHisto("numubarNumber", "No. nu_mu_bar", 20, 0, 20); - tauplusNumber = dqm.book1dHisto("tauplusNumber", "No. tau+", 20, 0, 20); - nutaubarNumber = dqm.book1dHisto("nutaubarNumber", "No. nu_tau_bar", 20, 0, 20); - // - WplusNumber = dqm.book1dHisto("WplusNumber", "No. W+", 20, 0, 20); - WminusNumber = dqm.book1dHisto("WminusNumber", "No. W-", 20, 0, 20); - ZNumber = dqm.book1dHisto("ZNumber", "No. Z", 20, 0, 20); - gammaNumber = dqm.book1dHisto("gammaNumber", "Log10(No. gamma)", 60, -1, 5); //Log - gluNumber = dqm.book1dHisto("gluonNumber", "Log10(No. gluons)", 60, -1, 5); //Log - // - piplusNumber = dqm.book1dHisto("piplusNumber", "Log10(No. pi+)", 60, -1, 5); //Log - piminusNumber = dqm.book1dHisto("piminusNumber", "Log10(No. pi-)", 60, -1, 5); //Log - pizeroNumber = dqm.book1dHisto("pizeroNumber", "Log10(No. pi_0)", 60, -1, 5); //Log - KplusNumber = dqm.book1dHisto("KplusNumber", "No. K+", 100, 0, 100); - KminusNumber = dqm.book1dHisto("KminusNumber", "No. K-", 100, 0, 100); - KlzeroNumber = dqm.book1dHisto("KlzeroNumber", "No. K_l^0", 100, 0, 100); - KszeroNumber = dqm.book1dHisto("KszeroNumber", "No. K_s^0", 100, 0, 100); - // - pNumber = dqm.book1dHisto("pNumber", "No. p", 100, 0, 100); - pbarNumber = dqm.book1dHisto("pbarNumber", "No. pbar", 100, 0, 100); - nNumber = dqm.book1dHisto("nNumber", "No. n", 100, 0, 100); - nbarNumber = dqm.book1dHisto("nbarNumber", "No. nbar", 100, 0, 100); - l0Number = dqm.book1dHisto("l0Number", "No. Lambda0", 100, 0, 100); - l0barNumber = dqm.book1dHisto("l0barNumber", "No. Lambda0bar", 100, 0, 100); - // - DplusNumber = dqm.book1dHisto("DplusNumber", "No. D+", 20, 0, 20); - DminusNumber = dqm.book1dHisto("DminusNumber", "No. D-", 20, 0, 20); - DzeroNumber = dqm.book1dHisto("DzeroNumber", "No. D^0", 20, 0, 20); - // - BplusNumber = dqm.book1dHisto("BplusNumber", "No. B+", 20, 0, 20); - BminusNumber = dqm.book1dHisto("BminusNumber", "No. B-", 20, 0, 20); - BzeroNumber = dqm.book1dHisto("BzeroNumber", "No. B^0", 20, 0, 20); - BszeroNumber = dqm.book1dHisto("BszeroNumber", "No. B^0_s", 20, 0, 20); - // - otherPtclNumber = dqm.book1dHisto("otherPtclNumber", "Log10(No. other ptcls)", 60, -1, 5); //Log - - //Momentum - uMomentum = dqm.book1dHisto("uMomentum", "Log10(p) u", 60, -2, 4); - dMomentum = dqm.book1dHisto("dMomentum", "Log10(p) d", 60, -2, 4); - sMomentum = dqm.book1dHisto("sMomentum", "Log10(p) s", 60, -2, 4); - cMomentum = dqm.book1dHisto("cMomentum", "Log10(p) c", 60, -2, 4); - bMomentum = dqm.book1dHisto("bMomentum", "Log10(p) b", 60, -2, 4); - tMomentum = dqm.book1dHisto("tMomentum", "Log10(p) t", 60, -2, 4); - // - ubarMomentum = dqm.book1dHisto("ubarMomentum", "Log10(p) ubar", 60, -2, 4); - dbarMomentum = dqm.book1dHisto("dbarMomentum", "Log10(p) dbar", 60, -2, 4); - sbarMomentum = dqm.book1dHisto("sbarMomentum", "Log10(p) sbar", 60, -2, 4); - cbarMomentum = dqm.book1dHisto("cbarMomentum", "Log10(p) cbar", 60, -2, 4); - bbarMomentum = dqm.book1dHisto("bbarMomentum", "Log10(p) bbar", 60, -2, 4); - tbarMomentum = dqm.book1dHisto("tbarMomentum", "Log10(p) tbar", 60, -2, 4); - // - eminusMomentum = dqm.book1dHisto("eminusMomentum", "Log10(p) e-", 60, -2, 4); - nueMomentum = dqm.book1dHisto("nueMomentum", "Log10(Momentum) nue", 60, -2, 4); - muminusMomentum = dqm.book1dHisto("muminusMomentum", "Log10(p) mu-", 60, -2, 4); - numuMomentum = dqm.book1dHisto("numuMomentum", "Log10(p) numu", 60, -2, 4); - tauminusMomentum = dqm.book1dHisto("tauminusMomentum", "Log10(p) tau-", 60, -2, 4); - nutauMomentum = dqm.book1dHisto("nutauMomentum", "Log10(p) nutau", 60, -2, 4); - // - eplusMomentum = dqm.book1dHisto("eplusMomentum", "Log10(p) e+", 60, -2, 4); - nuebarMomentum = dqm.book1dHisto("nuebarMomentum", "Log10(p) nuebar", 60, -2, 4); - muplusMomentum = dqm.book1dHisto("muplusMomentum", "Log10(p) mu+", 60, -2, 4); - numubarMomentum = dqm.book1dHisto("numubarMomentum", "Log10(p) numubar", 60, -2, 4); - tauplusMomentum = dqm.book1dHisto("tauplusMomentum", "Log10(p) tau+", 60, -2, 4); - nutaubarMomentum = dqm.book1dHisto("nutaubarMomentum", "Log10(p) nutaubar", 60, -2, 4); - // - gluMomentum = dqm.book1dHisto("gluonMomentum", "Log10(p) gluons", 70, -3, 4); - WplusMomentum = dqm.book1dHisto("WplusMomentum", "Log10(p) W+", 60, -2, 4); - WminusMomentum = dqm.book1dHisto("WminusMomentum", "Log10(p) W-", 60, -2, 4); - ZMomentum = dqm.book1dHisto("ZMomentum", "Log10(p) Z", 60, -2, 4); - gammaMomentum = dqm.book1dHisto("gammaMomentum", "Log10(p) gamma", 70, -3, 4); - // - piplusMomentum = dqm.book1dHisto("piplusMomentum", "Log10(p) pi+", 60, -2, 4); - piminusMomentum = dqm.book1dHisto("piminusMomentum", "Log10(p) pi-", 60, -2, 4); - pizeroMomentum = dqm.book1dHisto("pizeroMomentum", "Log10(p) pi_0", 60, -2, 4); - KplusMomentum = dqm.book1dHisto("KplusMomentum", "Log10(p) K+", 60, -2, 4); - KminusMomentum = dqm.book1dHisto("KminusMomentum", "Log10(p) K-", 60, -2, 4); - KlzeroMomentum = dqm.book1dHisto("KlzeroMomentum", "Log10(p) K_l^0", 60, -2, 4); - KszeroMomentum = dqm.book1dHisto("KszeroMomentum", "Log10(p) K_s^0", 60, -2, 4); - // - pMomentum = dqm.book1dHisto("pMomentum", "Log10(p) p", 60, -2, 4); - pbarMomentum = dqm.book1dHisto("pbarMomentum", "Log10(p) pbar", 60, -2, 4); - nMomentum = dqm.book1dHisto("nMomentum", "Log10(p) n", 60, -2, 4); - nbarMomentum = dqm.book1dHisto("nbarMomentum", "Log10(p) nbar", 60, -2, 4); - l0Momentum = dqm.book1dHisto("l0Momentum", "Log10(p) Lambda0", 60, -2, 4); - l0barMomentum = dqm.book1dHisto("l0barMomentum", "Log10(p) Lambda0bar", 60, -2, 4); - // - DplusMomentum = dqm.book1dHisto("DplusMomentum", "Log10(p) D+", 60, -2, 4); - DminusMomentum = dqm.book1dHisto("DminusMomentum", "Log10(p) D-", 60, -2, 4); - DzeroMomentum = dqm.book1dHisto("DzeroMomentum", "Log10(p) D^0", 60, -2, 4); - // - BplusMomentum = dqm.book1dHisto("BplusMomentum", "Log10(p) B+", 60, -2, 4); - BminusMomentum = dqm.book1dHisto("BminusMomentum", "Log10(p) B-", 60, -2, 4); - BzeroMomentum = dqm.book1dHisto("BzeroMomentum", "Log10(p) B^0", 60, -2, 4); - BszeroMomentum = dqm.book1dHisto("BszeroMomentum", "Log10(p) B^0_s", 60, -2, 4); - // - otherPtclMomentum = dqm.book1dHisto("otherPtclMomentum", "Log10(p) other ptcls", 60, -2, 4); - - ///other - genPtclNumber = dqm.book1dHisto("genPtclNumber", "Log10(No. all particles)", 60, -1, 5); //Log - genVrtxNumber = dqm.book1dHisto("genVrtxNumber", "Log10(No. all vertexs)", 60, -1, 5); //Log - // - stablePtclNumber= dqm.book1dHisto("stablePtclNumber", "Log10(No. stable particles)", 50, 0, 5); //Log - stablePtclPhi = dqm.book1dHisto("stablePtclPhi", "stable Ptcl Phi", 360, -180, 180); - stablePtclEta = dqm.book1dHisto("stablePtclEta", "stable Ptcl Eta (pseudo rapidity)", 220, -11, 11); - stablePtclCharge = dqm.book1dHisto("stablePtclCharge", "stablePtclCharge", 5, -2, 2); - stableChaNumber= dqm.book1dHisto("stableChaNumber", "Log10(No. stable charged particles)", 50, 0, 5); //Log - stablePtclp = dqm.book1dHisto("stablePtclp", "Log10(p) stable ptcl p", 80, -4, 4); //Log - stablePtclpT = dqm.book1dHisto("stablePtclpT", "Log10(pT) stable ptcl pT", 80, -4, 4); //Log - partonNumber = dqm.book1dHisto("partonNumber", "number of partons", 100, 0, 100); - partonpT = dqm.book1dHisto("partonpT", "Log10(pT) parton pT", 80, -4, 4); //Log - outVrtxStablePtclNumber = dqm.book1dHisto("outVrtxStablePtclNumber", "No. outgoing stable ptcls from vrtx", 10, 0, 10); - // - outVrtxPtclNumber = dqm.book1dHisto("outVrtxPtclNumber", "No. outgoing ptcls from vrtx", 30, 0, 30); - vrtxZ = dqm.book1dHisto("VrtxZ", "VrtxZ", 50 , -250, 250); - vrtxRadius = dqm.book1dHisto("vrtxRadius", "vrtxRadius", 50, 0, 50); - // - unknownPDTNumber = dqm.book1dHisto("unknownPDTNumber", "Log10(No. unknown ptcls PDT)", 60, -1, 5); //Log - genPtclStatus = dqm.book1dHisto("genPtclStatus", "Status of genParticle", 200,0,200.); - // - Bjorken_x = dqm.book1dHisto("Bjorken_x", "Bjorken_x", 1000, 0.0, 1.0); - // - status1ShortLived = dqm.book1dHisto("status1ShortLived","Status 1 short lived", 11, 0, 11); - status1ShortLived->setBinLabel(1,"d/dbar"); - status1ShortLived->setBinLabel(2,"u/ubar"); - status1ShortLived->setBinLabel(3,"s/sbar"); - status1ShortLived->setBinLabel(4,"c/cbar"); - status1ShortLived->setBinLabel(5,"b/bbar"); - status1ShortLived->setBinLabel(6,"t/tbar"); - status1ShortLived->setBinLabel(7,"g"); - status1ShortLived->setBinLabel(8,"tau-/tau+"); - status1ShortLived->setBinLabel(9,"Z0"); - status1ShortLived->setBinLabel(10,"W-/W+"); - status1ShortLived->setBinLabel(11,"PDG = 7,8,17,25-99"); - - DeltaEcms = dqm.book1dHisto("DeltaEcms1","deviation from nominal Ecms", 200,-1., 1.); - DeltaPx = dqm.book1dHisto("DeltaPx1","deviation from nominal Px", 200,-1., 1.); - DeltaPy = dqm.book1dHisto("DeltaPy1","deviation from nominal Py", 200,-1., 1.); - DeltaPz = dqm.book1dHisto("DeltaPz1","deviation from nominal Pz", 200,-1., 1.); + // + otherPtclNumber = dqm.book1dHisto("otherPtclNumber", "Log10(No. other ptcls)", 60, -1, 5,"log_{10}(No. other ptcls)","Number of Events"); //Log + otherPtclMomentum = dqm.book1dHisto("otherPtclMomentum", "Log10(p) other ptcls", 60, -2, 4,"log10(P^{other ptcls}) (log_{10}(GeV))","Number of Events"); + + ///other + genPtclNumber = dqm.book1dHisto("genPtclNumber", "Log10(No. all particles)", 60, -1, 5,"log10(No. all particles)","Number of Events"); //Log + genVrtxNumber = dqm.book1dHisto("genVrtxNumber", "Log10(No. all vertexs)", 60, -1, 5,"log10(No. all vertexs)","Number of Events"); //Log + // + stablePtclNumber= dqm.book1dHisto("stablePtclNumber", "Log10(No. stable particles)", 50, 0, 5,"log10(No. stable particles)","Number of Events"); //Log + stablePtclPhi = dqm.book1dHisto("stablePtclPhi", "stable Ptcl Phi", 360, -180, 180,"#phi^{stable Ptcl} (rad)","Number of Events"); + stablePtclEta = dqm.book1dHisto("stablePtclEta", "stable Ptcl Eta (pseudo rapidity)", 220, -11, 11,"#eta^{stable Ptcl}","Number of Events"); + stablePtclCharge = dqm.book1dHisto("stablePtclCharge", "stablePtclCharge", 5, -2, 2,"Charge^{stable ptcls}","Number of Events"); + stableChaNumber= dqm.book1dHisto("stableChaNumber", "Log10(No. stable charged particles)", 50, 0, 5,"log_{10}(No. stable charged particles)","Number of Events"); //Log + stablePtclp = dqm.book1dHisto("stablePtclp", "Log10(p) stable ptcl p", 80, -4, 4,"log_{10}(P^{stable ptcl}) (log_{10}(GeV))","Number of Events"); //Log + stablePtclpT = dqm.book1dHisto("stablePtclpT", "Log10(pT) stable ptcl pT", 80, -4, 4,"log_{10}(P_{t}^{stable ptcl}) (log_{10}(GeV))","Number of Events"); //Log + partonNumber = dqm.book1dHisto("partonNumber", "number of partons", 100, 0, 100,"number of partons","Number of Events"); + partonpT = dqm.book1dHisto("partonpT", "Log10(pT) parton pT", 80, -4, 4,"Log10(P_{t}^{parton})","Number of Events"); //Log + outVrtxStablePtclNumber = dqm.book1dHisto("outVrtxStablePtclNumber", "No. outgoing stable ptcls from vrtx", 10, 0, 10,"No. outgoing stable ptcls from vrtx","Number of Events"); + // + outVrtxPtclNumber = dqm.book1dHisto("outVrtxPtclNumber", "No. outgoing ptcls from vrtx", 30, 0, 30,"No. outgoing ptcls from vrtx","Number of Events"); + vrtxZ = dqm.book1dHisto("VrtxZ", "VrtxZ", 50 , -250, 250,"Z_{Vtx}","Number of Events"); + vrtxRadius = dqm.book1dHisto("vrtxRadius", "vrtxRadius", 50, 0, 50,"R_{vtx}","Number of Events"); + // + unknownPDTNumber = dqm.book1dHisto("unknownPDTNumber", "Log10(No. unknown ptcls PDT)", 60, -1, 5,"log_{10}(No. unknown ptcls PDT)","Number of Events"); //Log + genPtclStatus = dqm.book1dHisto("genPtclStatus", "Status of genParticle", 200,0,200.,"","Number of Events"); + // + Bjorken_x = dqm.book1dHisto("Bjorken_x", "Bjorken_x", 1000, 0.0, 1.0,"Bjorken_{x}","Number of Events"); + // + status1ShortLived = dqm.book1dHisto("status1ShortLived","Status 1 short lived", 11, 0, 11,"","Number of Events"); + status1ShortLived->setBinLabel(1,"d/dbar"); + status1ShortLived->setBinLabel(2,"u/ubar"); + status1ShortLived->setBinLabel(3,"s/sbar"); + status1ShortLived->setBinLabel(4,"c/cbar"); + status1ShortLived->setBinLabel(5,"b/bbar"); + status1ShortLived->setBinLabel(6,"t/tbar"); + status1ShortLived->setBinLabel(7,"g"); + status1ShortLived->setBinLabel(8,"tau-/tau+"); + status1ShortLived->setBinLabel(9,"Z0"); + status1ShortLived->setBinLabel(10,"W-/W+"); + status1ShortLived->setBinLabel(11,"PDG = 7,8,17,25-99"); + log10DeltaEcms =dqm.book1dHisto("DeltaEcms1log10","log_{10} of deviation from nominal Ecms", 200,-1., 5.,"log_{10}(#DeltaE) (log_{10}(GeV))","Number of Events"); + DeltaEcms = dqm.book1dHisto("DeltaEcms1","deviation from nominal Ecms", 200,-1., 1.,"#DeltaE (GeV)","Number of Events"); + DeltaPx = dqm.book1dHisto("DeltaPx1","deviation from nominal Px", 200,-1., 1.,"#DeltaP_{x} (GeV)","Number of Events"); + DeltaPy = dqm.book1dHisto("DeltaPy1","deviation from nominal Py", 200,-1., 1.,"#DeltaP_{y} (GeV)","Number of Events"); + DeltaPz = dqm.book1dHisto("DeltaPz1","deviation from nominal Pz", 200,-1., 1.,"#DeltaP_{z} (GeV)","Number of Events"); return; } void BasicHepMCValidation::analyze(const edm::Event& iEvent,const edm::EventSetup& iSetup) { ///counters to zero for every event - int uNum = 0; int dNum = 0; int sNum = 0; int cNum = 0; int bNum = 0; int tNum = 0; - int ubarNum = 0; int dbarNum = 0; int sbarNum = 0; int cbarNum = 0; int bbarNum = 0; int tbarNum = 0; int partonNum = 0; // - int eminusNum = 0; int nueNum = 0; int muminusNum = 0; int numuNum = 0; int tauminusNum = 0; int nutauNum = 0; - int eplusNum = 0; int nuebarNum = 0; int muplusNum = 0; int numubarNum = 0; int tauplusNum = 0; int nutaubarNum = 0; - // - int gluNum = 0; int WplusNum = 0; int WminusNum = 0; int ZNum = 0; int gammaNum = 0; - // - int piplusNum = 0; int piminusNum = 0; int pizeroNum = 0; int KplusNum = 0; int KminusNum = 0; int KlzeroNum = 0; int KszeroNum = 0; - // - int pNum = 0; int pbarNum = 0; int nNum = 0; int nbarNum = 0; int l0Num = 0; int l0barNum = 0; - // - int DplusNum = 0; int DminusNum = 0; int DzeroNum = 0; int BplusNum = 0; int BminusNum = 0; int BzeroNum = 0; int BszeroNum = 0; - // int outVrtxStablePtclNum = 0; int stablePtclNum = 0; int otherPtclNum = 0; int unknownPDTNum = 0; int stableChaNum = 0; // double bjorken = 0.; @@ -244,18 +179,20 @@ void BasicHepMCValidation::analyze(const edm::Event& iEvent,const edm::EventSetu bjorken = ((pdf->x1())/((pdf->x1())+(pdf->x2()))); } Bjorken_x->Fill(bjorken,weight); - //Looping through the VERTICES in the event HepMC::GenEvent::vertex_const_iterator vrtxBegin = myGenEvent->vertices_begin(); HepMC::GenEvent::vertex_const_iterator vrtxEnd = myGenEvent->vertices_end(); + unsigned int nvtx(0); for(HepMC::GenEvent::vertex_const_iterator vrtxIt = vrtxBegin; vrtxIt!=vrtxEnd; ++vrtxIt) { ///Vertices HepMC::GenVertex *vrtx = *vrtxIt; outVrtxPtclNumber->Fill(vrtx->particles_out_size(),weight); //std::cout << "all " << vrtx->particles_out_size() << '\n'; - vrtxZ->Fill(vrtx->point3d().z(),weight); - vrtxRadius->Fill(vrtx->point3d().perp(),weight); - + + if(nvtx==0){ + vrtxZ->Fill(vrtx->point3d().z(),weight); + vrtxRadius->Fill(vrtx->point3d().perp(),weight); + } ///loop on vertex particles HepMC::GenVertex::particles_out_const_iterator vrtxPtclBegin = vrtx->particles_out_const_begin(); HepMC::GenVertex::particles_out_const_iterator vrtxPtclEnd = vrtx->particles_out_const_end(); @@ -268,9 +205,9 @@ void BasicHepMCValidation::analyze(const edm::Event& iEvent,const edm::EventSetu } } outVrtxStablePtclNumber->Fill(outVrtxStablePtclNum,weight); + nvtx++; }//vertices - ///Looping through the PARTICLES in the event HepMC::GenEvent::particle_const_iterator ptclBegin = myGenEvent->particles_begin(); HepMC::GenEvent::particle_const_iterator ptclEnd = myGenEvent->particles_end(); @@ -323,232 +260,18 @@ void BasicHepMCValidation::analyze(const edm::Event& iEvent,const edm::EventSetu if (abs(Id) < 6 || abs(Id) == 22){ ++partonNum; partonpT->Fill(Log_p,weight); } - - ///counting multiplicities and filling momentum distributions - switch(abs(Id)){ - - case 1 : { - if(Id > 0) { - ++dNum; dMomentum->Fill(Log_p,weight);} - else{ - ++dbarNum; dbarMomentum->Fill(Log_p,weight);} - } - break; - // - case 2 : { - if(Id > 0) { - ++uNum; uMomentum->Fill(Log_p,weight);} - else{ - ++ubarNum; ubarMomentum->Fill(Log_p,weight);} - } - break; - // - case 3 : { - if(Id > 0) { - ++sNum; sMomentum->Fill(Log_p,weight);} - else{ - ++sbarNum; sbarMomentum->Fill(Log_p,weight);} - } - break; - // - case 4 : { - if(Id > 0) { - ++cNum; cMomentum->Fill(Log_p,weight);} - else{ - ++cbarNum; cbarMomentum->Fill(Log_p,weight);} - } - break; - // - case 5 : { - if(Id > 0) { - ++bNum; bMomentum->Fill(Log_p,weight);} - else{ - ++bbarNum; bbarMomentum->Fill(Log_p,weight);} - } - break; - // - case 6 : { - if(Id > 0) { - ++tNum; tMomentum->Fill(Log_p,weight);} - else{ - ++tbarNum; tbarMomentum->Fill(Log_p,weight);} - } - break; - // - case 11 : { - if(Id > 0) { - ++eminusNum; eminusMomentum->Fill(Log_p,weight);} - else{ - ++eplusNum; eplusMomentum->Fill(Log_p,weight);} - } - break; - // - case 12 : { - if(Id > 0) { - ++nueNum; nueMomentum->Fill(Log_p, weight);} - else{ - ++nuebarNum; nuebarMomentum->Fill(Log_p,weight);} - } - break; - // - case 13 : { - if(Id > 0) { - ++muminusNum; muminusMomentum->Fill(Log_p,weight);} - else{ - ++muplusNum; muplusMomentum->Fill(Log_p,weight);} - } - break; - // - case 14 : { - if(Id > 0) { - ++numuNum; numuMomentum->Fill(Log_p,weight);} - else{ - ++numubarNum; numubarMomentum->Fill(Log_p,weight);} - } - break; - // - case 15 : { - if(Id > 0) { - ++tauminusNum; tauminusMomentum->Fill(Log_p,weight);} - else{ - ++tauplusNum; tauplusMomentum->Fill(Log_p,weight);} - } - break; - // - case 16 : { - if(Id > 0) { - ++nutauNum; nutauMomentum->Fill(Log_p,weight);} - else{ - ++nutaubarNum; nutaubarMomentum->Fill(Log_p,weight);} - } - break; - // - // - case 21 : { - ++gluNum; gluMomentum->Fill(Log_p,weight); - } - break; - // - case 22 : { - ++gammaNum; gammaMomentum->Fill(Log_p,weight); - } - break; - // - case 23 : { - ++ZNum; ZMomentum->Fill(Log_p,weight); - } - break; - case 24 : { - if(Id > 0) { - ++WplusNum; WplusMomentum->Fill(Log_p,weight);} - else{ - ++WminusNum; WminusMomentum->Fill(Log_p,weight);} - } - break; - // - // - case 211 : { - if(Id > 0) { - ++piplusNum; piplusMomentum->Fill(Log_p,weight);} - else{ - ++piminusNum; piminusMomentum->Fill(Log_p,weight);} - } - break; - // - case 111 : { - ++pizeroNum; pizeroMomentum->Fill(Log_p,weight); - } - break; - // - case 321 : { - if(Id > 0) { - ++KplusNum; KplusMomentum->Fill(Log_p,weight);} - else{ - ++KminusNum; KminusMomentum->Fill(Log_p,weight);} - } - break; - // - case 130 : { - ++KlzeroNum; KlzeroMomentum->Fill(Log_p,weight); - } - break; - // - case 310 : { - ++KszeroNum; KszeroMomentum->Fill(Log_p,weight); - } - break; - // - // - case 2212 : { - if(Id > 0) { - ++pNum; pMomentum->Fill(Log_p,weight);} - else{ - ++pbarNum; pbarMomentum->Fill(Log_p,weight);} - } - break; - // - case 2112 : { - if(Id > 0) { - ++nNum; nMomentum->Fill(Log_p,weight);} - else{ - ++nbarNum; nbarMomentum->Fill(Log_p,weight);} - } - break; - // - // - case 3122 : { - if(Id > 0) { - ++l0Num; l0Momentum->Fill(Log_p,weight);} - else{ - ++l0barNum; l0barMomentum->Fill(Log_p,weight);} - } - break; - // - // - case 411 : { - if(Id > 0) { - ++DplusNum; DplusMomentum->Fill(Log_p,weight);} - else{ - ++DminusNum; DminusMomentum->Fill(Log_p,weight);} - } - break; - // - case 421 : { - ++DzeroNum; DzeroMomentum->Fill(Log_p,weight); - } - break; - // - case 521 : { - if(Id > 0) { - ++BplusNum; BplusMomentum->Fill(Log_p,weight);} - else{ - ++BminusNum; BminusMomentum->Fill(Log_p,weight);} - } - break; - // - case 511 : { - ++BzeroNum; BzeroMomentum->Fill(Log_p,weight); - } - break; - // - case 531 : { - ++BszeroNum; BszeroMomentum->Fill(Log_p,weight); - } - break; - // - default : { - ++otherPtclNum; otherPtclMomentum->Fill(Log_p,weight); - } - }//switch - // if( 0 < Id && 100 > Id) ++part_counter[Id]; + + bool indentified=false; + for(unsigned int i=0;iFill(Log_p,weight);} }//event particles - // set a default sqrt(s) and then check in the event - double ecms = 7000.; + double ecms = 13000.; if ( myGenEvent->valid_beam_particles() ) { ecms = myGenEvent->beam_particles().first->momentum().e()+myGenEvent->beam_particles().second->momentum().e(); } + log10DeltaEcms->Fill(log10(fabs(etotal-ecms)),weight); DeltaEcms->Fill(etotal-ecms,weight); DeltaPx->Fill(pxtotal,weight); DeltaPy->Fill(pytotal,weight); @@ -561,25 +284,7 @@ void BasicHepMCValidation::analyze(const edm::Event& iEvent,const edm::EventSetu otherPtclNumber->Fill(log10(otherPtclNum+0.1),weight); unknownPDTNumber->Fill(log10(unknownPDTNum+0.1),weight); // - dNumber->Fill(dNum,weight); uNumber->Fill(uNum,weight); sNumber->Fill(sNum,weight); cNumber->Fill(cNum,weight); bNumber->Fill(bNum,weight); tNumber->Fill(tNum,weight); - dbarNumber->Fill(dbarNum,weight); ubarNumber->Fill(ubarNum,weight); sbarNumber->Fill(sbarNum,weight); cbarNumber->Fill(cbarNum,weight); bbarNumber->Fill(bbarNum,weight); tbarNumber->Fill(tbarNum,weight); partonNumber->Fill(partonNum,weight); - // - eminusNumber->Fill(eminusNum,weight); nueNumber->Fill(nueNum,weight); muminusNumber->Fill(muminusNum,weight); numuNumber->Fill(numuNum,weight); tauminusNumber->Fill(tauminusNum,weight); nutauNumber->Fill(nutauNum,weight); - eplusNumber->Fill(eplusNum,weight); nuebarNumber->Fill(nuebarNum,weight); muplusNumber->Fill(muplusNum,weight); numubarNumber->Fill(numubarNum,weight); tauplusNumber->Fill(tauplusNum,weight); nutaubarNumber->Fill(nutaubarNum,weight); - // - ZNumber->Fill(ZNum,weight); WminusNumber->Fill(WminusNum,weight); WplusNumber->Fill(WplusNum,weight); - gammaNumber->Fill(log10(gammaNum+0.1),weight); - gluNumber->Fill(log10(gluNum+0.1),weight); - // - piplusNumber->Fill(log10(piplusNum+0.1),weight); - piminusNumber->Fill(log10(piminusNum+0.1),weight); - pizeroNumber->Fill(log10(pizeroNum+0.1),weight); - KplusNumber->Fill(KplusNum,weight); KminusNumber->Fill(KminusNum,weight); KlzeroNumber->Fill(KlzeroNum,weight); KszeroNumber->Fill(KszeroNum,weight); - // - pNumber->Fill(pNum,weight); pbarNumber->Fill(pbarNum,weight); nNumber->Fill(nNum,weight); nbarNumber->Fill(nbarNum,weight); l0Number->Fill(l0Num); l0barNumber->Fill(l0barNum,weight); - // - DplusNumber->Fill(DplusNum,weight); DminusNumber->Fill(DminusNum,weight); DzeroNumber->Fill(DzeroNum,weight); BplusNumber->Fill(BplusNum,weight); BminusNumber->Fill(BminusNum,weight); BzeroNumber->Fill(BzeroNum,weight); BszeroNumber->Fill(BszeroNum,weight); - + for(unsigned int i=0;isize(),0,monitoredDecays->size()); + HiggsDecayChannels = dqm.book1dHisto(channel.c_str(),(particle_name+" decay channels").c_str(),monitoredDecays->size(),0,monitoredDecays->size(),"Decay Channels","Number of Events"); for(size_t j = 0; j < monitoredDecays->size(); ++j){ HiggsDecayChannels->setBinLabel(1+j,monitoredDecays->channel(j)); @@ -55,14 +55,14 @@ void HiggsValidation::bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm //Kinematics - Higgs_pt = dqm.book1dHisto((particle_name+"_pt"),(particle_name+" p_{t}"),50,0,250); - Higgs_eta = dqm.book1dHisto((particle_name+"_eta"),(particle_name+" #eta"),50,-5,5); - Higgs_mass = dqm.book1dHisto((particle_name+"_m"),(particle_name+" M"),500,0,500); + Higgs_pt = dqm.book1dHisto((particle_name+"_pt"),(particle_name+" p_{t}"),50,0,250,"P_{t}^{"+particle_name+"} (GeV)","Number of Events"); + Higgs_eta = dqm.book1dHisto((particle_name+"_eta"),(particle_name+" #eta"),50,-5,5,"#eta^{"+particle_name+"}","Number of Events"); + Higgs_mass = dqm.book1dHisto((particle_name+"_m"),(particle_name+" M"),500,0,500,"M^{"+particle_name+"}","Number of Events"); int idx=0; for(unsigned int j=0;jNDecayParticles();j++){ - HiggsDecayProd_pt.push_back(dqm.book1dHisto((monitoredDecays->ConvertIndex(idx)+"_pt"),(monitoredDecays->ConvertIndex(idx)+" p_{t}"),50,0,250)); - HiggsDecayProd_eta.push_back(dqm.book1dHisto((monitoredDecays->ConvertIndex(idx)+"_eta"),(monitoredDecays->ConvertIndex(idx)+" #eta"),50,-5,5)); + HiggsDecayProd_pt.push_back(dqm.book1dHisto((monitoredDecays->ConvertIndex(idx)+"_pt"),(monitoredDecays->ConvertIndex(idx)+" p_{t}"),50,0,250,"P_{t}^{"+monitoredDecays->ConvertIndex(idx)+"} (GeV)","Number of Events")); + HiggsDecayProd_eta.push_back(dqm.book1dHisto((monitoredDecays->ConvertIndex(idx)+"_eta"),(monitoredDecays->ConvertIndex(idx)+" #eta"),50,-5,5,"#eta^{"+monitoredDecays->ConvertIndex(idx)+"}","Number of Events")); idx++; } diff --git a/Validation/EventGenerator/plugins/MBUEandQCDValidation.cc b/Validation/EventGenerator/plugins/MBUEandQCDValidation.cc index 7f7e3ecf630d5..e1b96b07aff9c 100644 --- a/Validation/EventGenerator/plugins/MBUEandQCDValidation.cc +++ b/Validation/EventGenerator/plugins/MBUEandQCDValidation.cc @@ -55,170 +55,169 @@ void MBUEandQCDValidation::bookHistograms(DQMStore::IBooker &i, edm::Run const & ///Booking the ME's // Number of analyzed events - nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.); + nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.," ","Number of events"); // Number of events with no forward trigger - nNoFwdTrig = dqm.book1dHisto("nNoFwdTrig", "n Events no forward trigger", 1, 0., 1.); + nNoFwdTrig = dqm.book1dHisto("nNoFwdTrig", "n Events no forward trigger", 1, 0., 1.," ","Number of Events with no Forward Trigger"); - // Number of events with a single arm forward trigger - nSaFwdTrig = dqm.book1dHisto("nSaFwdTrig", "n Events single arm forward trigger", 1, 0., 1.); + // Number of Events with a single arm forward trigger + nSaFwdTrig = dqm.book1dHisto("nSaFwdTrig", "n Events single arm forward trigger", 1, 0., 1.," ","Number of Events with Single Arm Forward Trigger"); - // Number of events with b quark - nbquark = dqm.book1dHisto("nbquark", "n Events with b quark", 1, 0., 1.); + // Number of Events with b quark + nbquark = dqm.book1dHisto("nbquark", "n Events with b quark", 1, 0., 1.," ","Number of Events with b Quarks"); - // Number of events with c and b quark - ncandbquark = dqm.book1dHisto("ncandbquark", "n Events with c and b quark", 1, 0., 1.); + // Number of Events with c and b quark + ncandbquark = dqm.book1dHisto("ncandbquark", "n Events with c and b quark", 1, 0., 1.,"","Number of Events with c and b Quark"); - // Number of events with c and no b quark - ncnobquark = dqm.book1dHisto("ncnobquark", "n Events with c and no b quark", 1, 0., 1.); + // Number of Events with c and no b quark + ncnobquark = dqm.book1dHisto("ncnobquark", "n Events with c and no b quark", 1, 0., 1.,"","Number of Events with c and no b Quark"); // Number of selected events for QCD-09-010 - nEvt1 = dqm.book1dHisto("nEvt1", "n Events QCD-09-010", 1, 0., 1.); + nEvt1 = dqm.book1dHisto("nEvt1", "n Events QCD-09-010", 1, 0., 1.,"","Number of Events passing the QCD-09-010 selection"); // dNchdpt QCD-09-010 - dNchdpt1 = dqm.book1dHisto("dNchdpt1", "dNchdpt QCD-09-010", 30, 0., 6.); + dNchdpt1 = dqm.book1dHisto("dNchdpt1", "dNchdpt QCD-09-010", 30, 0., 6.,"P_{t}^{charged tracks QCD-09-010 selection} (GeV)","Number of Charged Tracks"); // dNchdeta QCD-09-010 - dNchdeta1 = dqm.book1dHisto("dNchdeta1", "dNchdeta QCD-09-010", 10, -2.5, 2.5); + dNchdeta1 = dqm.book1dHisto("dNchdeta1", "dNchdeta QCD-09-010", 10, -2.5, 2.5,"#eta^{charged tracks QCD-09-010 selection}","Number of Charged Tracks"); // Number of selected events for QCD-10-001 - nEvt2 = dqm.book1dHisto("nEvt2", "n Events QCD-10-001", 1, 0., 1.); + nEvt2 = dqm.book1dHisto("nEvt2", "n Events QCD-10-001", 1, 0., 1.,"","Number of Events passing the QCD-10-001 selection"); // Leading track pt QCD-10-001 - leadTrackpt = dqm.book1dHisto("leadTrackpt", "leading track pt QCD-10-001", 200, 0., 100.); + leadTrackpt = dqm.book1dHisto("leadTrackpt", "leading track pt QCD-10-001", 200, 0., 100.,"P_{t}^{lead track QCD-10-001 selection} (GeV)","Number of Events"); // Leading track eta QCD-10-001 - leadTracketa = dqm.book1dHisto("leadTracketa", "leading track eta QCD-10-001", 50., -2.5,2.5); + leadTracketa = dqm.book1dHisto("leadTracketa", "leading track eta QCD-10-001", 50., -2.5,2.5,"#eta^{lead track QCD-10-001 selection}","Number of Events"); // transverse charged particle density vs leading track pt nChaDenLpt = i.bookProfile("nChaDenLpt", "charged density vs leading pt", 200, 0., 100., 0., 100., " "); // transverse charged particle density vs leading track pt sptDenLpt = i.bookProfile("sptDenLpt", "sum pt density vs leading pt", 200, 0., 100., 0., 300., " "); // dNchdpt QCD-10-001 transverse - dNchdpt2 = dqm.book1dHisto("dNchdpt2", "dNchdpt QCD-10-001", 200, 0., 100.); + dNchdpt2 = dqm.book1dHisto("dNchdpt2", "dNchdpt QCD-10-001", 200, 0., 100.,"P_{t}^{charged tracks QCD-10-001 selection} (GeV)","Number of Charged Tracks"); // dNchdeta QCD-10-001 transverse - dNchdeta2 = dqm.book1dHisto("dNchdeta2", "dNchdeta QCD-10-001", 50, -2.5, 2.5); + dNchdeta2 = dqm.book1dHisto("dNchdeta2", "dNchdeta QCD-10-001", 50, -2.5, 2.5,"#eta^{charged tracks QCD-10-001 selection}","Number of Charged Tracks"); // nCha QCD-10-001 transverse - nCha = dqm.book1dHisto("nCha", "n charged QCD-10-001", 100, 0., 100.); + nCha = dqm.book1dHisto("nCha", "n charged QCD-10-001", 100, 0., 100.,"N^{charged tracks QCD-10-001 selection}","Number of Events"); // dNchdSpt transverse - dNchdSpt = dqm.book1dHisto("dNchdSpt", "dNchdSpt QCD-10-001", 300, 0., 300.); + dNchdSpt = dqm.book1dHisto("dNchdSpt", "dNchdSpt QCD-10-001", 300, 0., 300.,"P_{t}^{charged trackes in transverse region QCD-10-001selection} (GeV)","Number of Charged Tracks"); // dNchdphi dNchdphi = i.bookProfile("dNchdphi", "dNchdphi QCD-10-001", nphiBin, -180., 180., 0., 30., " "); // dSptdphi dSptdphi = i.bookProfile("dSptdphi", "dSptdphi QCD-10-001", nphiBin, -180., 180., 0., 30., " "); // number of charged jets QCD-10-001 - nChj = dqm.book1dHisto("nChj", "n charged jets QCD-10-001", 30, 0, 30.); + nChj = dqm.book1dHisto("nChj", "n charged jets QCD-10-001", 30, 0, 30.,"N^{charged jets QCD-10-001 selection}","Number of Events"); // dNchjdeta QCD-10-001 - dNchjdeta = dqm.book1dHisto("dNchjdeta", "dNchjdeta QCD-10-001", 50, -2.5, 2.5); + dNchjdeta = dqm.book1dHisto("dNchjdeta", "dNchjdeta QCD-10-001", 50, -2.5, 2.5,"#eta^{charged jets QCD-10-001 selection}","Number of charged Jets"); // dNchjdpt QCD-10-001 - dNchjdpt = dqm.book1dHisto("dNchjdpt", "dNchjdpt QCD-10-001", 100, 0., 100.); + dNchjdpt = dqm.book1dHisto("dNchjdpt", "dNchjdpt QCD-10-001", 100, 0., 100.,"P_{t}^{charged jets QCD-10-001 selection}","Number of charged Jets"); // leading charged jet pt QCD-10-001 - leadChjpt = dqm.book1dHisto("leadChjpt", "leadChjpt QCD-10-001", 100, 0., 100.); + leadChjpt = dqm.book1dHisto("leadChjpt", "leadChjpt QCD-10-001", 100, 0., 100.,"P_{t}^{lead charged jet QCD-10-001 selection}","Number of charged Jets"); // leading charged jet eta QCD-10-001 - leadChjeta = dqm.book1dHisto("leadChjeta", "leadChjeta QCD-10-001", 50, -2.5, 2.5); + leadChjeta = dqm.book1dHisto("leadChjeta", "leadChjeta QCD-10-001", 50, -2.5, 2.5,"#eta^{lead charged jet QCD-10-001 selection}","Number of charged Jets"); // (pt1+pt2)/ptot pt1pt2optotch = i.bookProfile("pt1pt2optotch", "sum 2 leading jets over ptot", 50, 0., 100., 0., 1., " "); // particle rates in tracker acceptance - nPPbar = dqm.book1dHisto("nPPbar", "nPPbar QCD-10-001", 30, 0., 30.); - nKpm = dqm.book1dHisto("nKpm", "nKpm QCD-10-001", 30, 0., 30.); - nK0s = dqm.book1dHisto("nK0s", "nK0s QCD-10-001", 30, 0., 30.); - nL0 = dqm.book1dHisto("nL0", "nL0 QCD-10-001", 30, 0., 30.); - nXim = dqm.book1dHisto("nXim", "nXim QCD-10-001", 30, 0., 30.); - nOmega = dqm.book1dHisto("nOmega", "nOmega QCD-10-001", 30, 0., 30.); - - pPPbar = dqm.book1dHisto("pPPbar", "Log10(pt) PPbar QCD-10-001", 25, -2., 3.); - pKpm = dqm.book1dHisto("pKpm", "Log10(pt) Kpm QCD-10-001", 25, -2., 3.); - pK0s = dqm.book1dHisto("pK0s", "Log10(pt) K0s QCD-10-001", 25, -2., 3.); - pL0 = dqm.book1dHisto("pL0", "Log10(pt) L0 QCD-10-001", 25, -2., 3.); - pXim = dqm.book1dHisto("pXim", "Log10(pt) Xim QCD-10-001", 25, -2., 3.); - pOmega = dqm.book1dHisto("pOmega", "Log10(pt) Omega QCD-10-001", 25, -2., 3.); + nPPbar = dqm.book1dHisto("nPPbar", "nPPbar QCD-10-001", 30, 0., 30.,"N_{p/#bar{p}}^{QCD-10-001 selection}","Number of p/#bar{p}"); + nKpm = dqm.book1dHisto("nKpm", "nKpm QCD-10-001", 30, 0., 30.,"N_{K^{#pm}}^{QCD-10-001 selection}","Number of K^{#pm}"); + nK0s = dqm.book1dHisto("nK0s", "nK0s QCD-10-001", 30, 0., 30.,"N_{K^{0}}^{QCD-10-001 selection}","Number of K^{0}"); + nL0 = dqm.book1dHisto("nL0", "nL0 QCD-10-001", 30, 0., 30.,"N_{#Lambda^{0}}^{QCD-10-001 selection}","Number of #Lambda^{0}"); + nXim = dqm.book1dHisto("nXim", "nXim QCD-10-001", 30, 0., 30.,"N_{#Xi}^{QCD-10-001 selection}","Number of #Xi"); + nOmega = dqm.book1dHisto("nOmega", "nOmega QCD-10-001", 30, 0., 30.,"N_{#Omega^{#pm}}^{QCD-10-001 selection}","Number of #Omega^{#pm}"); + + pPPbar = dqm.book1dHisto("pPPbar", "Log10(pt) PPbar QCD-10-001", 25, -2., 3.,"log_{10}(P_{t}^{p/#bar{p} QCD-10-001 selection}) (log_{10}(GeV))","Number of p/#bar{p}"); + pKpm = dqm.book1dHisto("pKpm", "Log10(pt) Kpm QCD-10-001", 25, -2., 3.,"log_{10}(P_{t}^{K^{#pm} QCD-10-001 selection}) (log_{10}(GeV))","Number of K^{#pm}"); + pK0s = dqm.book1dHisto("pK0s", "Log10(pt) K0s QCD-10-001", 25, -2., 3.,"log_{10}(P_{t}^{K^{0} QCD-10-001 selection}) (log_{10}(GeV))","Number of K^{0}"); + pL0 = dqm.book1dHisto("pL0", "Log10(pt) L0 QCD-10-001", 25, -2., 3.,"log_{10}(P_{t}^{#Lambda^{0} QCD-10-001 selection}) (log_{10}(GeV))","Number of #Lambda^{0}"); + pXim = dqm.book1dHisto("pXim", "Log10(pt) Xim QCD-10-001", 25, -2., 3.,"log_{10}(P_{t}^{#Xi^{#pm} QCD-10-001 selection}) (log_{10}(GeV))","Number of #Xi"); + pOmega = dqm.book1dHisto("pOmega", "Log10(pt) Omega QCD-10-001", 25, -2., 3.,"log_{10}(P_{t}^{#Omega^{#pm} QCD-10-001 selection}) (log_{10}(GeV))","Number of #Omega^{#pm}"); // neutral rate in the barrel + HF acceptance - nNNbar = dqm.book1dHisto("nNNbar", "nNNbar QCD-10-001", 30, 0., 30.); - nGamma = dqm.book1dHisto("nGamma", "nGamma QCD-10-001", 50, 0., 200.); + nNNbar = dqm.book1dHisto("nNNbar", "nNNbar QCD-10-001", 30, 0., 30.,"N_{n/#bar{n}}^{QCD-10-001 selection}","Number of Events"); + nGamma = dqm.book1dHisto("nGamma", "nGamma QCD-10-001", 50, 0., 200.,"N_{#gamma}^{QCD-10-001 selection}","Number of Events"); - pNNbar = dqm.book1dHisto("pNNbar", "Log10(pt) NNbar QCD-10-001", 25, -2., 3.); - pGamma = dqm.book1dHisto("pGamma", "Log10(pt) Gamma QCD-10-001", 25, -2., 3.); + pNNbar = dqm.book1dHisto("pNNbar", "Log10(pt) NNbar QCD-10-001", 25, -2., 3.,"log_{10}(P_{t}^{n/#bar{n} QCD-10-001 selection}) (log_{10}(GeV))","Number of n/#bar{n}"); + pGamma = dqm.book1dHisto("pGamma", "Log10(pt) Gamma QCD-10-001", 25, -2., 3.,"log_{10}(P_{t}^{#gamma QCD-10-001 selection}) (log_{10}(GeV))","Number of #gamma"); // highest pt electron spectrum - elePt = dqm.book1dHisto("elePt", "highest pt electron Log10(pt)", 30, -2., 4.); + elePt = dqm.book1dHisto("elePt", "highest pt electron Log10(pt)", 30, -2., 4.,"log_{10}(P_{t}^{highest e} (log_{10}(GeV))","Number of Events"); // highest pt muon spectrum - muoPt = dqm.book1dHisto("muoPt", "highest pt muon Log10(pt)", 30, -2., 4.); + muoPt = dqm.book1dHisto("muoPt", "highest pt muon Log10(pt)", 30, -2., 4.,"log_{10}(P_{t}^{highest #mu} (log_{10}(GeV))","Number of Events"); // number of selected di-jet events - nDijet = dqm.book1dHisto("nDijet", "n Dijet Events", 1, 0., 1.); + nDijet = dqm.book1dHisto("nDijet", "n Dijet Events", 1, 0., 1.," ","Number of Events Passing Di-jet JME-10-001 Selection"); // number of jets - nj = dqm.book1dHisto("nj", "n jets ", 30, 0, 30.); + nj = dqm.book1dHisto("nj", "n jets ", 30, 0, 30.,"N_{jets}^{JME-10-001}","Number of Events"); // dNjdeta - dNjdeta = dqm.book1dHisto("dNjdeta", "dNjdeta ", 50, -5., 5.); + dNjdeta = dqm.book1dHisto("dNjdeta", "dNjdeta ", 50, -5., 5.,"#eta_{jets}^{JME-10-001 selection}","Number of Jets"); // dNjdpt - dNjdpt = dqm.book1dHisto("dNjdpt", "dNjdpt ", 60, 0., 300.); + dNjdpt = dqm.book1dHisto("dNjdpt", "dNjdpt ", 60, 0., 300.,"P_{t}^{jets JME-10-001 selection}","Number of Jets"); // (pt1+pt2)/ptot - pt1pt2optot = i.bookProfile("pt1pt2optot", "sum 2 leading jets over Et tot ", 60, 0., 300., 0., 1., " "); + pt1pt2optot = i.bookProfile("pt1pt2optot", "sum 2 leading jets over Et tot ", 60, 0., 300., 0., 1.," "); // pt1-pt2 - pt1pt2balance = dqm.book1dHisto("pt1pt2balance", "2 leading jets pt difference ", 10, 0., 1.); + pt1pt2balance = dqm.book1dHisto("pt1pt2balance", "2 leading jets pt difference ", 10, 0., 1.,"#frac{P_{t}^{1st jet}-P_{t}^{2nd jet}}{P_{t}^{1st jet}+P_{t}^{2nd jet}}^{JME-10-001 selection}","Number of Di-jet Events"); // pt1 pt2 Delta phi - pt1pt2Dphi = dqm.book1dHisto("pt1pt2Dphi", "pt1 pt2 delta phi ", nphiBin, 0., 180.); + pt1pt2Dphi = dqm.book1dHisto("pt1pt2Dphi", "pt1 pt2 delta phi ", nphiBin, 0., 180.,"#Delta#phi(jet^{1st},jet^{2nd})^{JME-10-001 selection} (rad)","Number of Di-jet Events"); // pt1 pt2 invariant mass - pt1pt2InvM = dqm.book1dHisto("pt1pt2InvM", "pt1 pt2 invariant mass ", 60, 0., 600.); + pt1pt2InvM = dqm.book1dHisto("pt1pt2InvM", "pt1 pt2 invariant mass ", 60, 0., 600.,"M_{di-jet}^{JME-10-001 selection}","Number of di-jet events"); // pt3 fraction - pt3Frac = dqm.book1dHisto("pt3Frac", "2 pt3 over pt1+pt2 ", 30, 0., 1.); + pt3Frac = dqm.book1dHisto("pt3Frac", "2 pt3 over pt1+pt2 ", 30, 0., 1.,"#frac{P_{t}^{3rd jet}}{P_{t}^{1st jet}+P_{t}^{2nd jet}}^{JME-10-001 selection}","Number of 3rd Jets"); // sum of jets Et - sumJEt = dqm.book1dHisto("sumJEt", "sum Jet Et ", 60, 0., 300.); + sumJEt = dqm.book1dHisto("sumJEt", "sum Jet Et ", 60, 0., 300.,"#Sigma E_{t}^{jets JME-10-001 selection}","Number of di-jet events"); // fraction of missing Et over sum of jets Et - missEtosumJEt = dqm.book1dHisto("missEtosumJEt", "missing Et over sumJet Et ", 30, 0., 1.); + missEtosumJEt = dqm.book1dHisto("missEtosumJEt", "missing Et over sumJet Et ", 30, 0., 1.,"E_{t}^{miss}/#Sigma E_{t}^{jets JME-10-001 selection}","Number of Di-jet Events"); // sum of final state particle Pt - sumPt = dqm.book1dHisto("sumPt", "sum particle Pt ", 60, 0., 600.); + sumPt = dqm.book1dHisto("sumPt", "sum particle Pt ", 60, 0., 600.,"#Sigma P_{t}^{particles passing JME-10-001 selection}","Number of jets"); // sum of final state charged particle Pt - sumChPt = dqm.book1dHisto("sumChPt", "sum charged particle Pt ", 60, 0., 300.); + sumChPt = dqm.book1dHisto("sumChPt", "sum charged particle Pt ", 60, 0., 300.,"#Sigma P_{t}^{charged particles passing JME-10-001 selection}","Number of Jets"); //Number of selected events for the HF energy flux analysis - nHFflow = dqm.book1dHisto("nHFflow", "n HF flow events", 1, 0., 1.); + nHFflow = dqm.book1dHisto("nHFflow", "n HF flow events", 1, 0., 1.," ","Number of Events passing JME-10-001, FWD-10-002 and Jet-Multiplicity selection"); //Forward energy flow for MinBias BSC selection - dEdetaHFmb = i.bookProfile("dEdetaHFmb", "dEdeta HF MinBias", (int)CaloCellManager::nForwardEta, 0, (double)CaloCellManager::nForwardEta, 0., 300., " "); + dEdetaHFmb = i.bookProfile("dEdetaHFmb", "dEdeta HF MinBias", (int)CaloCellManager::nForwardEta, 0, (double)CaloCellManager::nForwardEta, 0., 300.," "); //Forward energy flow for QCD dijet selection dEdetaHFdj = i.bookProfile("dEdetaHFdj", "dEdeta HF QCD dijet", (int)CaloCellManager::nForwardEta, 0, (double)CaloCellManager::nForwardEta, 0., 300., " "); // FWD-10-001 like diffraction analysis - nHFSD = dqm.book1dHisto("nHFSD","n single diffraction in HF", 1, 0., 1.); + nHFSD = dqm.book1dHisto("nHFSD","n single diffraction in HF", 1, 0., 1.," ","Number of single diffraction in HF FWD-10-001 selection"); // E-pz HF- - EmpzHFm = dqm.book1dHisto("EmpzHFm", "E-pz HF- SD", 40, 0., 200.); + EmpzHFm = dqm.book1dHisto("EmpzHFm", "E-pz HF- SD", 40, 0., 200.,"#Sigma E_{cal. cells/corrected for the longitudinal mometum}^{FWD-10-001 selection}","Number of Events"); // Number of cells above threshold - ntHFm = dqm.book1dHisto("ntHFm", "number of HF- tower SD", 20, 0., 20.); + ntHFm = dqm.book1dHisto("ntHFm", "number of HF- tower SD", 20, 0., 20.," N_{cells over threshold for single diffraction in HF Towers}^{FWD-10-001 selection}","Number of Events"); // Energy in HF- - eneHFmSel = dqm.book1dHisto("eneHFmSel", "energy in HF-", 40, 0., 200.); + eneHFmSel = dqm.book1dHisto("eneHFmSel", "energy in HF-", 40, 0., 200.,"#Sigma E_{cal. cells}^{FWD-10-001 selection}","Number of Events"); // number of jets accepted in the 'Jet-Multiplicity' analysis - _JM25njets = dqm.book1dHisto("JM25njets", "n jets", 15, 0, 15.); - _JM25ht = dqm.book1dHisto("JM25ht", "HT", 80, 0, 800.); - _JM25pt1 = dqm.book1dHisto("JM25pt1", "pt", 40, 0, 200.); - _JM25pt2 = dqm.book1dHisto("JM25pt2", "pt", 40, 0, 200.); - _JM25pt3 = dqm.book1dHisto("JM25pt3", "pt", 40, 0, 200.); - _JM25pt4 = dqm.book1dHisto("JM25pt4", "pt", 40, 0, 200.); + _JM25njets = dqm.book1dHisto("JM25njets", "n jets", 15, 0, 15.,"Number of JM25 Jets","Number of Events"); + _JM25ht = dqm.book1dHisto("JM25ht", "HT", 80, 0, 800.,"H_{t}^{JM25} (GeV)","Number of Events"); + _JM25pt1 = dqm.book1dHisto("JM25pt1", "pt", 40, 0, 200.,"P_{t}^{JM25,1st Jet} (GeV)","Number of JM25 Jets"); + _JM25pt2 = dqm.book1dHisto("JM25pt2", "pt", 40, 0, 200.,"P_{t}^{JM25,2nd Jet} (GeV)","Number of JM25 Jets"); + _JM25pt3 = dqm.book1dHisto("JM25pt3", "pt", 40, 0, 200.,"P_{t}^{JM25,3rd Jet} (GeV)","Number of JM25 Jets"); + _JM25pt4 = dqm.book1dHisto("JM25pt4", "pt", 40, 0, 200.,"P_{t}^{JM25,4th Jet} (GeV)","Number of JM25 Jets"); - _JM80njets = dqm.book1dHisto("JM80njets", "n jets", 15, 0, 15.); - _JM80ht = dqm.book1dHisto("JM80ht", "HT", 80, 300, 1100.); - _JM80pt1 = dqm.book1dHisto("JM80pt1", "pt", 40, 60, 260.); - _JM80pt2 = dqm.book1dHisto("JM80pt2", "pt", 40, 60, 260.); - _JM80pt3 = dqm.book1dHisto("JM80pt3", "pt", 40, 60, 260.); - _JM80pt4 = dqm.book1dHisto("JM80pt4", "pt", 40, 60, 260.); + _JM80njets = dqm.book1dHisto("JM80njets", "n jets", 15, 0, 15.,"Number of JM80 Jets","Number of Events"); + _JM80ht = dqm.book1dHisto("JM80ht", "HT", 80, 300, 1100.,"H_{t}^{JM80} (GeV","Number of Events"); + _JM80pt1 = dqm.book1dHisto("JM80pt1", "pt", 40, 60, 260.,"P_{t}^{JM80,1st Jet} (GeV)","Number of JM80 Jets"); + _JM80pt2 = dqm.book1dHisto("JM80pt2", "pt", 40, 60, 260.,"P_{t}^{JM80,2nd Jet} (GeV)","Number of JM80 Jets"); + _JM80pt3 = dqm.book1dHisto("JM80pt3", "pt", 40, 60, 260.,"P_{t}^{JM80,3rd Jet} (GeV)","Number of JM80 Jets"); + _JM80pt4 = dqm.book1dHisto("JM80pt4", "pt", 40, 60, 260.,"P_{t}^{JM80,4th Jet} (GeV)","Number of JM80 Jets"); // differential jet rates - djr10 = dqm.book1dHisto("djr10", "Differential Jet Rate 1#rightarrow0", 60, -1., 5.); - djr21 = dqm.book1dHisto("djr21", "Differential Jet Rate 2#rightarrow1", 60, -1., 5.); - djr32 = dqm.book1dHisto("djr32", "Differential Jet Rate 3#rightarrow2", 60, -1., 5.); - djr43 = dqm.book1dHisto("djr43", "Differential Jet Rate 4#rightarrow3", 60, -1., 5.); + djr10 = dqm.book1dHisto("djr10", "Differential Jet Rate 1#rightarrow0", 60, -1., 5.,"log_{10}(d_{min}(n,n+1)) for n=0","Number of Events"); + djr21 = dqm.book1dHisto("djr21", "Differential Jet Rate 2#rightarrow1", 60, -1., 5.,"log_{10}(d_{min}(n,n+1)) for n=1","Number of Events"); + djr32 = dqm.book1dHisto("djr32", "Differential Jet Rate 3#rightarrow2", 60, -1., 5.,"log_{10}(d_{min}(n,n+1)) for n=2","Number of Events"); + djr43 = dqm.book1dHisto("djr43", "Differential Jet Rate 4#rightarrow3", 60, -1., 5.,"log_{10}(d_{min}(n,n+1)) for n=3","Number of Events"); // sumET analysis - _sumEt = dqm.book1dHisto("sumET", "Sum of stable particles Et", 150, 0, 600.); - _sumEt1 = dqm.book1dHisto("sumET1", "Sum of stable particles Et (eta<0.5)", 150, 0, 200.); - _sumEt2 = dqm.book1dHisto("sumET2", "Sum of stable particles Et (0.53) { - _JM25njets ->Fill(jm25njets,weight); - _JM25ht ->Fill(jm25HT,weight); - _JM25pt1 ->Fill(jm25pt1,weight); - _JM25pt2 ->Fill(jm25pt2,weight); - _JM25pt3 ->Fill(jm25pt3,weight); - _JM25pt4 ->Fill(jm25pt4,weight); - } - if(jm80njets>3) { - _JM80njets ->Fill(jm80njets,weight); - _JM80ht ->Fill(jm80HT,weight); - _JM80pt1 ->Fill(jm80pt1,weight); - _JM80pt2 ->Fill(jm80pt2,weight); - _JM80pt3 ->Fill(jm80pt3,weight); - _JM80pt4 ->Fill(jm80pt4,weight); - } } - + if(jm25njets>3) { + _JM25njets ->Fill(jm25njets,weight); + _JM25ht ->Fill(jm25HT,weight); + _JM25pt1 ->Fill(jm25pt1,weight); + _JM25pt2 ->Fill(jm25pt2,weight); + _JM25pt3 ->Fill(jm25pt3,weight); + _JM25pt4 ->Fill(jm25pt4,weight); + } + if(jm80njets>3) { + _JM80njets ->Fill(jm80njets,weight); + _JM80ht ->Fill(jm80HT,weight); + _JM80pt1 ->Fill(jm80pt1,weight); + _JM80pt2 ->Fill(jm80pt2,weight); + _JM80pt3 ->Fill(jm80pt3,weight); + _JM80pt4 ->Fill(jm80pt4,weight); + } + // select a di-jet event JME-10-001 variant double sumJetEt = 0; double sumPartPt = 0.; double sumChPartPt = 0.; double jpx = 0; double jpy = 0; diff --git a/Validation/EventGenerator/plugins/Module.cc b/Validation/EventGenerator/plugins/Module.cc index bd56e7ed3d096..b06a08b20228c 100755 --- a/Validation/EventGenerator/plugins/Module.cc +++ b/Validation/EventGenerator/plugins/Module.cc @@ -39,3 +39,9 @@ DEFINE_FWK_MODULE(TTbarSpinCorrHepMCAnalyzer); #include "Validation/EventGenerator/interface/HiggsValidation.h" DEFINE_FWK_MODULE(HiggsValidation); + +#include "Validation/EventGenerator/interface/BPhysicsValidation.h" +DEFINE_FWK_MODULE(BPhysicsValidation); + +#include "Validation/EventGenerator/interface/BPhysicsSpectrum.h" +DEFINE_FWK_MODULE(BPhysicsSpectrum); diff --git a/Validation/EventGenerator/plugins/TTbarSpinCorrHepMCAnalyzer.cc b/Validation/EventGenerator/plugins/TTbarSpinCorrHepMCAnalyzer.cc index 488d081a09370..80456f29d0650 100644 --- a/Validation/EventGenerator/plugins/TTbarSpinCorrHepMCAnalyzer.cc +++ b/Validation/EventGenerator/plugins/TTbarSpinCorrHepMCAnalyzer.cc @@ -88,24 +88,15 @@ void TTbarSpinCorrHepMCAnalyzer::analyze(const edm::Event& iEvent, const edm::Ev // ------------ method called once each job just before starting event loop ------------ void TTbarSpinCorrHepMCAnalyzer::bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &){ ///Setting the DQM top directories - TString dir="Generator/"; + std::string dir="Generator/"; dir+="TTbarSpinCorr"; - DQMHelper dqm(&i); i.setCurrentFolder(dir.Data()); + DQMHelper dqm(&i); i.setCurrentFolder(dir); // Number of analyzed events - nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.); - - _h_asym = dqm.book1dHisto("TTbar_asym","Asymmetr", 2, -1., 1.); - _h_asym->setAxisTitle("Asymmetry"); - - _h_deltaPhi = dqm.book1dHisto("TTbar_deltaPhi","#Delta#phi(ll)", 320, 0, 3.2); - _h_deltaPhi->setAxisTitle("#Delta#phi(ll)"); - - _h_llpairPt = dqm.book1dHisto("TTbar_llpairPt","Lepton pair transverse momentum", 1000, 0, 1000); - _h_llpairPt->setAxisTitle("p_{T}(ll)"); - - _h_llpairM = dqm.book1dHisto("TTbar_llpairM","Lepton pair invariant mass", 1000, 0, 1000); - _h_llpairM->setAxisTitle("M(ll)"); - + nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.,"bin","Number of Events"); + _h_asym = dqm.book1dHisto("TTbar_asym","Asymmetr", 2, -1., 1.,"Asymmetry","Number of Events"); + _h_deltaPhi = dqm.book1dHisto("TTbar_deltaPhi","#Delta#phi(ll)", 320, 0, 3.2,"#Delta#phi_{ll} (rad)","Number of Events"); + _h_llpairPt = dqm.book1dHisto("TTbar_llpairPt","Lepton pair transverse momentum", 1000, 0, 1000,"p_{T}^{ll} (GeV)","Number of Events"); + _h_llpairM = dqm.book1dHisto("TTbar_llpairM","Lepton pair invariant mass", 1000, 0, 1000,"M_{ll} (GeV)","Number of Events"); } diff --git a/Validation/EventGenerator/plugins/TTbar_GenJetAnalyzer.cc b/Validation/EventGenerator/plugins/TTbar_GenJetAnalyzer.cc index 31fcb308ce5b7..17330c1959f75 100644 --- a/Validation/EventGenerator/plugins/TTbar_GenJetAnalyzer.cc +++ b/Validation/EventGenerator/plugins/TTbar_GenJetAnalyzer.cc @@ -58,16 +58,16 @@ void TTbar_GenJetAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSet void TTbar_GenJetAnalyzer::bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &){ DQMHelper dqm(&i); i.setCurrentFolder("Generator/TTbar"); - hists_["jetPtAll" ] = dqm.book1dHisto("TTbar_jetPtAll" , "pt" , 1000, 0., 1000.); - hists_["jetPt1" ] = dqm.book1dHisto("TTbar_jetPt1" , "pt" , 1000, 0., 1000.); - hists_["jetPt2" ] = dqm.book1dHisto("TTbar_jetPt2" , "pt" , 1000, 0., 1000.); - hists_["jetPt3" ] = dqm.book1dHisto("TTbar_jetPt3" , "pt" , 1000, 0., 1000.); - hists_["jetPt4" ] = dqm.book1dHisto("TTbar_jetPt4" , "pt" , 1000, 0., 1000.); + hists_["jetPtAll" ] = dqm.book1dHisto("TTbar_jetPtAll" , "pt" , 1000, 0., 1000.,"P_{t}^{All-Jets} (GeV)","Number of Events"); + hists_["jetPt1" ] = dqm.book1dHisto("TTbar_jetPt1" , "pt" , 1000, 0., 1000.,"P_{t}^{1st-Jet} (GeV)","Number of Events"); + hists_["jetPt2" ] = dqm.book1dHisto("TTbar_jetPt2" , "pt" , 1000, 0., 1000.,"P_{t}^{2nd-Jet} (GeV)","Number of Events"); + hists_["jetPt3" ] = dqm.book1dHisto("TTbar_jetPt3" , "pt" , 1000, 0., 1000.,"P_{t}^{3rd-Jet} (GeV)","Number of Events"); + hists_["jetPt4" ] = dqm.book1dHisto("TTbar_jetPt4" , "pt" , 1000, 0., 1000.,"P_{t}^{4th-Jet} (GeV)","Number of Events"); - hists_["jetEtaAll"] = dqm.book1dHisto("TTbar_jetEtaAll", "eta", 100, -5., 5.); - hists_["jetEta1" ] = dqm.book1dHisto("TTbar_jetEta1" , "eta", 100, -5., 5.); - hists_["jetEta2" ] = dqm.book1dHisto("TTbar_jetEta2" , "eta", 100, -5., 5.); - hists_["jetEta3" ] = dqm.book1dHisto("TTbar_jetEta3" , "eta", 100, -5., 5.); - hists_["jetEta4" ] = dqm.book1dHisto("TTbar_jetEta4" , "eta", 100, -5., 5.); + hists_["jetEtaAll"] = dqm.book1dHisto("TTbar_jetEtaAll", "eta", 100, -5., 5.,"#eta^{All-Jets}","Number of Events"); + hists_["jetEta1" ] = dqm.book1dHisto("TTbar_jetEta1" , "eta", 100, -5., 5.,"#eta^{1st-Jet}","Number of Events"); + hists_["jetEta2" ] = dqm.book1dHisto("TTbar_jetEta2" , "eta", 100, -5., 5.,"#eta^{2nd-Jet}","Number of Events"); + hists_["jetEta3" ] = dqm.book1dHisto("TTbar_jetEta3" , "eta", 100, -5., 5.,"#eta^{3rd-Jet}","Number of Events"); + hists_["jetEta4" ] = dqm.book1dHisto("TTbar_jetEta4" , "eta", 100, -5., 5.,"#eta^{4th-Jet}","Number of Events"); } diff --git a/Validation/EventGenerator/plugins/TTbar_GenLepAnalyzer.cc b/Validation/EventGenerator/plugins/TTbar_GenLepAnalyzer.cc index 796d3f630d8b5..61d0773db9691 100644 --- a/Validation/EventGenerator/plugins/TTbar_GenLepAnalyzer.cc +++ b/Validation/EventGenerator/plugins/TTbar_GenLepAnalyzer.cc @@ -67,19 +67,19 @@ TTbar_GenLepAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& i void TTbar_GenLepAnalyzer::bookHistograms(DQMStore::IBooker &i, edm::Run const &r, edm::EventSetup const &e){ DQMHelper dqm(&i); i.setCurrentFolder("Generator/TTbar"); - hists_["lepN" ] = dqm.book1dHisto("TTbar_lepN"+leps_.label() , "N" , 10, -.5, 9.5 ); - - hists_["lepPtAll" ] = dqm.book1dHisto("TTbar_lepPtAll_"+leps_.label() , "pt" , 1000, 0., 1000.); - hists_["lepPt1" ] = dqm.book1dHisto("TTbar_lepPt1_"+leps_.label() , "pt" , 1000, 0., 1000.); - hists_["lepPt2" ] = dqm.book1dHisto("TTbar_lepPt2_"+leps_.label() , "pt" , 1000, 0., 1000.); - hists_["lepPt3" ] = dqm.book1dHisto("TTbar_lepPt3_"+leps_.label() , "pt" , 1000, 0., 1000.); - hists_["lepPt4" ] = dqm.book1dHisto("TTbar_lepPt4_"+leps_.label() , "pt" , 1000, 0., 1000.); - - hists_["lepEtaAll"] = dqm.book1dHisto("TTbar_lepEtaAll"+leps_.label(), "eta", 100, -5., 5.); - hists_["lepEta1" ] = dqm.book1dHisto("TTbar_lepEta1"+leps_.label() , "eta", 100, -5., 5.); - hists_["lepEta2" ] = dqm.book1dHisto("TTbar_lepEta2"+leps_.label() , "eta", 100, -5., 5.); - hists_["lepEta3" ] = dqm.book1dHisto("TTbar_lepEta3"+leps_.label() , "eta", 100, -5., 5.); - hists_["lepEta4" ] = dqm.book1dHisto("TTbar_lepEta4"+leps_.label() , "eta", 100, -5., 5.); + hists_["lepN" ] = dqm.book1dHisto("TTbar_lepN"+leps_.label() , "N" , 10, -.5, 9.5 ,"Number of "+leps_.label(),"Number of Events"); + + hists_["lepPtAll" ] = dqm.book1dHisto("TTbar_lepPtAll_"+leps_.label() , "pt" , 1000, 0., 1000.,"P_{t}^{All-"+leps_.label()+"} (GeV)","Number of Events"); + hists_["lepPt1" ] = dqm.book1dHisto("TTbar_lepPt1_"+leps_.label() , "pt" , 1000, 0., 1000.,"P_{t}^{1st-"+leps_.label()+"} (GeV)","Number of Events"); + hists_["lepPt2" ] = dqm.book1dHisto("TTbar_lepPt2_"+leps_.label() , "pt" , 1000, 0., 1000.,"P_{t}^{2nd-"+leps_.label()+"} (GeV)","Number of Events"); + hists_["lepPt3" ] = dqm.book1dHisto("TTbar_lepPt3_"+leps_.label() , "pt" , 1000, 0., 1000.,"P_{t}^{3rd-"+leps_.label()+"} (GeV)","Number of Events"); + hists_["lepPt4" ] = dqm.book1dHisto("TTbar_lepPt4_"+leps_.label() , "pt" , 1000, 0., 1000.,"P_{t}^{4th-"+leps_.label()+"} (GeV)","Number of Events"); + + hists_["lepEtaAll"] = dqm.book1dHisto("TTbar_lepEtaAll"+leps_.label(), "eta", 100, -5., 5.,"#eta^{All-"+leps_.label()+"}","Number of Events"); + hists_["lepEta1" ] = dqm.book1dHisto("TTbar_lepEta1"+leps_.label() , "eta", 100, -5., 5.,"#eta^{1st-"+leps_.label()+"}","Number of Events"); + hists_["lepEta2" ] = dqm.book1dHisto("TTbar_lepEta2"+leps_.label() , "eta", 100, -5., 5.,"#eta^{2nd-"+leps_.label()+"}","Number of Events"); + hists_["lepEta3" ] = dqm.book1dHisto("TTbar_lepEta3"+leps_.label() , "eta", 100, -5., 5.,"#eta^{3rd-"+leps_.label()+"}","Number of Events"); + hists_["lepEta4" ] = dqm.book1dHisto("TTbar_lepEta4"+leps_.label() , "eta", 100, -5., 5.,"#eta^{4th-"+leps_.label()+"}","Number of Events"); } diff --git a/Validation/EventGenerator/plugins/TTbar_Kinematics.cc b/Validation/EventGenerator/plugins/TTbar_Kinematics.cc index 1d620be3e1b1e..585b49255c640 100644 --- a/Validation/EventGenerator/plugins/TTbar_Kinematics.cc +++ b/Validation/EventGenerator/plugins/TTbar_Kinematics.cc @@ -145,34 +145,34 @@ void TTbar_Kinematics::analyze(const edm::Event& iEvent, const edm::EventSetup& void TTbar_Kinematics::bookHistograms(DQMStore::IBooker &i, edm::Run const &r, edm::EventSetup const &e){ DQMHelper dqm(&i); i.setCurrentFolder("Generator/TTbar"); - nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.); + nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.,"bins","Number of Events"); - hTopPt = dqm.book1dHisto("TTbar_TopPt","t quark transverse momentum",1000,0.,1000.); hTopPt->setAxisTitle("t quark transverse momentum"); - hTopY = dqm.book1dHisto("TTbar_TopY","t quark rapidity",200,-5.,5.); hTopY->setAxisTitle("t quark rapidity"); - hTopMass = dqm.book1dHisto("TTbar_TopMass","t quark mass",500,0.,500.); hTopMass->setAxisTitle("t quark mass"); + hTopPt = dqm.book1dHisto("TTbar_TopPt","t quark transverse momentum",1000,0.,1000.,"P_{t}^{t quark} (GeV)","Number of Events"); + hTopY = dqm.book1dHisto("TTbar_TopY","t quark rapidity",200,-5.,5.,"Y_{t quark}","Number of Events"); + hTopMass = dqm.book1dHisto("TTbar_TopMass","t quark mass",500,0.,500.,"M_{t quark} (GeV)","Number of Events"); - hTTbarPt = dqm.book1dHisto("TTbar_TTbarPt","tt pair transverse momentum",1000,0.,1000.); hTTbarPt->setAxisTitle("tt pair transverse momentum"); - hTTbarY = dqm.book1dHisto("TTbar_TTbarY","tt pair rapidity",200,-5.,5.); hTTbarY->setAxisTitle("tt pair rapidity"); - hTTbarMass = dqm.book1dHisto("TTbar_TTbarMass","tt pair mass",1000,0.,1000.); hTTbarMass->setAxisTitle("tt pair mass"); - - hBottomPt = dqm.book1dHisto("TTbar_BottomPt","b quark transverse momentum",1000,0.,1000.); hBottomPt->setAxisTitle("b quark transverse momentum"); - hBottomEta = dqm.book1dHisto("TTbar_BottomEta","b quark pseudo-rapidity",200,-5.,5.); hBottomEta->setAxisTitle("b quark pseudo-rapidity"); - hBottomY = dqm.book1dHisto("TTbar_BottomY","b quark rapidity",200,-5.,5.); hBottomY->setAxisTitle("b quark rapidity"); - hBottomPz = dqm.book1dHisto("TTbar_BottomPz","b quark longitudinal momentum",200,-100.,100.); hBottomPz->setAxisTitle("b quark longitudinal momentum"); - hBottomE = dqm.book1dHisto("TTbar_BottomE","b quark energy",1000,0.,1000.); hBottomE->setAxisTitle("b quark energy"); - hBottomMass = dqm.book1dHisto("TTbar_BottomMass","b quark mass",50,0.,5.); hBottomMass->setAxisTitle("b quark mass"); + hTTbarPt = dqm.book1dHisto("TTbar_TTbarPt","tt pair transverse momentum",1000,0.,1000.,"P_{t}^{tt pair} (GeV)","Number of Events"); + hTTbarY = dqm.book1dHisto("TTbar_TTbarY","tt pair rapidity",200,-5.,5.,"Y_{tt pair}","Number of Events"); + hTTbarMass = dqm.book1dHisto("TTbar_TTbarMass","tt pair mass",1000,0.,1000.,"M_{tt pair} (GeV)","Number of Events"); + + hBottomPt = dqm.book1dHisto("TTbar_BottomPt","b quark transverse momentum",1000,0.,1000.,"P_{t}^{b quark} (GeV)","Number of Events"); + hBottomEta = dqm.book1dHisto("TTbar_BottomEta","b quark pseudo-rapidity",200,-5.,5.,"#eta_{b quark} (GeV)","Number of Events"); + hBottomY = dqm.book1dHisto("TTbar_BottomY","b quark rapidity",200,-5.,5.,"M_{b quark} (GeV)","Number of Events"); + hBottomPz = dqm.book1dHisto("TTbar_BottomPz","b quark longitudinal momentum",200,-100.,100.,"P_{z}^{b quark} (GeV)","Number of Events"); + hBottomE = dqm.book1dHisto("TTbar_BottomE","b quark energy",1000,0.,1000.,"E_{b quark} (GeV)","Number of Events"); + hBottomMass = dqm.book1dHisto("TTbar_BottomMass","b quark mass",50,0.,5.,"M_{b quark} (GeV)","Number of Events"); - hBottomPtPz = dqm.book2dHisto("TTbar_BottomPtPz","b quark longitudinal vs transverse momentum",1000,0.,1000.,200,-100.,100.); hBottomPtPz->setAxisTitle("P_{z} (GeV)",1);hBottomPtPz->setAxisTitle("P_{t} (GeV)",2); - hBottomEtaPz = dqm.book2dHisto("TTbar_BottomEtaPz","b quark longitudinal momentum vs pseudorapidity",200,-5.,5.,200,-100.,100.); hBottomEtaPz->setAxisTitle("#eta",1);hBottomEtaPz->setAxisTitle("P_{z} (GeV)",1); - hBottomEtaPt = dqm.book2dHisto("TTbar_BottomEtaPt"," quark transveral momentum vs pseudorapidity",200,-5.,5.,1000,0.,1000.); hBottomEtaPt->setAxisTitle("#eta");hBottomEtaPt->setAxisTitle("P_{t} (GeV)"); - hBottomYPz = dqm.book2dHisto("TTbar_BottomYPz","b quark longitudinal momentum vs rapidity",200,-5.,5.,200,-100.,100.); hBottomYPz->setAxisTitle("Y");hBottomYPz->setAxisTitle("P_{z} (GeV)"); - hBottomMassPz = dqm.book2dHisto("TTbar_BottomMassPz","b quark longitudinal momentum vs mass",50,0.,5.,200,-100.,100.); hBottomMassPz->setAxisTitle("M (GeV)");hBottomMassPz->setAxisTitle("P_{z} (GeV)"); - hBottomMassEta = dqm.book2dHisto("TTbar_BottomMassEta","b quark pseudorapidity vs mass",50,0.,5.,200,-5.,5.); hBottomMassEta->setAxisTitle("M (GeV)");hBottomMassEta->setAxisTitle("#eta"); - hBottomMassY = dqm.book2dHisto("TTbar_BottomMassY","b quark rapidity vs mass",50,0.,5.,200,-5.,5.); hBottomMassY->setAxisTitle("M (GeV)"); hBottomMassY->setAxisTitle("Y"); - hBottomMassDeltaY = dqm.book2dHisto("TTbar_BottomMassDeltaY","b quark pseudorapidity - rapidity vs mass",50,0.,50.,2000,-5.,5.); hBottomMassDeltaY->setAxisTitle("M (GeV)");hBottomMassDeltaY->setAxisTitle("Y"); - - hWplusPz = dqm.book1dHisto("TTbar_WplusPz","W+ boson longitudinal momentum",200,-100.,100.); hWplusPz->setAxisTitle("W+ boson longitudinal momentum"); - hWminPz = dqm.book1dHisto("TTbar_WminPz","W- boson longitudinal momentum",200,-100.,100.); hWminPz->setAxisTitle("W- boson longitudinal momentum"); + hBottomPtPz = dqm.book2dHisto("TTbar_BottomPtPz","b quark longitudinal vs transverse momentum",1000,0.,1000.,200,-100.,100.,"P_{z}^{b quark} (GeV)","P_{t}^{b quark} (GeV)"); + hBottomEtaPz = dqm.book2dHisto("TTbar_BottomEtaPz","b quark longitudinal momentum vs pseudorapidity",200,-5.,5.,200,-100.,100.,"#eta_{b quark}","P_{z}^{b quark} (GeV)"); + hBottomEtaPt = dqm.book2dHisto("TTbar_BottomEtaPt"," quark transveral momentum vs pseudorapidity",200,-5.,5.,1000,0.,1000.,"#eta_{b quark}","P_{t}^{b quark} (GeV)"); + hBottomYPz = dqm.book2dHisto("TTbar_BottomYPz","b quark longitudinal momentum vs rapidity",200,-5.,5.,200,-100.,100.,"Y_{b quark}","P_{z}^{b quark} (GeV)"); + hBottomMassPz = dqm.book2dHisto("TTbar_BottomMassPz","b quark longitudinal momentum vs mass",50,0.,5.,200,-100.,100.,"M_{b quark} (GeV)","P_{z}^{b quark} (GeV)"); + hBottomMassEta = dqm.book2dHisto("TTbar_BottomMassEta","b quark pseudorapidity vs mass",50,0.,5.,200,-5.,5.,"M_{b quark} (GeV)","#eta_{b quark}"); + hBottomMassY = dqm.book2dHisto("TTbar_BottomMassY","b quark rapidity vs mass",50,0.,5.,200,-5.,5.,"M_{b quark} (GeV)","Y_{b quark}"); + hBottomMassDeltaY = dqm.book2dHisto("TTbar_BottomMassDeltaY","b quark pseudorapidity - rapidity vs mass",50,0.,50.,2000,-5.,5.,"M_{b quark} (GeV)","Y_{b quark}"); + + hWplusPz = dqm.book1dHisto("TTbar_WplusPz","W+ boson longitudinal momentum",200,-100.,100.,"P_{z}^{W+} (GeV)","Number of Events"); + hWminPz = dqm.book1dHisto("TTbar_WminPz","W- boson longitudinal momentum",200,-100.,100.,"P_{z}^{W-} (GeV)","Number of Events"); } diff --git a/Validation/EventGenerator/plugins/TauValidation.cc b/Validation/EventGenerator/plugins/TauValidation.cc index 98c2c19a95f63..e174b79877f29 100644 --- a/Validation/EventGenerator/plugins/TauValidation.cc +++ b/Validation/EventGenerator/plugins/TauValidation.cc @@ -36,15 +36,15 @@ void TauValidation::bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm:: ///Setting the DQM top directories DQMHelper dqm(&i); i.setCurrentFolder("Generator/Tau"); // Number of analyzed events - nTaus = dqm.book1dHisto("nTaus", "n analyzed Taus", 1, 0., 1.); - nPrimeTaus = dqm.book1dHisto("nPrimeTaus", "n analyzed prime Taus", 1, 0., 1.); + nTaus = dqm.book1dHisto("nTaus", "n analyzed Taus", 1, 0., 1.,"bin","Number of #tau's found"); + nPrimeTaus = dqm.book1dHisto("nPrimeTaus", "n analyzed prime Taus", 1, 0., 1.,"bin","Number of #tau's from Gauge Bosons"); //Kinematics - TauPt = dqm.book1dHisto("TauPt","Tau pT", 100 ,0,100); - TauEta = dqm.book1dHisto("TauEta","Tau eta", 100 ,-2.5,2.5); - TauPhi = dqm.book1dHisto("TauPhi","Tau phi", 100 ,-3.14,3.14); - TauProngs = dqm.book1dHisto("TauProngs","Tau n prongs", 7 ,0,7); - TauDecayChannels = dqm.book1dHisto("TauDecayChannels","Tau decay channels", 13 ,0,13); + TauPt = dqm.book1dHisto("TauPt","Tau pT", 100 ,0,100,"P_{T}^{#tau}","Number of #tau's from Gauge Bosons"); + TauEta = dqm.book1dHisto("TauEta","Tau eta", 100 ,-2.5,2.5,"#eta^{#tau}","Number of #tau's from Gauge Bosons"); + TauPhi = dqm.book1dHisto("TauPhi","Tau phi", 100 ,-3.14,3.14,"#phi^{#tau}","Number of #tau's from Gauge Bosons"); + TauProngs = dqm.book1dHisto("TauProngs","Tau n prongs", 7 ,0,7,"N_{prongs}","Number of #tau's from Gauge Bosons"); + TauDecayChannels = dqm.book1dHisto("TauDecayChannels","Tau decay channels", 13 ,0,13,"Tau POG Decay Mode","Number of #tau's from Gauge Bosons"); TauDecayChannels->setBinLabel(1+undetermined,"?"); TauDecayChannels->setBinLabel(1+electron,"e"); TauDecayChannels->setBinLabel(1+muon,"mu"); @@ -59,7 +59,7 @@ void TauValidation::bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm:: TauDecayChannels->setBinLabel(1+Kstar,"K^{*}"); TauDecayChannels->setBinLabel(1+stable,"Stable"); - TauMothers = dqm.book1dHisto("TauMothers","Tau mother particles", 10 ,0,10); + TauMothers = dqm.book1dHisto("TauMothers","Tau mother particles", 10 ,0,10,"Mother of #tau","Number of #tau's"); TauMothers->setBinLabel(1+other,"?"); TauMothers->setBinLabel(1+B,"B Decays"); @@ -71,88 +71,82 @@ void TauValidation::bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm:: TauMothers->setBinLabel(1+H0,"H^{0}"); TauMothers->setBinLabel(1+A0,"A^{0}"); TauMothers->setBinLabel(1+Hpm,"H^{#pm}"); + + DecayLength = dqm.book1dHisto("DecayLength","#tau Decay Length", 100 ,-20,20,"L_{#tau} (cm)","Number of #tau's from Gauge Bosons"); + LifeTime = dqm.book1dHisto("LifeTime","#tau LifeTime ", 500 ,0,10000E-15,"#tau_{#tau} (s)","Number of #tau's from Gauge Bosons"); - DecayLength = dqm.book1dHisto("DecayLength","#tau Decay Length", 100 ,-20,20); DecayLength->setAxisTitle("L_{#tau} (cm)"); - LifeTime = dqm.book1dHisto("LifeTime","#tau LifeTime ", 500 ,0,10000E-15); LifeTime->setAxisTitle("#tau_{#tau} (s)"); - - TauSpinEffectsW_X = dqm.book1dHisto("TauSpinEffectsWX","X for pion", 50 ,0,1); TauSpinEffectsW_X->setAxisTitle("X"); - TauSpinEffectsHpm_X = dqm.book1dHisto("TauSpinEffectsHpmX","X for pion", 50 ,0,1); TauSpinEffectsHpm_X->setAxisTitle("X"); + TauSpinEffectsW_X = dqm.book1dHisto("TauSpinEffectsWX","X for pion", 50 ,0,1,"X","Number of #tau#rightarrow#pi#nu from W^{#pm} Bosons"); + TauSpinEffectsHpm_X = dqm.book1dHisto("TauSpinEffectsHpmX","X for pion", 50 ,0,1,"X","Number of #tau#rightarrow#pi#nu from H^{#pm} Bosons"); - TauSpinEffectsW_eX = dqm.book1dHisto("TauSpinEffectsWeX","X for e", 50 ,0,1); TauSpinEffectsW_eX->setAxisTitle("X"); - TauSpinEffectsHpm_eX = dqm.book1dHisto("TauSpinEffectsHpmeX","X for e", 50 ,0,1); TauSpinEffectsHpm_eX->setAxisTitle("X"); + TauSpinEffectsW_eX = dqm.book1dHisto("TauSpinEffectsWeX","X for e", 50 ,0,1,"X","Number of #tau#rightarrowe#nu#nu from W^{#pm} Bosons"); + TauSpinEffectsHpm_eX = dqm.book1dHisto("TauSpinEffectsHpmeX","X for e", 50 ,0,1,"X","Number of #tau#rightarrowe#nu#nu from H^{#pm} Bosons"); - TauSpinEffectsW_muX = dqm.book1dHisto("TauSpinEffectsWmuX","X for mu", 50 ,0,1); TauSpinEffectsW_muX->setAxisTitle("X"); - TauSpinEffectsHpm_muX = dqm.book1dHisto("TauSpinEffectsHpmmuX","X for mue", 50 ,0,1); TauSpinEffectsHpm_muX->setAxisTitle("X"); + TauSpinEffectsW_muX = dqm.book1dHisto("TauSpinEffectsWmuX","X for mu", 50 ,0,1,"X","Number of #tau#rightarrow#mu#nu#nu from W^{#pm} Bosons"); + TauSpinEffectsHpm_muX = dqm.book1dHisto("TauSpinEffectsHpmmuX","X for mue", 50 ,0,1,"X","Number of #tau#rightarrow#mu#nu#nu from H^{#pm} Bosons"); - TauSpinEffectsW_UpsilonRho = dqm.book1dHisto("TauSpinEffectsWUpsilonRho","#Upsilon for #rho", 50 ,-1,1); TauSpinEffectsW_UpsilonRho->setAxisTitle("#Upsilon"); - TauSpinEffectsHpm_UpsilonRho = dqm.book1dHisto("TauSpinEffectsHpmUpsilonRho","#Upsilon for #rho", 50 ,-1,1); TauSpinEffectsHpm_UpsilonRho->setAxisTitle("#Upsilon"); + TauSpinEffectsW_UpsilonRho = dqm.book1dHisto("TauSpinEffectsWUpsilonRho","#Upsilon for #rho", 50 ,-1,1,"#Upsilon","Number of #tau#rightarrow#rho#nu from Gauge Bosons"); + TauSpinEffectsHpm_UpsilonRho = dqm.book1dHisto("TauSpinEffectsHpmUpsilonRho","#Upsilon for #rho", 50 ,-1,1,"#Upsilon","Number of #tau#rightarrow#rho#nu from Gauge Bosons"); - TauSpinEffectsW_UpsilonA1 = dqm.book1dHisto("TauSpinEffectsWUpsilonA1","#Upsilon for a1", 50 ,-1,1); TauSpinEffectsW_UpsilonA1->setAxisTitle("#Upsilon"); - TauSpinEffectsHpm_UpsilonA1 = dqm.book1dHisto("TauSpinEffectsHpmUpsilonA1","#Upsilon for a1", 50 ,-1,1); TauSpinEffectsHpm_UpsilonA1->setAxisTitle("#Upsilon"); + TauSpinEffectsW_UpsilonA1 = dqm.book1dHisto("TauSpinEffectsWUpsilonA1","#Upsilon for a1", 50 ,-1,1,"#Upsilon","Number of #tau#rightarrow#pi#pi#pi#nu from Gauge Bosons"); + TauSpinEffectsHpm_UpsilonA1 = dqm.book1dHisto("TauSpinEffectsHpmUpsilonA1","#Upsilon for a1", 50 ,-1,1,"#Upsilon","Number of #tau#rightarrow#pi#pi#pi#nu from Gauge Bosons"); - TauSpinEffectsH_pipiAcoplanarity = dqm.book1dHisto("TauSpinEffectsH_pipiAcoplanarity","H Acoplanarity for #pi^{-}#pi^{+}", 50 ,0,2*TMath::Pi()); TauSpinEffectsH_pipiAcoplanarity->setAxisTitle("Acoplanarity"); + TauSpinEffectsH_pipiAcoplanarity = dqm.book1dHisto("TauSpinEffectsH_pipiAcoplanarity","H Acoplanarity for #pi^{-}#pi^{+}", 50 ,0,2*TMath::Pi(),"Acoplanarity","Number of H#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu) Events"); - TauSpinEffectsH_pipiAcollinearity = dqm.book1dHisto("TauSpinEffectsH_pipiAcollinearity","H Acollinearity for #pi^{-}#pi^{+}", 50 ,0,TMath::Pi()); TauSpinEffectsH_pipiAcollinearity->setAxisTitle("Acollinearity"); - TauSpinEffectsH_pipiAcollinearityzoom = dqm.book1dHisto("TauSpinEffectsH_pipiAcollinearityzoom","H Acollinearity for #pi^{-}#pi^{+}", 50 ,3,TMath::Pi()); TauSpinEffectsH_pipiAcollinearityzoom->setAxisTitle("Acollinearity"); + TauSpinEffectsH_pipiAcollinearity = dqm.book1dHisto("TauSpinEffectsH_pipiAcollinearity","H Acollinearity for #pi^{-}#pi^{+}", 50 ,0,TMath::Pi(),"Acollinearity","Number of H#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu) Events"); + TauSpinEffectsH_pipiAcollinearityzoom = dqm.book1dHisto("TauSpinEffectsH_pipiAcollinearityzoom","H Acollinearity for #pi^{-}#pi^{+}", 50 ,3,TMath::Pi(),"Acollinearity","Number of H#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu) Events"); - TauSpinEffectsZ_MVis = dqm.book1dHisto("TauSpinEffectsZMVis","Mass of pi+ pi-", 25 ,0,1.1); TauSpinEffectsZ_MVis->setAxisTitle("M_{#pi^{+}#pi^{-}}"); - TauSpinEffectsH_MVis = dqm.book1dHisto("TauSpinEffectsHMVis","Mass of pi+ pi-", 25 ,0,1.1); TauSpinEffectsZ_MVis->setAxisTitle("M_{#pi^{+}#pi^{-}}"); + TauSpinEffectsZ_MVis = dqm.book1dHisto("TauSpinEffectsZMVis","Mass of pi+ pi-", 25 ,0,1.1,"M_{#pi^{+}#pi^{-}} (GeV)","Number of Z#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu) Events"); + TauSpinEffectsH_MVis = dqm.book1dHisto("TauSpinEffectsHMVis","Mass of pi+ pi-", 25 ,0,1.1,"M_{#pi^{+}#pi^{-}} (GeV)","Number of H#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu) Events"); - TauSpinEffectsZ_Zs = dqm.book1dHisto("TauSpinEffectsZZs","Z_{s}", zsbins ,zsmin,zsmax); TauSpinEffectsZ_Zs->setAxisTitle("Z_{s}"); - TauSpinEffectsH_Zs = dqm.book1dHisto("TauSpinEffectsHZs","Z_{s}", zsbins ,zsmin,zsmax); TauSpinEffectsZ_Zs->setAxisTitle("Z_{s}"); + TauSpinEffectsZ_Zs = dqm.book1dHisto("TauSpinEffectsZZs","Z_{s}", zsbins ,zsmin,zsmax,"Z_{s}","Number of Z#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu Events"); + TauSpinEffectsH_Zs = dqm.book1dHisto("TauSpinEffectsHZs","Z_{s}", zsbins ,zsmin,zsmax,"Z_{s}","Number of H#rightarrow#tau^{-}(#rightarrow#pi^{-}#nu)#tau^{+}(#rightarrow#pi^{+}#nu Events"); - TauSpinEffectsZ_X= dqm.book1dHisto("TauSpinEffectsZX","X for pion of #tau^{-}", 25 ,0,1.0); TauSpinEffectsZ_X->setAxisTitle("X"); - TauSpinEffectsZ_X50to75= dqm.book1dHisto("TauSpinEffectsZX50to75","X for pion of #tau^{-} (50GeV-75GeV)", 10 ,0,1.0); TauSpinEffectsZ_X->setAxisTitle("X"); - TauSpinEffectsZ_X75to88= dqm.book1dHisto("TauSpinEffectsZX75to88","X for pion of #tau^{-} (75GeV-88GeV)", 10 ,0,1.0); TauSpinEffectsZ_X->setAxisTitle("X"); - TauSpinEffectsZ_X88to100= dqm.book1dHisto("TauSpinEffectsZX88to100","X for pion of #tau^{-} (88GeV-100GeV)", 10 ,0,1.0); TauSpinEffectsZ_X->setAxisTitle("X"); - TauSpinEffectsZ_X100to120= dqm.book1dHisto("TauSpinEffectsZX100to120","X for pion of #tau^{-} (100GeV-120GeV)", 10 ,0,1.0); TauSpinEffectsZ_X->setAxisTitle("X"); - TauSpinEffectsZ_X120UP= dqm.book1dHisto("TauSpinEffectsZX120UP","X for pion of #tau^{-} (>120GeV)", 10 ,0,1.0); TauSpinEffectsZ_X->setAxisTitle("X"); + TauSpinEffectsZ_X= dqm.book1dHisto("TauSpinEffectsZX","X for pion of #tau^{-}", 25 ,0,1.0,"X","Number of #tau#rightarrow#pi#nu from Z Bosons"); + TauSpinEffectsZ_X50to75= dqm.book1dHisto("TauSpinEffectsZX50to75","X for pion of #tau^{-} (50GeV-75GeV)", 10 ,0,1.0,"X","Number of #tau#rightarrow#pi#nu from Z(50GeV120GeV)", 10 ,0,1.0,"X","Number of #tau#rightarrow#pi#nu from Z(120GeVsetAxisTitle("X"); + TauSpinEffectsH_X= dqm.book1dHisto("TauSpinEffectsH_X","X for pion of #tau^{-}", 25 ,0,1.0,"X","Number of #tau#rightarrow#pi#nu from H Bosons"); - TauSpinEffectsZ_Xf = dqm.book1dHisto("TauSpinEffectsZXf","X for pion of forward emitted #tau^{-}", 25 ,0,1.0); TauSpinEffectsZ_Xf->setAxisTitle("X_{f}"); - TauSpinEffectsH_Xf = dqm.book1dHisto("TauSpinEffectsHXf","X for pion of forward emitted #tau^{-}", 25 ,0,1.0); TauSpinEffectsZ_Xf->setAxisTitle("X_{f}"); + TauSpinEffectsZ_Xf = dqm.book1dHisto("TauSpinEffectsZXf","X for pion of forward emitted #tau^{-}", 25 ,0,1.0,"X_{f}","Number of #tau#rightarrow#pi#nu from Z Bosons"); + TauSpinEffectsH_Xf = dqm.book1dHisto("TauSpinEffectsHXf","X for pion of forward emitted #tau^{-}", 25 ,0,1.0,"X_{f}","Number of #tau#rightarrow#pi#nu from H Bosons"); - TauSpinEffectsZ_Xb = dqm.book1dHisto("TauSpinEffectsZXb","X for pion of backward emitted #tau^{-}", 25 ,0,1.0); TauSpinEffectsZ_Xb->setAxisTitle("X_{b}"); - TauSpinEffectsH_Xb = dqm.book1dHisto("TauSpinEffectsHXb","X for pion of backward emitted #tau^{-}", 25 ,0,1.0); TauSpinEffectsZ_Xb->setAxisTitle("X_{b}"); + TauSpinEffectsZ_Xb = dqm.book1dHisto("TauSpinEffectsZXb","X for pion of backward emitted #tau^{-}", 25 ,0,1.0,"X_{b}","Number of #tau#rightarrow#pi#nu from Z Bosons"); + TauSpinEffectsH_Xb = dqm.book1dHisto("TauSpinEffectsHXb","X for pion of backward emitted #tau^{-}", 25 ,0,1.0,"X_{b}","Number of #tau#rightarrow#pi#nu from H Bosons"); - TauSpinEffectsZ_eX = dqm.book1dHisto("TauSpinEffectsZeX","X for e", 50 ,0,1); TauSpinEffectsZ_eX->setAxisTitle("X"); - TauSpinEffectsH_eX = dqm.book1dHisto("TauSpinEffectsHeX","X for e", 50 ,0,1); TauSpinEffectsH_eX->setAxisTitle("X"); + TauSpinEffectsZ_eX = dqm.book1dHisto("TauSpinEffectsZeX","X for e", 50 ,0,1,"X","Number of #tau#rightarrowe#nu#nu from Gauge Bosons"); + TauSpinEffectsH_eX = dqm.book1dHisto("TauSpinEffectsHeX","X for e", 50 ,0,1,"X","Number of #tau#rightarrowe#nu#nu from Gauge Bosons"); - TauSpinEffectsZ_muX = dqm.book1dHisto("TauSpinEffectsZmuX","X for mu", 50 ,0,1); TauSpinEffectsZ_muX->setAxisTitle("X"); - TauSpinEffectsH_muX = dqm.book1dHisto("TauSpinEffectsHmuX","X for mu", 50 ,0,1); TauSpinEffectsH_muX->setAxisTitle("X"); + TauSpinEffectsZ_muX = dqm.book1dHisto("TauSpinEffectsZmuX","X for mu", 50 ,0,1,"X","Number of #tau#rightarrow#mu#nu#nu from Gauge Bosons"); + TauSpinEffectsH_muX = dqm.book1dHisto("TauSpinEffectsHmuX","X for mu", 50 ,0,1,"X","Number of #tau#rightarrow#mu#nu#nu from Gauge Bosons"); - TauSpinEffectsH_rhorhoAcoplanarityminus = dqm.book1dHisto("TauSpinEffectsH_rhorhoAcoplanarityminus","#phi^{*-} (acoplanarity) for Higgs #rightarrow #rho-#rho (y_{1}*y_{2}<0)", 32 ,0,2*TMath::Pi()); TauSpinEffectsH_rhorhoAcoplanarityminus->setAxisTitle("#phi^{*-} (Acoplanarity)"); - TauSpinEffectsH_rhorhoAcoplanarityplus = dqm.book1dHisto("TauSpinEffectsH_rhorhoAcoplanarityplus","#phi^{*+} (acoplanarity) for Higgs #rightarrow #rho-#rho (y_{1}*y_{2}>0)", 32 ,0,2*TMath::Pi()); TauSpinEffectsH_rhorhoAcoplanarityplus->setAxisTitle("#phi^{*+} (Acoplanarity)"); + TauSpinEffectsH_rhorhoAcoplanarityminus = dqm.book1dHisto("TauSpinEffectsH_rhorhoAcoplanarityminus","#phi^{*-} (acoplanarity) for Higgs #rightarrow #rho-#rho (y_{1}*y_{2}<0)", 32 ,0,2*TMath::Pi(),"#phi^{*-} (Acoplanarity)","Number of H#rightarrow#tau^{-}(#rightarrow#rho^{-}#nu)#tau^{+}(#rightarrow#rho^{+}#nu) Events"); + TauSpinEffectsH_rhorhoAcoplanarityplus = dqm.book1dHisto("TauSpinEffectsH_rhorhoAcoplanarityplus","#phi^{*+} (acoplanarity) for Higgs #rightarrow #rho-#rho (y_{1}*y_{2}>0)", 32 ,0,2*TMath::Pi(),"#phi^{*+} (Acoplanarity)","Number of H#rightarrow#tau^{-}(#rightarrow#rho^{-}#nu)#tau^{+}(#rightarrow#rho^{+}#nu) Events"); - TauFSRPhotonsN=dqm.book1dHisto("TauFSRPhotonsN","FSR Photons radiating from/with tau (Gauge Boson)", 5 ,-0.5,4.5); - TauFSRPhotonsN->setAxisTitle("N FSR Photons radiating from/with tau"); - TauFSRPhotonsPt=dqm.book1dHisto("TauFSRPhotonsPt","Pt of FSR Photons radiating from/with tau (Gauge Boson)", 100 ,0,100); - TauFSRPhotonsPt->setAxisTitle("P_{t} of FSR Photons radiating from/with tau [per tau]"); - TauFSRPhotonsPtSum=dqm.book1dHisto("TauFSRPhotonsPtSum","Pt of FSR Photons radiating from/with tau (Gauge Boson)", 100 ,0,100); - TauFSRPhotonsPtSum->setAxisTitle("P_{t} of FSR Photons radiating from/with tau [per tau]"); - - TauBremPhotonsN=dqm.book1dHisto("TauBremPhotonsN","Brem. Photons radiating in tau decay", 5 ,-0.5,4.5); - TauBremPhotonsN->setAxisTitle("N FSR Photons radiating from/with tau"); - TauBremPhotonsPt=dqm.book1dHisto("TauBremPhotonsPt","Sum Brem Pt ", 100 ,0,100); - TauFSRPhotonsPt->setAxisTitle("P_{t} of Brem. Photons radiating in tau decay"); - TauBremPhotonsPtSum =dqm.book1dHisto("TauBremPhotonsPtSum","Sum of Brem Pt ", 100 ,0,100); - TauFSRPhotonsPtSum->setAxisTitle("Sum P_{t} of Brem. Photons radiating in tau decay"); + TauFSRPhotonsN=dqm.book1dHisto("TauFSRPhotonsN","FSR Photons radiating from/with tau (Gauge Boson)", 5 ,-0.5,4.5,"N^{FSR Photons radiating from/with #tau}","Number of #tau's from Gauge Bosons"); + TauFSRPhotonsPt=dqm.book1dHisto("TauFSRPhotonsPt","Pt of FSR Photons radiating from/with tau (Gauge Boson)", 100 ,0,100,"P_{t}^{FSR Photons radiating from/with #tau [per #tau]} (GeV)","Number of #tau's from Gauge Bosons"); + TauFSRPhotonsPtSum=dqm.book1dHisto("TauFSRPhotonsPtSum","Pt of FSR Photons radiating from/with tau (Gauge Boson)", 100 ,0,100,"P_{t}^{FSR Photons radiating from/with #tau [per #tau]} (GeV)","Number of #tau's from Gauge Bosons"); + + TauBremPhotonsN=dqm.book1dHisto("TauBremPhotonsN","Brem. Photons radiating in tau decay", 5 ,-0.5,4.5,"N FSR Photons radiating from/with tau","Number of #tau's from Gauge Bosons"); + TauBremPhotonsPt=dqm.book1dHisto("TauBremPhotonsPt","Sum Brem Pt ", 100 ,0,100,"P_{t}^{Brem. Photons radiating in tau decay} (GeV)","Number of #tau's from Gauge Bosons"); + TauBremPhotonsPtSum =dqm.book1dHisto("TauBremPhotonsPtSum","Sum of Brem Pt ", 100 ,0,100,"Sum P_{t}^{Brem. Photons radiating in tau decay} (GeV)","Number of #tau's from Gauge Bosons"); MODEID =dqm.book1dHisto("JAKID","JAK ID",NMODEID+1,-0.5,NMODEID+0.5); for(unsigned int j=0; j()); - TString tmp="JAKID"; - tmp+=j; - MODEInvMass.at(j).push_back(dqm.book1dHisto("M"+std::string(tmp.Data()),"M_{"+std::string(tmp.Data())+"} (GeV)", 80 ,0,2.0)); + std::string tmp="JAKID"; + tmp+=std::to_string(j); + MODEInvMass.at(j).push_back(dqm.book1dHisto("M"+tmp,"M_{"+TauDecay::DecayMode(j)+"} (GeV)", 80 ,0,2.0,"M_{"+TauDecay::DecayMode(j)+"} (GeV)","Number of #tau's from Gauge Bosons")); MODEID->setBinLabel(1+j,TauDecay::DecayMode(j)); if(j==TauDecay::MODE_3PI || j==TauDecay::MODE_PI2PI0 || j==TauDecay::MODE_KPIK || j==TauDecay::MODE_KPIPI ){ - MODEInvMass.at(j).push_back(dqm.book1dHisto("M13"+std::string(tmp.Data()),"M_{13,"+std::string(tmp.Data())+"} (GeV)", 80 ,0,2.0)); - MODEInvMass.at(j).push_back(dqm.book1dHisto("M23"+std::string(tmp.Data()),"M_{23,"+std::string(tmp.Data())+"} (GeV)", 80 ,0,2.0)); - MODEInvMass.at(j).push_back(dqm.book1dHisto("M12"+std::string(tmp.Data()),"M_{12,"+std::string(tmp.Data())+"} (GeV)", 80 ,0,2.0)); + MODEInvMass.at(j).push_back(dqm.book1dHisto("M13"+tmp,"M_{13,"+TauDecay::DecayMode(j)+"} (GeV)", 80 ,0,2.0,"M_{13,"+TauDecay::DecayMode(j)+"} (GeV)","Number of #tau's from Gauge Bosons")); + MODEInvMass.at(j).push_back(dqm.book1dHisto("M23"+tmp,"M_{23,"+TauDecay::DecayMode(j)+"} (GeV)", 80 ,0,2.0,"M_{23,"+TauDecay::DecayMode(j)+"} (GeV)","Number of #tau's from Gauge Bosons")); + MODEInvMass.at(j).push_back(dqm.book1dHisto("M12"+tmp,"M_{12,"+TauDecay::DecayMode(j)+"} (GeV)", 80 ,0,2.0,"M_{12,"+TauDecay::DecayMode(j)+"} (GeV)","Number of #tau's from Gauge Bosons")); } } return; diff --git a/Validation/EventGenerator/plugins/WValidation.cc b/Validation/EventGenerator/plugins/WValidation.cc index d1c1ab967e313..980dc0d4e8e32 100644 --- a/Validation/EventGenerator/plugins/WValidation.cc +++ b/Validation/EventGenerator/plugins/WValidation.cc @@ -34,27 +34,27 @@ void WValidation::bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::Ev DQMHelper dqm(&i); i.setCurrentFolder(folderName.c_str()); // Number of analyzed events - nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.); + nEvt = dqm.book1dHisto("nEvt", "n analyzed Events", 1, 0., 1.,"bin","Number of Events"); //Kinematics - Wmass = dqm.book1dHisto("Wmass","inv. Mass W", 70 ,0,140); - WmassPeak = dqm.book1dHisto("WmassPeak","inv. Mass W", 80 ,80 ,100); - Wpt = dqm.book1dHisto("Wpt","W pt",100,0,200); - WptLog = dqm.book1dHisto("WptLog","log(W pt)",100,0.,5.); - Wrap = dqm.book1dHisto("Wrap", "W y", 100, -5, 5); - Wdaughters = dqm.book1dHisto("Wdaughters", "W daughters", 60, -30, 30); - - lepmet_mT = dqm.book1dHisto("lepmet_mT","lepton-met transverse mass", 70 ,0,140); - lepmet_mTPeak = dqm.book1dHisto("lepmet_mTPeak","lepton-met transverse mass", 80 ,80 ,100); - lepmet_pt = dqm.book1dHisto("lepmet_pt","lepton-met",100,0,200); - lepmet_ptLog = dqm.book1dHisto("lepmet_ptLog","log(lepton-met pt)",100,0.,5.); - - gamma_energy = dqm.book1dHisto("gamma_energy", "photon energy in W rest frame", 200, 0., 100.); - cos_theta_gamma_lepton = dqm.book1dHisto("cos_theta_gamma_lepton", "cos_theta_gamma_lepton in W rest frame", 200, -1, 1); - - leppt = dqm.book1dHisto("leadpt","lepton pt", 200, 0., 200.); - met = dqm.book1dHisto("met","met", 200, 0., 200.); - lepeta = dqm.book1dHisto("leadeta","leading lepton eta", 100, -5., 5.); + Wmass = dqm.book1dHisto("Wmass","inv. Mass W", 70 ,0,140,"M_{T}^{W} (GeV)","Number of Events"); + WmassPeak = dqm.book1dHisto("WmassPeak","inv. Mass W", 80 ,80 ,100,"M_{T}^{W} (GeV)","Number of Events"); + Wpt = dqm.book1dHisto("Wpt","W pt",100,0,200,"P_{T}^{W} (GeV)","Number of Events"); + WptLog = dqm.book1dHisto("WptLog","log(W pt)",100,0.,5.,"Log_{10}(P_{T}^{W}) (GeV)","Number of Events"); + Wrap = dqm.book1dHisto("Wrap", "W y", 100, -5, 5,"Y^{W}","Number of Events"); + Wdaughters = dqm.book1dHisto("Wdaughters", "W daughters", 60, -30, 30,"W daughters (PDG ID)","Number of Events"); + + lepmet_mT = dqm.book1dHisto("lepmet_mT","lepton-met transverse mass", 70 ,0,140,"M_{T}^{Lepton_{T}+E_{T}^{Miss}} (GeV)","Number of Events"); + lepmet_mTPeak = dqm.book1dHisto("lepmet_mTPeak","lepton-met transverse mass", 80 ,80 ,100,"M_{T}^{Lepton_{T}+E_{T}^{Miss}} (GeV)","Number of Events"); + lepmet_pt = dqm.book1dHisto("lepmet_pt","lepton-met",100,0,200,"P_{T}^{Lepton_{T}+E_{T}^{Miss}} (GeV)","Number of Events"); + lepmet_ptLog = dqm.book1dHisto("lepmet_ptLog","log(lepton-met pt)",100,0.,5.,"log_{10}(P_{T}^{Lepton_{T}+E_{T}^{Miss}}) (Log_{10}(GeV))","Number of Events"); + + gamma_energy = dqm.book1dHisto("gamma_energy", "photon energy in W rest frame", 200, 0., 100.,"E_{#gamma}^{W rest-frame}","Number of Events"); + cos_theta_gamma_lepton = dqm.book1dHisto("cos_theta_gamma_lepton", "cos_theta_gamma_lepton in W rest frame", 200, -1, 1,"cos(#theta_{#gamma-lepton}^{W rest-frame})","Number of Events"); + + leppt = dqm.book1dHisto("leadpt","lepton pt", 200, 0., 200.,"P_{t}^{Lead-Lepton} (GeV)","Number of Events"); + met = dqm.book1dHisto("met","met", 200, 0., 200.,"E_{T}^{Miss} (GeV)","Number of Events"); + lepeta = dqm.book1dHisto("leadeta","leading lepton eta", 100, -5., 5.,"#eta^{Lead-Lepton}","Number of Events"); return; } diff --git a/Validation/EventGenerator/python/BPhysicsValidation_cfi.py b/Validation/EventGenerator/python/BPhysicsValidation_cfi.py new file mode 100644 index 0000000000000..2778a8c13451c --- /dev/null +++ b/Validation/EventGenerator/python/BPhysicsValidation_cfi.py @@ -0,0 +1,90 @@ +import FWCore.ParameterSet.Config as cms + +JPsiMuMuValidation = cms.EDAnalyzer("BPhysicsValidation", + genparticleCollection = cms.InputTag("genParticles",""), + name = cms.string("JPsiMuMuValidation"), + pname = cms.string("J/#Psi"), + pdgid = cms.int32(443), + massmin = cms.double(3.0), + massmax = cms.double(4.0), + daughters = cms.vstring("muminus","muplus"), + muminus = cms.untracked.PSet(pname = cms.string("#mu^{-}"), + pdgid = cms.int32(13), + massmin = cms.double(0.1), + massmax = cms.double(0.2), + + ), + muplus = cms.untracked.PSet(pname = cms.string("#mu^{+}"), + pdgid = cms.int32(-13), + massmin = cms.double(0.1), + massmax = cms.double(0.2), + ) + ) + +LambdabPiPiMuMuValidation = cms.EDAnalyzer("BPhysicsValidation", + genparticleCollection = cms.InputTag("genParticles",""), + name = cms.string("LambdabPiPiMuMuValidation"), + pname = cms.string("#Lambda_{b}"), + pdgid = cms.int32(5122), + massmin = cms.double(5.5), + massmax = cms.double(6.0), + daughters = cms.vstring("muminus","muplus","piminus","piplus","pminus","pplus","Lambda","Lambdabar"), + muminus = cms.untracked.PSet(pname = cms.string("#mu^{-}"), + pdgid = cms.int32(13), + massmin = cms.double(0.1), + massmax = cms.double(0.2), + ), + muplus = cms.untracked.PSet(pname = cms.string("#mu^{+}"), + pdgid = cms.int32(-13), + massmin = cms.double(0.1), + massmax = cms.double(0.2), + ), + piminus = cms.untracked.PSet(pname = cms.string("#pi^{-}"), + pdgid = cms.int32(-211), + massmin = cms.double(0.1), + massmax = cms.double(0.2), + ), + piplus = cms.untracked.PSet(pname = cms.string("#pi^{+}"), + pdgid = cms.int32(211), + massmin = cms.double(0.1), + massmax = cms.double(0.2), + ), + pminus = cms.untracked.PSet(pname = cms.string("p^{-}"), + pdgid = cms.int32(-2212), + massmin = cms.double(0.9), + massmax = cms.double(1.1), + ), + pplus = cms.untracked.PSet(pname = cms.string("p^{+}"), + pdgid = cms.int32(2212), + massmin = cms.double(0.9), + massmax = cms.double(1.1), + ), + Lambda = cms.untracked.PSet(pname = cms.string("#Lambda"), + pdgid = cms.int32(3122), + massmin = cms.double(1.0), + massmax = cms.double(1.2), + ), + Lambdabar = cms.untracked.PSet(pname = cms.string("#bar{#Lambda}"), + pdgid = cms.int32(-3122), + massmin = cms.double(1.0), + massmax = cms.double(1.2), + ) + ) + + + +PsiSpectrum = cms.EDAnalyzer("BPhysicsSpectrum", + genparticleCollection = cms.InputTag("genParticles",""), + name = cms.string("JPsiSpectrum"), + pdgids = cms.vint32(443,100443,30443,9000443,9010443,9020443), + massmin = cms.double(3.0), + massmax = cms.double(4.5) + ) + +LambdaSpectrum = cms.EDAnalyzer("BPhysicsSpectrum", + genparticleCollection = cms.InputTag("genParticles",""), + name = cms.string("LambdaSpectrum"), + pdgids = cms.vint32(5122), + massmin = cms.double(5.5), + massmax = cms.double(6.0) + ) diff --git a/Validation/EventGenerator/python/BasicGenValidation_cff.py b/Validation/EventGenerator/python/BasicGenValidation_cff.py index 60a0e989e2c61..6a5bd2f35c65c 100644 --- a/Validation/EventGenerator/python/BasicGenValidation_cff.py +++ b/Validation/EventGenerator/python/BasicGenValidation_cff.py @@ -23,10 +23,12 @@ #TTbar Analyzer from Validation.EventGenerator.TTbar_Validation_cfi import * - #Higgs from Validation.EventGenerator.HiggsValidation_cfi import * +#B-physics +from Validation.EventGenerator.BPhysicsValidation_cfi import * + # define sequences... basicGenTest_seq = cms.Sequence(basicHepMCValidation+basicGenParticleValidation) duplicationChecker_seq = cms.Sequence(duplicationChecker) @@ -37,12 +39,12 @@ genLeptons_seq = cms.Sequence(genParticlesShortList*genParticlesMuons*genParticlesElectrons*genParticlesNeutrinos) analyzeGenLeptons_seq = cms.Sequence(analyzeGenMuons*analyzeGenElecs*analyzeGenNtrns) TTbarfull_seq = cms.Sequence(TTbarAnalyzeSpinCorr*analyzeTopKinematics*genLeptons_seq*analyzeGenLeptons_seq*analyzeGenJets) - +bphysics = cms.Sequence(JPsiMuMuValidation*LambdabPiPiMuMuValidation*LambdaSpectrum*PsiSpectrum) # master sequences for different processes/topologies validation genvalid = cms.Sequence(basicGenTest_seq) genvalid_qcd = cms.Sequence(basicGenTest_seq+mbueAndqcdValidation_seq) genvalid_dy = cms.Sequence(basicGenTest_seq+mbueAndqcdValidation_seq+drellYanValidation_seq+tauValidation_seq) genvalid_w = cms.Sequence(basicGenTest_seq+mbueAndqcdValidation_seq+wValidation_seq+tauValidation_seq) -genvalid_all = cms.Sequence(basicGenTest_seq+mbueAndqcdValidation_seq+drellYanValidation_seq+wValidation_seq+tauValidation_seq+TTbarfull_seq+higgsValidation) +genvalid_all = cms.Sequence(basicGenTest_seq+mbueAndqcdValidation_seq+drellYanValidation_seq+wValidation_seq+tauValidation_seq+TTbarfull_seq+higgsValidation+bphysics) genvalid_all_and_dup_check = cms.Sequence(duplicationChecker_seq+genvalid_all) diff --git a/Validation/EventGenerator/python/PostProcessor_cff.py b/Validation/EventGenerator/python/PostProcessor_cff.py index bfcd0bcdc364b..e4805217754ef 100755 --- a/Validation/EventGenerator/python/PostProcessor_cff.py +++ b/Validation/EventGenerator/python/PostProcessor_cff.py @@ -5,127 +5,345 @@ subDirs = cms.untracked.vstring("Generator/Particles*"), efficiency = cms.vstring(""), resolution = cms.vstring(""), - normalization = cms.untracked.vstring("uNumber nEvt", - "dNumber nEvt", - "sNumber nEvt", - "cNumber nEvt", - "bNumber nEvt", - "tNumber nEvt", - "ubarNumber nEvt", - "dbarNumber nEvt", - "sbarNumber nEvt", - "cbarNumber nEvt", - "bbarNumber nEvt", - "tbarNumber nEvt", - "eminusNumber nEvt", - "partonNumber nEvt", - "nueNumber nEvt", - "muminusNumber nEvt", - "numuNumber nEvt", - "tauminusNumber nEvt", - "nutauNumber nEvt", - "eplusNumber nEvt", - "nuebarNumber nEvt", - "muplusNumber nEvt", - "numubarNumber nEvt", - "tauplusNumber nEvt", - "nutaubarNumber nEvt", - "WplusNumber nEvt", - "WminusNumber nEvt", - "ZNumber nEvt", - "gammaNumber nEvt", - "gluNumber nEvt", - "piplusNumber nEvt", - "piminusNumber nEvt", - "pizeroNumber nEvt", - "KplusNumber nEvt", - "KminusNumber nEvt", - "KlzeroNumber nEvt", - "KszeroNumber nEvt", - "pNumber nEvt", - "pbarNumber nEvt", - "nNumber nEvt", - "nbarNumber nEvt", - "l0Number nEvt", - "l0barNumber nEvt", - "DplusNumber nEvt", - "DminusNumber nEvt", - "DzeroNumber nEvt", - "BplusNumber nEvt", - "BminusNumber nEvt", - "BzeroNumber nEvt", - "BszeroNumber nEvt", - "otherPtclNumber nEvt", - "uMomentum nEvt", - "dMomentum nEvt", - "sMomentum nEvt", - "cMomentum nEvt", - "bMomentum nEvt", - "tMomentum nEvt", - "ubarMomentum nEvt", - "dbarMomentum nEvt", - "sbarMomentum nEvt", - "cbarMomentum nEvt", - "bbarMomentum nEvt", - "tbarMomentum nEvt", - "eminusMomentum nEvt", - "nueMomentum nEvt", - "muminusMomentum nEvt", - "numuMomentum nEvt", - "tauminusMomentum nEvt", - "nutauMomentum nEvt", - "eplusMomentum nEvt", - "nuebarMomentum nEvt", - "muplusMomentum nEvt", - "numubarMomentum nEvt", - "tauplusMomentum nEvt", - "nutaubarMomentum nEvt", - "gluMomentum nEvt", - "partonpT nEvt", - "WplusMomentum nEvt", - "WminusMomentum nEvt", - "ZMomentum nEvt", - "gammaMomentum nEvt", - "piplusMomentum nEvt", - "piminusMomentum nEvt", - "pizeroMomentum nEvt", - "KplusMomentum nEvt", - "KminusMomentum nEvt", - "KlzeroMomentum nEvt", - "KszeroMomentum nEvt", - "pMomentum nEvt", - "pbarMomentum nEvt", - "nMomentum nEvt", - "nbarMomentum nEvt", - "l0Momentum nEvt", - "l0barMomentum nEvt", - "DplusMomentum nEvt", - "DminusMomentum nEvt", - "DzeroMomentum nEvt", - "BplusMomentum nEvt", - "BminusMomentum nEvt", - "BzeroMomentum nEvt", - "BszeroMomentum nEvt", - "otherPtclMomentum nEvt", - "genPtclNumber nEvt", - "genVrtxNumber nEvt", - "stablePtclNumbernEvt", - "stablePtclPhi nEvt", - "stablePtclEta nEvt", - "stablePtclCharge nEvt", - "stableChaNumbernEvt", - "stablePtclp nEvt", - "stablePtclpT nEvt", - "outVrtxStablePtclNumber nEvt", - "outVrtxPtclNumber nEvt", - "vrtxZ nEvt", - "vrtxRadius nEvt", - "unknownPDTNumber nEvt", - "genPtclStatus nEvt", - "Bjorken_x nEvt", - "status1ShortLived nEvt", - "gluonMomentum nEvt") -) + normalization = cms.untracked.vstring("Bjorken_x nEvt") + ) +postProcessorBasicHepMCValidation.normalization.extend(["BminusEta nEvt", + "BminusLifeTime nEvt", + "BminusLifeTimeFinal nEvt", + "BminusMomentum nEvt", + "BminusMomentumFinal nEvt", + "BminusNumber nEvt", + "BplusEta nEvt", + "BplusLifeTime nEvt", + "BplusLifeTimeFinal nEvt", + "BplusMomentum nEvt", + "BplusMomentumFinal nEvt", + "BplusNumber nEvt", + "BszeroEta nEvt", + "BszeroLifeTime nEvt", + "BszeroLifeTimeFinal nEvt", + "BszeroMomentum nEvt", + "BszeroMomentumFinal nEvt", + "BszeroNumber nEvt", + "BszerobarEta nEvt", + "BszerobarLifeTime nEvt", + "BszerobarLifeTimeFinal nEvt", + "BszerobarMomentum nEvt", + "BszerobarMomentumFinal nEvt", + "BszerobarNumber nEvt", + "BzeroEta nEvt", + "BzeroLifeTime nEvt", + "BzeroLifeTimeFinal nEvt", + "BzeroMomentum nEvt", + "BzeroMomentumFinal nEvt", + "BzeroNumber nEvt", + "BzerobarEta nEvt", + "BzerobarLifeTime nEvt", + "BzerobarLifeTimeFinal nEvt", + "BzerobarMomentum nEvt", + "BzerobarMomentumFinal nEvt", + "BzerobarNumber nEvt", + "DeltaEcms1 nEvt", + "DeltaEcms1log10 nEvt", + "DeltaPx1 nEvt", + "DeltaPy1 nEvt", + "DeltaPz1 nEvt", + "DminusEta nEvt", + "DminusLifeTime nEvt", + "DminusLifeTimeFinal nEvt", + "DminusMomentum nEvt", + "DminusMomentumFinal nEvt", + "DminusNumber nEvt", + "DplusEta nEvt", + "DplusLifeTime nEvt", + "DplusLifeTimeFinal nEvt", + "DplusMomentum nEvt", + "DplusMomentumFinal nEvt", + "DplusNumber nEvt", + "DzeroEta nEvt", + "DzeroLifeTime nEvt", + "DzeroLifeTimeFinal nEvt", + "DzeroMomentum nEvt", + "DzeroMomentumFinal nEvt", + "DzeroNumber nEvt", + "DzerobarEta nEvt", + "DzerobarLifeTime nEvt", + "DzerobarLifeTimeFinal nEvt", + "DzerobarMomentum nEvt", + "DzerobarMomentumFinal nEvt", + "DzerobarNumber nEvt", + "KlzeroEta nEvt", + "KlzeroLifeTime nEvt", + "KlzeroLifeTimeFinal nEvt", + "KlzeroMomentum nEvt", + "KlzeroMomentumFinal nEvt", + "KlzeroNumber nEvt", + "KminusEta nEvt", + "KminusLifeTime nEvt", + "KminusLifeTimeFinal nEvt", + "KminusMomentum nEvt", + "KminusMomentumFinal nEvt", + "KminusNumber nEvt", + "KplusEta nEvt", + "KplusLifeTime nEvt", + "KplusLifeTimeFinal nEvt", + "KplusMomentum nEvt", + "KplusMomentumFinal nEvt", + "KplusNumber nEvt", + "KszeroEta nEvt", + "KszeroLifeTime nEvt", + "KszeroLifeTimeFinal nEvt", + "KszeroMomentum nEvt", + "KszeroMomentumFinal nEvt", + "KszeroNumber nEvt", + "VrtxZ nEvt", + "WminusEta nEvt", + "WminusLifeTime nEvt", + "WminusLifeTimeFinal nEvt", + "WminusMomentum nEvt", + "WminusMomentumFinal nEvt", + "WminusNumber nEvt", + "WplusEta nEvt", + "WplusLifeTime nEvt", + "WplusLifeTimeFinal nEvt", + "WplusMomentum nEvt", + "WplusMomentumFinal nEvt", + "WplusNumber nEvt", + "ZEta nEvt", + "ZLifeTime nEvt", + "ZLifeTimeFinal nEvt", + "ZMomentum nEvt", + "ZMomentumFinal nEvt", + "ZNumber nEvt", + "bEta nEvt", + "bLifeTime nEvt", + "bLifeTimeFinal nEvt", + "bMomentum nEvt", + "bMomentumFinal nEvt", + "bNumber nEvt", + "bbarEta nEvt", + "bbarLifeTime nEvt", + "bbarLifeTimeFinal nEvt", + "bbarMomentum nEvt", + "bbarMomentumFinal nEvt", + "bbarNumber nEvt", + "cEta nEvt", + "cLifeTime nEvt", + "cLifeTimeFinal nEvt", + "cMomentum nEvt", + "cMomentumFinal nEvt", + "cNumber nEvt", + "cbarEta nEvt", + "cbarLifeTime nEvt", + "cbarLifeTimeFinal nEvt", + "cbarMomentum nEvt", + "cbarMomentumFinal nEvt", + "cbarNumber nEvt", + "dEta nEvt", + "dLifeTime nEvt", + "dLifeTimeFinal nEvt", + "dMomentum nEvt", + "dMomentumFinal nEvt", + "dNumber nEvt", + "dbarEta nEvt", + "dbarLifeTime nEvt", + "dbarLifeTimeFinal nEvt", + "dbarMomentum nEvt", + "dbarMomentumFinal nEvt", + "dbarNumber nEvt", + "eminusEta nEvt", + "eminusLifeTime nEvt", + "eminusLifeTimeFinal nEvt", + "eminusMomentum nEvt", + "eminusMomentumFinal nEvt", + "eminusNumber nEvt", + "eplusEta nEvt", + "eplusLifeTime nEvt", + "eplusLifeTimeFinal nEvt", + "eplusMomentum nEvt", + "eplusMomentumFinal nEvt", + "eplusNumber nEvt", + "gammaEta nEvt", + "gammaLifeTime nEvt", + "gammaLifeTimeFinal nEvt", + "gammaMomentum nEvt", + "gammaMomentumFinal nEvt", + "gammaNumber nEvt", + "genPtclNumber nEvt", + "genPtclStatus nEvt", + "genVrtxNumber nEvt", + "gluonEta nEvt"]) +postProcessorBasicHepMCValidation.normalization.extend(["gluonLifeTime nEvt", + "gluonLifeTimeFinal nEvt", + "gluonMomentum nEvt", + "gluonMomentumFinal nEvt", + "gluonNumber nEvt", + "lambda0Eta nEvt", + "lambda0LifeTime nEvt", + "lambda0LifeTimeFinal nEvt", + "lambda0Momentum nEvt", + "lambda0MomentumFinal nEvt", + "lambda0Number nEvt", + "lambda0barEta nEvt", + "lambda0barLifeTime nEvt", + "lambda0barLifeTimeFinal nEvt", + "lambda0barMomentum nEvt", + "lambda0barMomentumFinal nEvt", + "lambda0barNumber nEvt", + "muminusEta nEvt", + "muminusLifeTime nEvt", + "muminusLifeTimeFinal nEvt", + "muminusMomentum nEvt", + "muminusMomentumFinal nEvt", + "muminusNumber nEvt", + "muplusEta nEvt", + "muplusLifeTime nEvt", + "muplusLifeTimeFinal nEvt", + "muplusMomentum nEvt", + "muplusMomentumFinal nEvt", + "muplusNumber nEvt", + "nEta nEvt", + "nLifeTime nEvt", + "nLifeTimeFinal nEvt", + "nMomentum nEvt", + "nMomentumFinal nEvt", + "nNumber nEvt", + "nbarEta nEvt", + "nbarLifeTime nEvt", + "nbarLifeTimeFinal nEvt", + "nbarMomentum nEvt", + "nbarMomentumFinal nEvt", + "nbarNumber nEvt", + "nueEta nEvt", + "nueLifeTime nEvt", + "nueLifeTimeFinal nEvt", + "nueMomentum nEvt", + "nueMomentumFinal nEvt", + "nueNumber nEvt", + "nuebarEta nEvt", + "nuebarLifeTime nEvt", + "nuebarLifeTimeFinal nEvt", + "nuebarMomentum nEvt", + "nuebarMomentumFinal nEvt", + "nuebarNumber nEvt", + "numuEta nEvt", + "numuLifeTime nEvt", + "numuLifeTimeFinal nEvt", + "numuMomentum nEvt", + "numuMomentumFinal nEvt", + "numuNumber nEvt", + "numubarEta nEvt", + "numubarLifeTime nEvt", + "numubarLifeTimeFinal nEvt", + "numubarMomentum nEvt", + "numubarMomentumFinal nEvt", + "numubarNumber nEvt", + "nutauEta nEvt", + "nutauLifeTime nEvt", + "nutauLifeTimeFinal nEvt", + "nutauMomentum nEvt", + "nutauMomentumFinal nEvt", + "nutauNumber nEvt", + "nutaubarEta nEvt", + "nutaubarLifeTime nEvt", + "nutaubarLifeTimeFinal nEvt", + "nutaubarMomentum nEvt", + "nutaubarMomentumFinal nEvt", + "nutaubarNumber nEvt", + "otherPtclMomentum nEvt", + "otherPtclNumber nEvt", + "outVrtxPtclNumber nEvt", + "outVrtxStablePtclNumber nEvt", + "pEta nEvt", + "pLifeTime nEvt", + "pLifeTimeFinal nEvt", + "pMomentum nEvt", + "pMomentumFinal nEvt", + "pNumber nEvt", + "partonNumber nEvt", + "partonpT nEvt", + "pbarEta nEvt", + "pbarLifeTime nEvt", + "pbarLifeTimeFinal nEvt", + "pbarMomentum nEvt", + "pbarMomentumFinal nEvt", + "pbarNumber nEvt", + "piminusEta nEvt", + "piminusLifeTime nEvt", + "piminusLifeTimeFinal nEvt", + "piminusMomentum nEvt", + "piminusMomentumFinal nEvt", + "piminusNumber nEvt", + "piplusEta nEvt", + "piplusLifeTime nEvt", + "piplusLifeTimeFinal nEvt", + "piplusMomentum nEvt", + "piplusMomentumFinal nEvt", + "piplusNumber nEvt", + "pizeroEta nEvt", + "pizeroLifeTime nEvt", + "pizeroLifeTimeFinal nEvt", + "pizeroMomentum nEvt", + "pizeroMomentumFinal nEvt", + "pizeroNumber nEvt", + "sEta nEvt", + "sLifeTime nEvt", + "sLifeTimeFinal nEvt", + "sMomentum nEvt", + "sMomentumFinal nEvt", + "sNumber nEvt", + "sbarEta nEvt", + "sbarLifeTime nEvt", + "sbarLifeTimeFinal nEvt", + "sbarMomentum nEvt", + "sbarMomentumFinal nEvt", + "sbarNumber nEvt", + "stableChaNumber nEvt", + "stablePtclCharge nEvt", + "stablePtclEta nEvt", + "stablePtclNumber nEvt", + "stablePtclPhi nEvt", + "stablePtclp nEvt", + "stablePtclpT nEvt", + "status1ShortLived nEvt", + "tEta nEvt", + "tLifeTime nEvt", + "tLifeTimeFinal nEvt", + "tMomentum nEvt", + "tMomentumFinal nEvt", + "tNumber nEvt", + "tauminusEta nEvt", + "tauminusLifeTime nEvt", + "tauminusLifeTimeFinal nEvt", + "tauminusMomentum nEvt", + "tauminusMomentumFinal nEvt", + "tauminusNumber nEvt", + "tauplusEta nEvt", + "tauplusLifeTime nEvt", + "tauplusLifeTimeFinal nEvt", + "tauplusMomentum nEvt", + "tauplusMomentumFinal nEvt", + "tauplusNumber nEvt", + "tbarEta nEvt", + "tbarLifeTime nEvt", + "tbarLifeTimeFinal nEvt", + "tbarMomentum nEvt", + "tbarMomentumFinal nEvt", + "tbarNumber nEvt", + "uEta nEvt", + "uLifeTime nEvt", + "uLifeTimeFinal nEvt", + "uMomentum nEvt", + "uMomentumFinal nEvt", + "uNumber nEvt", + "ubarEta nEvt", + "ubarLifeTime nEvt", + "ubarLifeTimeFinal nEvt", + "ubarMomentum nEvt", + "ubarMomentumFinal nEvt", + "ubarNumber nEvt", + "unknownPDTNumber nEvt", + "vrtxRadius nEvt"]) postProcessorBasicGenParticleValidation = cms.EDAnalyzer( "DQMGenericClient", @@ -507,4 +725,64 @@ ) -EventGeneratorPostProcessor = cms.Sequence(postProcessorBasicHepMCValidation+postProcessorBasicGenParticleValidation+postProcessorMBUEandQCDValidation+postProcessorWValidation+postProcessorDrellYanValidation+postProcessorTauValidation+postProcessorTTbarValidation+postProcessorTTbarSpinCorr+postProcessorHiggsValidation+postProcessorHplusValidation) +postProcessorBPhysicsValidation = cms.EDAnalyzer( + "DQMGenericClient", + subDirs = cms.untracked.vstring("Generator/BPhysics*"), + efficiency = cms.vstring(""), + resolution = cms.vstring(""), + normalization = cms.untracked.vstring("JPsiMuMuValidationETA NJPsiMuMuValidation", + "JPsiMuMuValidationMASS NJPsiMuMuValidation", + "JPsiMuMuValidationPHI NJPsiMuMuValidation", + "JPsiMuMuValidationPT NJPsiMuMuValidation", + "JPsiMuMuValidationmuminusETA NJPsiMuMuValidation", + "JPsiMuMuValidationmuminusMASS NJPsiMuMuValidation", + "JPsiMuMuValidationmuminusPHI NJPsiMuMuValidation", + "JPsiMuMuValidationmuminusPT NJPsiMuMuValidation", + "JPsiMuMuValidationmuplusETA NJPsiMuMuValidation", + "JPsiMuMuValidationmuplusMASS NJPsiMuMuValidation", + "JPsiMuMuValidationmuplusPHI NJPsiMuMuValidation", + "JPsiMuMuValidationmuplusPT NJPsiMuMuValidation", + "JPsiSpectrumMass NSpectrumJPsiSpectrum", + "LambdaSpectrumMass NSpectrumLambdaSpectrum", + "LambdabPiPiMuMuValidationETA NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationLambdaETA NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationLambdaMASS NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationLambdaPHI NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationLambdaPT NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationLambdabarETA NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationLambdabarMASS NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationLambdabarPHI NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationLambdabarPT NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationMASS NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationPHI NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationPT NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationmuminusETA NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationmuminusMASS NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationmuminusPHI NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationmuminusPT NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationmuplusETA NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationmuplusMASS NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationmuplusPHI NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationmuplusPT NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpiminusETA NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpiminusMASS NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpiminusPHI NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpiminusPT NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpiplusETA NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpiplusMASS NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpiplusPHI NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpiplusPT NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpminusETA NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpminusMASS NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpminusPHI NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpminusPT NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpplusETA NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpplusMASS NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpplusPHI NLambdabPiPiMuMuValidation", + "LambdabPiPiMuMuValidationpplusPT NLambdabPiPiMuMuValidation" + ) + ) + + + +EventGeneratorPostProcessor = cms.Sequence(postProcessorBasicHepMCValidation+postProcessorBasicGenParticleValidation+postProcessorMBUEandQCDValidation+postProcessorWValidation+postProcessorDrellYanValidation+postProcessorTauValidation+postProcessorTTbarValidation+postProcessorTTbarSpinCorr+postProcessorHiggsValidation+postProcessorHplusValidation+postProcessorBPhysicsValidation) diff --git a/Validation/EventGenerator/src/DQMHelper.cc b/Validation/EventGenerator/src/DQMHelper.cc index f587df49267ee..a2343cd343959 100644 --- a/Validation/EventGenerator/src/DQMHelper.cc +++ b/Validation/EventGenerator/src/DQMHelper.cc @@ -9,12 +9,31 @@ DQMHelper::~DQMHelper(){ } +MonitorElement* DQMHelper::book1dHisto(std::string name,std::string title,int n,double xmin,double xmax, + std::string xaxis, std::string yaxis){ + MonitorElement* dqm=ibooker->book1D(name,title,n,xmin,xmax); + dqm->getTH1()->Sumw2(); + dqm->setAxisTitle(xaxis,1); + dqm->setAxisTitle(yaxis,2); + return dqm; +} + MonitorElement* DQMHelper::book1dHisto(const std::string &name,const std::string &title,int n,double xmin,double xmax){ MonitorElement* dqm=ibooker->book1D(name,title,n,xmin,xmax); dqm->getTH1()->Sumw2(); return dqm; } +MonitorElement* DQMHelper::book2dHisto(std::string name,std::string title,int nx,double xmin,double xmax, + int ny,double ymin,double ymax,std::string xaxis, std::string yaxis){ + MonitorElement* dqm=ibooker->book2D(name,title,nx,xmin,xmax,ny,ymin,ymax); + dqm->getTH1()->Sumw2(); + dqm->setAxisTitle(xaxis,1); + dqm->setAxisTitle(yaxis,2); + return dqm; +} + + MonitorElement* DQMHelper::book2dHisto(const std::string &name,const std::string &title,int nx,double xmin,double xmax,int ny,double ymin,double ymax){ MonitorElement* dqm=ibooker->book2D(name,title,nx,xmin,xmax,ny,ymin,ymax); dqm->getTH1()->Sumw2();