17 m_mcvtxcollectionToken(iC.consumes<
edm::
HepMCProduct>(
edm::InputTag(
"generatorSmeared"))), m_hitname(), m_nbins(500), m_scalefact(), m_binmax(), m_labels(),
18 m_nmultvsvtxpos(), m_nmultvsvtxposprof(), m_subdirs() { }
23 m_nbins(iConfig.getUntrackedParameter<
int>(
"numberOfBins",500)),
28 std::vector<edm::ParameterSet>
29 wantedsubds(iConfig.
getUntrackedParameter<std::vector<edm::ParameterSet> >(
"wantedSubDets",std::vector<edm::ParameterSet>()));
31 for(std::vector<edm::ParameterSet>::iterator ps=wantedsubds.begin();ps!=wantedsubds.end();++ps) {
32 m_labels[ps->getParameter<
unsigned int>(
"detSelection")] = ps->getParameter<
std::string>(
"detLabel");
33 m_binmax[ps->getParameter<
unsigned int>(
"detSelection")] = ps->getParameter<
int>(
"binMax");
42 for(std::map<unsigned int,std::string>::const_iterator lab=
m_labels.begin();lab!=
m_labels.end();lab++) {
44 const unsigned int i = lab->first;
const std::string slab = lab->second;
71 for(std::map<unsigned int,std::string>::const_iterator lab=
m_labels.begin();lab!=
m_labels.end();lab++) {
73 const unsigned int i = lab->first;
const std::string slab = lab->second;
77 <<
" not configured: " << trnumb.
nstrips(i) <<
" used";
85 for(std::map<unsigned int,std::string>::const_iterator lab=
m_labels.begin();lab!=
m_labels.end();++lab) {
87 const int i = lab->first;
const std::string slab = lab->second;
95 sprintf(name,
"n%sdigivsvtxpos",slab.c_str());
96 sprintf(title,
"%s %s multiplicity vx MC vertex z position",slab.c_str(),
m_hitname.c_str());
98 m_nmultvsvtxpos[
i]->GetXaxis()->SetTitle(
"MC vertex z position (cm)"); m_nmultvsvtxpos[
i]->GetYaxis()->SetTitle(
"Number of Hits");
99 sprintf(name,
"n%sdigivsvtxposprof",slab.c_str());
101 m_nmultvsvtxposprof[
i]->GetXaxis()->SetTitle(
"MC vertex z position (cm)"); m_nmultvsvtxposprof[
i]->GetYaxis()->SetTitle(
"Number of Hits");
128 if(Evt->vertices_begin() != Evt->vertices_end()) {
130 double vtxz = (*Evt->vertices_begin())->point3d().z()/10.;
132 for(std::map<unsigned int,int>::const_iterator digi=ndigi.begin();digi!=ndigi.end();digi++) {
134 const unsigned int i=digi->first;
void book(const std::string dirname, const std::map< unsigned int, std::string > &labels)
T getUntrackedParameter(std::string const &, T const &) const
~DigiVtxPosCorrHistogramMaker()
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::map< unsigned int, TFileDirectory * > m_subdirs
edm::EDGetTokenT< edm::HepMCProduct > m_mcvtxcollectionToken
void fill(const edm::Event &iEvent, const std::map< unsigned int, int > &ndigi)
int nstrips(const DetId &detid) const
std::map< unsigned int, int > m_binmax
std::map< unsigned int, TH2F * > m_nmultvsvtxpos
void beginRun(const unsigned int nrun)
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
const HepMC::GenEvent * GetEvent() const
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
std::map< unsigned int, std::string > m_labels
DigiVtxPosCorrHistogramMaker(edm::ConsumesCollector &&iC)
std::map< unsigned int, TProfile * > m_nmultvsvtxposprof