140 main_titles[6 ] =
"Tracker p_{T} within veto cone";
170 axis_titles[13] =
"#Sigma p_{T} / N_{Tracks} (GeV)";
171 axis_titles[14] =
"(1.5) X #Sigma E_{T}^{EM} + #Sigma E_{T}^{Had}";
184 names[4 ] =
"nTracks";
186 names[6 ] =
"trackerVetoPt";
187 names[7 ] =
"emVetoEt";
188 names[8 ] =
"hadVetoEt";
189 names[9 ] =
"hoVetoEt";
190 names[10] =
"muonPt";
191 names[11] =
"muonEta";
192 names[12] =
"muonPhi";
194 names[14] =
"weightedEt";
195 names[15] =
"PFsumChargedHadronPt";
196 names[16] =
"PFsumChargedTotalPt";
197 names[17] =
"PFsumEMuPt";
198 names[18] =
"PFsumNeutralHadronEt";
199 names[19] =
"PFsumPhotonEt";
200 names[20] =
"PFsumPUPt";
292 edm::LogInfo(
"Tutorial") <<
"Number of Muons: " << muonsHandle->size();
301 if (
muon->combinedMuon().isNull())
continue;
312 theData[0] = muon->isolationR03().sumPt;
313 theData[1] = muon->isolationR03().emEt;
314 theData[2] = muon->isolationR03().hadEt;
315 theData[3] = muon->isolationR03().hoEt;
317 theData[4] = muon->isolationR03().nTracks;
318 theData[5] = muon->isolationR03().nJets;
319 theData[6] = muon->isolationR03().trackerVetoPt;
320 theData[7] = muon->isolationR03().emVetoEt;
321 theData[8] = muon->isolationR03().hadVetoEt;
322 theData[9] = muon->isolationR03().hoVetoEt;
341 if ( muon->isPFMuon() && muon->isPFIsolationValid() ) {
342 theData[15] = muon->pfIsolationR03().sumChargedHadronPt;
343 theData[16] = muon->pfIsolationR03().sumChargedParticlePt;
344 theData[17] = muon->pfIsolationR03().sumChargedParticlePt-muon->pfIsolationR03().sumChargedHadronPt;
345 theData[18] = muon->pfIsolationR03().sumNeutralHadronEt;
346 theData[19] = muon->pfIsolationR03().sumPhotonEt;
347 theData[20] = muon->pfIsolationR03().sumPUPt;
390 for(
int var1 = 0; var1 <
NUM_VARS; var1++){
391 for(
int var2 = 0; var2 <
NUM_VARS; var2++){
392 if(var1 == var2)
continue;
445 p_2D[4][9]->setAxisRange(0.5,15.5,
XAXIS);
455 const double first_bin_width = (r > 1.0) ?
456 (max -
min)*(1-r)/(1-
pow(r,nbins)) :
460 bin_edges[1] = min + first_bin_width;
462 bin_edges[
n] = bin_edges[
n-1] + (bin_edges[
n-1] - bin_edges[
n-2])*r;
475 if (entries==0)
continue;
480 for(
int n=1;
n<=n_max; ++
n){
499 for(
int var1=0; var1<
NUM_VARS; ++var1){
500 for(
int var2=0; var2<
NUM_VARS; ++var2){
501 if(var1 == var2)
continue;
void RecordData(MuonIterator muon)
TProfile * getTProfile() const
T getUntrackedParameter(std::string const &, T const &) const
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< int > isContinuous
TH1 * GetTH1FromMonitorElement(MonitorElement *me)
std::vector< std::vector< MonitorElement * > > p_2D
std::vector< std::string > names
MonitorElement * bookProfile(Args &&...args)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::View< reco::Muon >::const_iterator MuonIterator
std::vector< std::string > main_titles
TH2 * GetTH2FromMonitorElement(MonitorElement *me)
MuIsoValidation(const edm::ParameterSet &)
std::vector< MonitorElement * > h_1D
TProfile * GetTProfileFromMonitorElement(MonitorElement *me)
edm::EDGetTokenT< edm::View< reco::Muon > > Muon_Token
MonitorElement * h_nMuons
edm::ParameterSet iConfig
#define DEFINE_FWK_MODULE(type)
void setCurrentFolder(std::string const &fullpath)
std::vector< MonitorElement * > cd_plots
MonitorElement * book1D(Args &&...args)
static const int NUM_VARS
~MuIsoValidation() override
std::vector< std::vector< double > > param
void MakeLogBinsForProfile(Double_t *bin_edges, const double min, const double max)
std::vector< std::string > axis_titles
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Power< A, B >::type pow(const A &a, const B &b)
std::string subsystemname_
std::vector< int > cdCompNeeded