CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
ZToMuMuGammaAnalyzer Class Reference

EgammaCoreTools. More...

Inheritance diagram for ZToMuMuGammaAnalyzer:

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 ZToMuMuGammaAnalyzer (const edm::ParameterSet &)
 
 ~ZToMuMuGammaAnalyzer () override
 

Private Member Functions

bool basicMuonSelection (const reco::Muon &m)
 
float mumuGammaInvMass (const reco::Muon &mu1, const reco::Muon &mu2, const reco::PhotonRef &pho)
 
float mumuInvMass (const reco::Muon &m1, const reco::Muon &m2)
 
bool muonSelection (const reco::Muon &m, const reco::BeamSpot &bs)
 
bool photonSelection (const reco::PhotonRef &p)
 

Private Attributes

edm::EDGetTokenT< edm::SortedCollection< EcalRecHit, edm::StrictWeakOrdering< EcalRecHit > > > barrelRecHit_token_
 
edm::EDGetTokenT< reco::BeamSpotbeamSpot_token_
 
std::stringstream currentFolder_
 
int eBin_
 
double eMax_
 
double eMin_
 
edm::EDGetTokenT< edm::SortedCollection< EcalRecHit, edm::StrictWeakOrdering< EcalRecHit > > > endcapRecHit_token_
 
int etaBin_
 
double etaMax_
 
double etaMin_
 
int etBin_
 
double etMax_
 
double etMin_
 
float farMuonEcalIso_
 
float farMuonMinPt_
 
float farMuonTrackIso_
 
std::string fName_
 
MonitorElementh1_mumuGammaInvMass_ [3]
 
MonitorElementh1_mumuInvMass_ [3]
 photon histos More...
 
MonitorElementh2_e1x5VsEt_ [3]
 
MonitorElementh2_e1x5VsEta_ [3]
 
MonitorElementh2_e2x5VsEt_ [3]
 
MonitorElementh2_e2x5VsEta_ [3]
 
MonitorElementh2_ecalSumVsEt_ [3]
 
MonitorElementh2_ecalSumVsEta_ [3]
 
MonitorElementh2_hcalSumVsEt_ [3]
 
MonitorElementh2_hcalSumVsEta_ [3]
 
MonitorElementh2_nTrackIsolHollowVsEt_ [3]
 
MonitorElementh2_nTrackIsolHollowVsEta_ [3]
 
MonitorElementh2_nTrackIsolSolidVsEt_ [3]
 
MonitorElementh2_nTrackIsolSolidVsEta_ [3]
 
MonitorElementh2_r1x5VsEt_ [3]
 
MonitorElementh2_r1x5VsEta_ [3]
 
MonitorElementh2_r2x5VsEt_ [3]
 
MonitorElementh2_r2x5VsEta_ [3]
 
MonitorElementh2_r9VsEt_ [3]
 
MonitorElementh2_r9VsEta_ [3]
 
MonitorElementh2_sigmaIetaIetaVsEta_ [3]
 
MonitorElementh2_trackPtSumHollowVsEt_ [3]
 
MonitorElementh2_trackPtSumHollowVsEta_ [3]
 
MonitorElementh2_trackPtSumSolidVsEt_ [3]
 
MonitorElementh2_trackPtSumSolidVsEta_ [3]
 
MonitorElementh_chHadIso_ [3]
 
MonitorElementh_dRPhoPFcand_ChHad_Cleaned_ [3]
 
MonitorElementh_dRPhoPFcand_ChHad_unCleaned_ [3]
 
MonitorElementh_dRPhoPFcand_NeuHad_Cleaned_ [3]
 
MonitorElementh_dRPhoPFcand_NeuHad_unCleaned_ [3]
 
MonitorElementh_dRPhoPFcand_Pho_Cleaned_ [3]
 
MonitorElementh_dRPhoPFcand_Pho_unCleaned_ [3]
 
MonitorElementh_e1x5_ [3]
 
MonitorElementh_e2x5_ [3]
 
MonitorElementh_ecalSum_ [3]
 
MonitorElementh_etOutsideMustache_ [3]
 
MonitorElementh_h1OverE_ [3]
 
MonitorElementh_h2OverE_ [3]
 
MonitorElementh_hcalSum_ [3]
 
MonitorElementh_hOverE_ [3]
 
MonitorElementh_nCluOutsideMustache_ [3]
 
MonitorElementh_newhOverE_ [3]
 
MonitorElementh_nHadIso_ [3]
 
MonitorElementh_nPho_ [3]
 
MonitorElementh_nRecoVtx_
 
MonitorElementh_nTrackIsolHollow_ [3]
 
MonitorElementh_nTrackIsolSolid_ [3]
 
MonitorElementh_pfMva_ [3]
 
MonitorElementh_phoE_ [3]
 
MonitorElementh_phoEt_ [3]
 
MonitorElementh_phoEta_ [3]
 
MonitorElementh_phoIso_ [3]
 
MonitorElementh_phoPhi_ [3]
 
MonitorElementh_phoSigmaEoverE_ [3]
 
MonitorElementh_phoSigmaIetaIeta_ [3]
 
MonitorElementh_r1x5_ [3]
 
MonitorElementh_r2x5_ [3]
 
MonitorElementh_r9_ [3]
 
MonitorElementh_scEta_ [3]
 
MonitorElementh_scPhi_ [3]
 
MonitorElementh_SumPtOverPhoPt_ChHad_Cleaned_ [3]
 
MonitorElementh_SumPtOverPhoPt_ChHad_unCleaned_ [3]
 
MonitorElementh_SumPtOverPhoPt_NeuHad_Cleaned_ [3]
 
MonitorElementh_SumPtOverPhoPt_NeuHad_unCleaned_ [3]
 
MonitorElementh_SumPtOverPhoPt_Pho_Cleaned_ [3]
 
MonitorElementh_SumPtOverPhoPt_Pho_unCleaned_ [3]
 
MonitorElementh_trackPtSumHollow_ [3]
 
MonitorElementh_trackPtSumSolid_ [3]
 
int hOverEBin_
 
double hOverEMax_
 
double hOverEMin_
 
bool makeProfiles_
 
float maxMumuGammaInvMass_
 
float maxMumuInvMass_
 
float minMumuGammaInvMass_
 
float minMumuInvMass_
 
int minPixStripHits_
 
edm::EDGetTokenT< std::vector< reco::Muon > > muon_token_
 
int muonMatches_
 
float muonMaxChi2_
 
float muonMaxDxy_
 
float muonMinPt_
 
float muonTightEta_
 
float muonTrackIso_
 
float nearMuonDr2_
 
float nearMuonHcalIso_
 
int nEvt_
 
int numberBin_
 
double numberMax_
 
double numberMin_
 
edm::EDGetTokenT< reco::VertexCollectionoffline_pvToken_
 
MonitorElementp_e1x5VsEt_ [3]
 
MonitorElementp_e1x5VsEta_ [3]
 
MonitorElementp_e2x5VsEt_ [3]
 
MonitorElementp_e2x5VsEta_ [3]
 
MonitorElementp_ecalSumVsEt_ [3]
 
MonitorElementp_ecalSumVsEta_ [3]
 
MonitorElementp_hcalSumVsEt_ [3]
 
MonitorElementp_hcalSumVsEta_ [3]
 
MonitorElementp_hOverEVsEt_ [3]
 
MonitorElementp_hOverEVsEta_ [3]
 
MonitorElementp_newhOverEVsEt_ [3]
 
MonitorElementp_newhOverEVsEta_ [3]
 
MonitorElementp_nTrackIsolHollowVsEt_ [3]
 
MonitorElementp_nTrackIsolHollowVsEta_ [3]
 
MonitorElementp_nTrackIsolSolidVsEt_ [3]
 
MonitorElementp_nTrackIsolSolidVsEta_ [3]
 
MonitorElementp_phoSigmaEoverEVsNVtx_ [3]
 
MonitorElementp_r1x5VsEt_ [3]
 
MonitorElementp_r1x5VsEta_ [3]
 
MonitorElementp_r2x5VsEt_ [3]
 
MonitorElementp_r2x5VsEta_ [3]
 
MonitorElementp_r9VsEt_ [3]
 
MonitorElementp_r9VsEta_ [3]
 
MonitorElementp_sigmaIetaIetaVsEta_ [3]
 
MonitorElementp_trackPtSumHollowVsEt_ [3]
 
MonitorElementp_trackPtSumHollowVsEta_ [3]
 
MonitorElementp_trackPtSumSolidVsEt_ [3]
 
MonitorElementp_trackPtSumSolidVsEta_ [3]
 
edm::EDGetTokenT< reco::PFCandidateCollectionpfCandidates_
 
int phiBin_
 
double phiMax_
 
double phiMin_
 
edm::EDGetTokenT< std::vector< reco::Photon > > photon_token_
 
edm::EDGetTokenT< edm::ValueMap< bool > > PhotonIDLoose_token_
 
edm::EDGetTokenT< edm::ValueMap< bool > > PhotonIDTight_token_
 
edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > photonIsoValmap_token_
 
float photonMaxEta_
 
float photonMinEt_
 
float photonTrackIso_
 
unsigned int prescaleFactor_
 
int r9Bin_
 
double r9Max_
 
double r9Min_
 
int reducedEtaBin_
 
int reducedEtBin_
 
int reducedR9Bin_
 
int reducedSumBin_
 
int sigmaIetaBin_
 
double sigmaIetaMax_
 
double sigmaIetaMin_
 
int sumBin_
 
double sumMax_
 
double sumMin_
 
edm::EDGetTokenT< trigger::TriggerEventtriggerEvent_token_
 
bool use2DHistos_
 
int validMuonHits_
 
int validPixHits_
 

Detailed Description

EgammaCoreTools.

$Id: ZToMuMuGammaAnalyzer authors: Nancy Marinelli, U. of Notre Dame, US
Jamie Antonelli, U. of Notre Dame, US Nathan Kellams, U. of Notre Dame, US

Definition at line 80 of file ZToMuMuGammaAnalyzer.cc.

Constructor & Destructor Documentation

◆ ZToMuMuGammaAnalyzer()

ZToMuMuGammaAnalyzer::ZToMuMuGammaAnalyzer ( const edm::ParameterSet pset)
explicit

Definition at line 304 of file ZToMuMuGammaAnalyzer.cc.

References ProducerED_cfi::InputTag, muonDTDigis_cfi::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

304  {
305  fName_ = pset.getParameter<std::string>("analyzerName");
306  prescaleFactor_ = pset.getUntrackedParameter<int>("prescaleFactor", 1);
307  use2DHistos_ = pset.getParameter<bool>("use2DHistos");
308  makeProfiles_ = pset.getParameter<bool>("makeProfiles");
309 
310  triggerEvent_token_ = consumes<trigger::TriggerEvent>(pset.getParameter<edm::InputTag>("triggerEvent"));
311  offline_pvToken_ = consumes<reco::VertexCollection>(
312  pset.getUntrackedParameter<edm::InputTag>("offlinePV", edm::InputTag("offlinePrimaryVertices")));
313  photon_token_ = consumes<vector<reco::Photon> >(pset.getParameter<edm::InputTag>("phoProducer"));
314  muon_token_ = consumes<vector<reco::Muon> >(pset.getParameter<edm::InputTag>("muonProducer"));
315  pfCandidates_ = consumes<reco::PFCandidateCollection>(pset.getParameter<edm::InputTag>("pfCandidates"));
316  photonIsoValmap_token_ = consumes<edm::ValueMap<std::vector<reco::PFCandidateRef> > >(
317  pset.getParameter<edm::InputTag>("particleBasedIso"));
318  barrelRecHit_token_ = consumes<edm::SortedCollection<EcalRecHit, edm::StrictWeakOrdering<EcalRecHit> > >(
319  pset.getParameter<edm::InputTag>("barrelRecHitProducer"));
320  endcapRecHit_token_ = consumes<edm::SortedCollection<EcalRecHit, edm::StrictWeakOrdering<EcalRecHit> > >(
321  pset.getParameter<edm::InputTag>("endcapRecHitProducer"));
322  beamSpot_token_ = consumes<reco::BeamSpot>(pset.getParameter<edm::InputTag>("beamSpot"));
323 
324  nEvt_ = 0;
325 
326  // Muon selection
327  muonMinPt_ = pset.getParameter<double>("muonMinPt");
328  minPixStripHits_ = pset.getParameter<int>("minPixStripHits");
329  muonMaxChi2_ = pset.getParameter<double>("muonMaxChi2");
330  muonMaxDxy_ = pset.getParameter<double>("muonMaxDxy");
331  muonMatches_ = pset.getParameter<int>("muonMatches");
332  validPixHits_ = pset.getParameter<int>("validPixHits");
333  validMuonHits_ = pset.getParameter<int>("validMuonHits");
334  muonTrackIso_ = pset.getParameter<double>("muonTrackIso");
335  muonTightEta_ = pset.getParameter<double>("muonTightEta");
336  // Dimuon selection
337  minMumuInvMass_ = pset.getParameter<double>("minMumuInvMass");
338  maxMumuInvMass_ = pset.getParameter<double>("maxMumuInvMass");
339  // Photon selection
340  photonMinEt_ = pset.getParameter<double>("photonMinEt");
341  photonMaxEta_ = pset.getParameter<double>("photonMaxEta");
342  photonTrackIso_ = pset.getParameter<double>("photonTrackIso");
343  // mumuGamma selection
344  nearMuonDr2_ = pset.getParameter<double>("nearMuonDr");
346  nearMuonHcalIso_ = pset.getParameter<double>("nearMuonHcalIso");
347  farMuonEcalIso_ = pset.getParameter<double>("farMuonEcalIso");
348  farMuonTrackIso_ = pset.getParameter<double>("farMuonTrackIso");
349  farMuonMinPt_ = pset.getParameter<double>("farMuonMinPt");
350  minMumuGammaInvMass_ = pset.getParameter<double>("minMumuGammaInvMass");
351  maxMumuGammaInvMass_ = pset.getParameter<double>("maxMumuGammaInvMass");
352 
353  // Histogram parameters
354  eMin_ = pset.getParameter<double>("eMin");
355  eMax_ = pset.getParameter<double>("eMax");
356  eBin_ = pset.getParameter<int>("eBin");
357 
358  etMin_ = pset.getParameter<double>("etMin");
359  etMax_ = pset.getParameter<double>("etMax");
360  etBin_ = pset.getParameter<int>("etBin");
361 
362  sumMin_ = pset.getParameter<double>("sumMin");
363  sumMax_ = pset.getParameter<double>("sumMax");
364  sumBin_ = pset.getParameter<int>("sumBin");
365 
366  etaMin_ = pset.getParameter<double>("etaMin");
367  etaMax_ = pset.getParameter<double>("etaMax");
368  etaBin_ = pset.getParameter<int>("etaBin");
369 
370  phiMin_ = pset.getParameter<double>("phiMin");
371  phiMax_ = pset.getParameter<double>("phiMax");
372  phiBin_ = pset.getParameter<int>("phiBin");
373 
374  r9Min_ = pset.getParameter<double>("r9Min");
375  r9Max_ = pset.getParameter<double>("r9Max");
376  r9Bin_ = pset.getParameter<int>("r9Bin");
377 
378  hOverEMin_ = pset.getParameter<double>("hOverEMin");
379  hOverEMax_ = pset.getParameter<double>("hOverEMax");
380  hOverEBin_ = pset.getParameter<int>("hOverEBin");
381 
382  numberMin_ = pset.getParameter<double>("numberMin");
383  numberMax_ = pset.getParameter<double>("numberMax");
384  numberBin_ = pset.getParameter<int>("numberBin");
385 
386  sigmaIetaMin_ = pset.getParameter<double>("sigmaIetaMin");
387  sigmaIetaMax_ = pset.getParameter<double>("sigmaIetaMax");
388  sigmaIetaBin_ = pset.getParameter<int>("sigmaIetaBin");
389 
390  reducedEtBin_ = etBin_ / 4;
391  reducedEtaBin_ = etaBin_ / 4;
392  reducedSumBin_ = sumBin_ / 4;
393  reducedR9Bin_ = r9Bin_ / 4;
394 }
edm::EDGetTokenT< reco::PFCandidateCollection > pfCandidates_
edm::EDGetTokenT< edm::SortedCollection< EcalRecHit, edm::StrictWeakOrdering< EcalRecHit > > > barrelRecHit_token_
edm::EDGetTokenT< std::vector< reco::Photon > > photon_token_
edm::EDGetTokenT< trigger::TriggerEvent > triggerEvent_token_
edm::EDGetTokenT< edm::SortedCollection< EcalRecHit, edm::StrictWeakOrdering< EcalRecHit > > > endcapRecHit_token_
edm::EDGetTokenT< reco::VertexCollection > offline_pvToken_
edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > photonIsoValmap_token_
edm::EDGetTokenT< reco::BeamSpot > beamSpot_token_
edm::EDGetTokenT< std::vector< reco::Muon > > muon_token_

◆ ~ZToMuMuGammaAnalyzer()

ZToMuMuGammaAnalyzer::~ZToMuMuGammaAnalyzer ( )
override

Definition at line 396 of file ZToMuMuGammaAnalyzer.cc.

396 {}

Member Function Documentation

◆ analyze()

void ZToMuMuGammaAnalyzer::analyze ( const edm::Event e,
const edm::EventSetup esup 
)
override

uncleaned

Definition at line 1127 of file ZToMuMuGammaAnalyzer.cc.

References HLTMuonOfflineAnalyzer_cfi::deltaR2, HGC3DClusterGenMatchSelector_cfi::dR, MillePedeFileConverter_cfg::e, reco::PFCandidate::e, reco::MuonIsolation::emEt, edm::ValueMap< T >::end(), reco::PFCandidate::gamma, reco::PFCandidate::h, reco::PFCandidate::h0, reco::MuonIsolation::hadEt, mps_fire::i, reco::Muon::isolationR03(), edm::HandleBase::isValid(), label, pdwgLeptonRecoSkim_cfi::muonCollection, TopMuEGSkim_cff::muonSelection, ExoticaDQM_cfi::photonCollection, PhotonMonitor_cff::photonSelection, edm::Handle< T >::product(), reco::LeafCandidate::pt(), optionsL1T::skip, jetUpdater_cfi::sort, mathSSE::sqrt(), reco::MuonIsolation::sumPt, PDWG_DiPhoton_SD_cff::triggerEvent, and parallelization::uint.

1127  {
1128  using namespace edm;
1129 
1130  if (nEvt_ % prescaleFactor_)
1131  return;
1132  nEvt_++;
1133  LogInfo("ZToMuMuGammaAnalyzer") << "ZToMuMuGammaAnalyzer Analyzing event number: " << e.id() << " Global Counter "
1134  << nEvt_ << "\n";
1135 
1136  // Get the trigger results
1137  bool validTriggerEvent = true;
1138  edm::Handle<trigger::TriggerEvent> triggerEventHandle;
1140  e.getByToken(triggerEvent_token_, triggerEventHandle);
1141  if (!triggerEventHandle.isValid()) {
1142  edm::LogInfo("PhotonAnalyzer") << "Error! Can't get the product: triggerEvent_token_" << endl;
1143  validTriggerEvent = false;
1144  }
1145  if (validTriggerEvent)
1146  triggerEvent = *(triggerEventHandle.product());
1147 
1148  // Get the reconstructed photons
1149  // bool validPhotons=true;
1150  Handle<reco::PhotonCollection> photonHandle;
1152  e.getByToken(photon_token_, photonHandle);
1153  if (!photonHandle.isValid()) {
1154  edm::LogInfo("ZToMuMuGammaAnalyzer") << "Error! Can't get the product: photon_token_" << endl;
1155  //validPhotons=false;
1156  }
1157  // if(validPhotons) photonCollection = *(photonHandle.product());
1158 
1159  // Get the PF refined cluster collection
1160  Handle<reco::PFCandidateCollection> pfCandidateHandle;
1161  e.getByToken(pfCandidates_, pfCandidateHandle);
1162  if (!pfCandidateHandle.isValid()) {
1163  edm::LogError("PhotonValidator") << "Error! Can't get the product pfCandidates " << std::endl;
1164  }
1165 
1166  edm::Handle<edm::ValueMap<std::vector<reco::PFCandidateRef> > > phoToParticleBasedIsoMapHandle;
1167  edm::ValueMap<std::vector<reco::PFCandidateRef> > phoToParticleBasedIsoMap;
1168  if (fName_ == "zmumugammaGedValidation") {
1169  e.getByToken(photonIsoValmap_token_, phoToParticleBasedIsoMapHandle);
1170  // e.getByLabel("particleBasedIsolation",valueMapPhoPFCandIso_,phoToParticleBasedIsoMapHandle);
1171  if (!phoToParticleBasedIsoMapHandle.isValid()) {
1172  edm::LogInfo("PhotonValidator") << "Error! Can't get the product: valueMap photons to particle based iso "
1173  << std::endl;
1174  }
1175  phoToParticleBasedIsoMap = *(phoToParticleBasedIsoMapHandle.product());
1176  }
1177 
1178  // Get the reconstructed muons
1179  bool validMuons = true;
1180  Handle<reco::MuonCollection> muonHandle;
1182  e.getByToken(muon_token_, muonHandle);
1183  if (!muonHandle.isValid()) {
1184  edm::LogInfo("ZToMuMuGammaAnalyzer") << "Error! Can't get the product: muon_token_" << endl;
1185  validMuons = false;
1186  }
1187  if (validMuons)
1188  muonCollection = *(muonHandle.product());
1189 
1190  // Get the beam spot
1191  edm::Handle<reco::BeamSpot> bsHandle;
1192  e.getByToken(beamSpot_token_, bsHandle);
1193  if (!bsHandle.isValid()) {
1194  edm::LogError("TrackerOnlyConversionProducer") << "Error! Can't get the product primary Vertex Collection "
1195  << "\n";
1196  return;
1197  }
1198  const reco::BeamSpot& thebs = *bsHandle.product();
1199 
1200  //Prepare list of photon-related HLT filter names
1201  vector<int> Keys;
1202  for (uint filterIndex = 0; filterIndex < triggerEvent.sizeFilters();
1203  ++filterIndex) { //loop over all trigger filters in event (i.e. filters passed)
1204  string label = triggerEvent.filterTag(filterIndex).label();
1205  if (label.find("Photon") != string::npos) { //get photon-related filters
1206  for (uint filterKeyIndex = 0; filterKeyIndex < triggerEvent.filterKeys(filterIndex).size();
1207  ++filterKeyIndex) { //loop over keys to objects passing this filter
1208  Keys.push_back(
1209  triggerEvent.filterKeys(filterIndex)[filterKeyIndex]); //add keys to a vector for later reference
1210  }
1211  }
1212  }
1213 
1214  // sort Keys vector in ascending order
1215  // and erases duplicate entries from the vector
1216  sort(Keys.begin(), Keys.end());
1217  for (uint i = 0; i < Keys.size();) {
1218  if (i != (Keys.size() - 1)) {
1219  if (Keys[i] == Keys[i + 1]) {
1220  Keys.erase(Keys.begin() + i + 1);
1221  } else {
1222  ++i;
1223  }
1224  } else {
1225  ++i;
1226  }
1227  }
1228 
1230  e.getByToken(offline_pvToken_, vtxH);
1231  h_nRecoVtx_->Fill(float(vtxH->size()));
1232 
1233  //photon counters
1234  int nPho = 0;
1235  int nPhoBarrel = 0;
1236  int nPhoEndcap = 0;
1237 
1239  if (muonCollection.size() < 2)
1240  return;
1241 
1242  for (reco::MuonCollection::const_iterator iMu = muonCollection.begin(); iMu != muonCollection.end(); iMu++) {
1243  if (!basicMuonSelection(*iMu))
1244  continue;
1245 
1246  for (reco::MuonCollection::const_iterator iMu2 = iMu + 1; iMu2 != muonCollection.end(); iMu2++) {
1247  if (!basicMuonSelection(*iMu2))
1248  continue;
1249  if (iMu->charge() * iMu2->charge() > 0)
1250  continue;
1251 
1252  if (!muonSelection(*iMu, thebs) && !muonSelection(*iMu2, thebs))
1253  continue;
1254 
1255  float mumuMass = mumuInvMass(*iMu, *iMu2);
1256  if (mumuMass < minMumuInvMass_ || mumuMass > maxMumuInvMass_)
1257  continue;
1258 
1259  h1_mumuInvMass_[0]->Fill(mumuMass);
1260 
1261  if (photonHandle->empty())
1262  continue;
1263 
1264  reco::Muon nearMuon;
1265  reco::Muon farMuon;
1266  for (unsigned int iPho = 0; iPho < photonHandle->size(); iPho++) {
1267  reco::PhotonRef aPho(reco::PhotonRef(photonHandle, iPho));
1268  //
1269  double dr1 = deltaR2((*iMu).eta(), aPho->eta(), (*iMu).phi(), aPho->phi());
1270  double dr2 = deltaR2((*iMu2).eta(), aPho->eta(), (*iMu2).phi(), aPho->phi());
1271  double drNear;
1272  if (dr1 < dr2) {
1273  nearMuon = *iMu;
1274  farMuon = *iMu2;
1275  drNear = dr1;
1276  } else {
1277  nearMuon = *iMu2;
1278  farMuon = *iMu;
1279  drNear = dr2;
1280  }
1281  //
1282  if (nearMuon.isolationR03().hadEt > nearMuonHcalIso_)
1283  continue;
1284  if (farMuon.isolationR03().sumPt > farMuonTrackIso_)
1285  continue;
1286  if (farMuon.isolationR03().emEt > farMuonEcalIso_)
1287  continue;
1288  if (farMuon.pt() < farMuonMinPt_)
1289  continue;
1290  if (drNear > nearMuonDr2_)
1291  continue;
1292  //
1293  if (!photonSelection(aPho))
1294  continue;
1295  float mumuGammaMass = mumuGammaInvMass(*iMu, *iMu2, aPho);
1296  if (mumuGammaMass < minMumuGammaInvMass_ || mumuGammaMass > maxMumuGammaInvMass_)
1297  continue;
1298  //
1299  //counter: number of photons
1300  int iDet = 0;
1301  if (aPho->isEB() || aPho->isEE()) {
1302  nPho++;
1303  }
1304  if (aPho->isEB()) {
1305  iDet = 1;
1306  nPhoBarrel++;
1307  }
1308  if (aPho->isEE()) {
1309  iDet = 2;
1310  nPhoEndcap++;
1311  }
1312 
1313  //PHOTON RELATED HISTOGRAMS
1314  h1_mumuGammaInvMass_[0]->Fill(mumuGammaMass);
1315  h1_mumuGammaInvMass_[iDet]->Fill(mumuGammaMass);
1316  //ENERGY
1317  h_phoE_[0]->Fill(aPho->energy());
1318  h_phoSigmaEoverE_[0]->Fill(aPho->getCorrectedEnergyError(aPho->getCandidateP4type()) / aPho->energy());
1319  h_phoEt_[0]->Fill(aPho->et());
1320  h_phoE_[iDet]->Fill(aPho->energy());
1321  h_phoSigmaEoverE_[iDet]->Fill(aPho->getCorrectedEnergyError(aPho->getCandidateP4type()) / aPho->energy());
1322  p_phoSigmaEoverEVsNVtx_[iDet]->Fill(float(vtxH->size()),
1323  aPho->getCorrectedEnergyError(aPho->getCandidateP4type()) / aPho->energy());
1324  h_phoEt_[iDet]->Fill(aPho->et());
1325  //GEOMETRICAL
1326  h_phoEta_[0]->Fill(aPho->eta());
1327  h_phoPhi_[0]->Fill(aPho->phi());
1328  h_scEta_[0]->Fill(aPho->superCluster()->eta());
1329  h_scPhi_[0]->Fill(aPho->superCluster()->phi());
1330  h_phoEta_[iDet]->Fill(aPho->eta());
1331  h_phoPhi_[iDet]->Fill(aPho->phi());
1332  h_scEta_[iDet]->Fill(aPho->superCluster()->eta());
1333  h_scPhi_[iDet]->Fill(aPho->superCluster()->phi());
1334  //SHOWER SHAPE
1335  h_r9_[0]->Fill(aPho->r9());
1336  h_e1x5_[0]->Fill(aPho->e1x5());
1337  h_e2x5_[0]->Fill(aPho->e2x5());
1338  h_r1x5_[0]->Fill(aPho->r1x5());
1339  h_r2x5_[0]->Fill(aPho->r2x5());
1340  h_phoSigmaIetaIeta_[0]->Fill(aPho->sigmaIetaIeta());
1341  //
1342  h_r9_[iDet]->Fill(aPho->r9());
1343  h_e1x5_[iDet]->Fill(aPho->e1x5());
1344  h_e2x5_[iDet]->Fill(aPho->e2x5());
1345  h_r1x5_[iDet]->Fill(aPho->r1x5());
1346  h_r2x5_[iDet]->Fill(aPho->r2x5());
1347  h_phoSigmaIetaIeta_[iDet]->Fill(aPho->sigmaIetaIeta());
1348  //TRACK ISOLATION
1349  h_nTrackIsolSolid_[0]->Fill(aPho->nTrkSolidConeDR04());
1350  h_nTrackIsolHollow_[0]->Fill(aPho->nTrkHollowConeDR04());
1351  h_trackPtSumSolid_[0]->Fill(aPho->trkSumPtSolidConeDR04());
1352  h_trackPtSumHollow_[0]->Fill(aPho->trkSumPtSolidConeDR04());
1353  h_nTrackIsolSolid_[iDet]->Fill(aPho->nTrkSolidConeDR04());
1354  h_nTrackIsolHollow_[iDet]->Fill(aPho->nTrkHollowConeDR04());
1355  h_trackPtSumSolid_[iDet]->Fill(aPho->trkSumPtSolidConeDR04());
1356  h_trackPtSumHollow_[iDet]->Fill(aPho->trkSumPtSolidConeDR04());
1357  //CALORIMETER ISOLATION
1358  h_ecalSum_[0]->Fill(aPho->ecalRecHitSumEtConeDR04());
1359  h_hcalSum_[0]->Fill(aPho->hcalTowerSumEtConeDR04());
1360  h_hOverE_[0]->Fill(aPho->hadTowOverEm());
1361  h_h1OverE_[0]->Fill(aPho->hadTowOverEm(1));
1362  h_h2OverE_[0]->Fill(aPho->hadTowOverEm(2));
1363  h_newhOverE_[0]->Fill(aPho->hadTowOverEm());
1364  h_ecalSum_[iDet]->Fill(aPho->ecalRecHitSumEtConeDR04());
1365  h_hcalSum_[iDet]->Fill(aPho->hcalTowerSumEtConeDR04());
1366  h_hOverE_[iDet]->Fill(aPho->hadTowOverEm());
1367  h_h1OverE_[iDet]->Fill(aPho->hadTowOverEm(1));
1368  h_h2OverE_[iDet]->Fill(aPho->hadTowOverEm(2));
1369  h_newhOverE_[iDet]->Fill(aPho->hadTowOverEm());
1370  // Isolation from particle flow
1371  h_chHadIso_[0]->Fill(aPho->chargedHadronIso());
1372  h_nHadIso_[0]->Fill(aPho->neutralHadronIso());
1373  h_phoIso_[0]->Fill(aPho->photonIso());
1374  h_nCluOutsideMustache_[0]->Fill(float(aPho->nClusterOutsideMustache()));
1375  h_etOutsideMustache_[0]->Fill(aPho->etOutsideMustache());
1376  h_pfMva_[0]->Fill(aPho->pfMVA());
1377  h_chHadIso_[iDet]->Fill(aPho->chargedHadronIso());
1378  h_nHadIso_[iDet]->Fill(aPho->neutralHadronIso());
1379  h_phoIso_[iDet]->Fill(aPho->photonIso());
1380  h_nCluOutsideMustache_[iDet]->Fill(float(aPho->nClusterOutsideMustache()));
1381  h_etOutsideMustache_[iDet]->Fill(aPho->etOutsideMustache());
1382  h_pfMva_[iDet]->Fill(aPho->pfMVA());
1383 
1385  if (fName_ == "zmumugammaGedValidation") {
1386  float SumPtIsoValCh = 0.;
1387  float SumPtIsoValNh = 0.;
1388  float SumPtIsoValPh = 0.;
1389 
1390  float SumPtIsoValCleanCh = 0.;
1391  float SumPtIsoValCleanNh = 0.;
1392  float SumPtIsoValCleanPh = 0.;
1393 
1394  for (unsigned int lCand = 0; lCand < pfCandidateHandle->size(); lCand++) {
1395  reco::PFCandidateRef pfCandRef(reco::PFCandidateRef(pfCandidateHandle, lCand));
1396  float dR = deltaR2(aPho->eta(), aPho->phi(), pfCandRef->eta(), pfCandRef->phi());
1397  if (dR < 0.4 * 0.4) {
1399  reco::PFCandidate::ParticleType type = pfCandRef->particleId();
1400  if (type == reco::PFCandidate::e)
1401  continue;
1402  if (type == reco::PFCandidate::gamma && pfCandRef->mva_nothing_gamma() > 0.)
1403  continue;
1404  dR = sqrt(dR);
1405 
1406  if (type == reco::PFCandidate::h) {
1407  SumPtIsoValCh += pfCandRef->pt();
1410  }
1411  if (type == reco::PFCandidate::h0) {
1412  SumPtIsoValNh += pfCandRef->pt();
1415  }
1416  if (type == reco::PFCandidate::gamma) {
1417  SumPtIsoValPh += pfCandRef->pt();
1420  }
1422  bool skip = false;
1423  for (std::vector<reco::PFCandidateRef>::const_iterator i = phoToParticleBasedIsoMap[aPho].begin();
1424  i != phoToParticleBasedIsoMap[aPho].end();
1425  ++i) {
1426  // std::cout << " PhotonValidator PfCand pt " << pfCandRef->pt() << " id " <<pfCandRef->particleId() << " and in the map " << (*i)->pt() << " type " << (*i)->particleId() << std::endl;
1427  if ((*i) == pfCandRef) {
1428  skip = true;
1429  }
1430  } // loop over the PFCandidates flagged as overlapping with the photon
1431 
1432  if (skip)
1433  continue;
1434  if (type == reco::PFCandidate::h) {
1435  SumPtIsoValCleanCh += pfCandRef->pt();
1438  }
1439  if (type == reco::PFCandidate::h0) {
1440  SumPtIsoValCleanNh += pfCandRef->pt();
1443  }
1444  if (type == reco::PFCandidate::gamma) {
1445  SumPtIsoValCleanPh += pfCandRef->pt();
1448  }
1449  } // dr=0.4
1450  } // loop over all PF Candidates
1451 
1452  h_SumPtOverPhoPt_ChHad_Cleaned_[0]->Fill(SumPtIsoValCleanCh / aPho->pt());
1453  h_SumPtOverPhoPt_NeuHad_Cleaned_[0]->Fill(SumPtIsoValCleanNh / aPho->pt());
1454  h_SumPtOverPhoPt_Pho_Cleaned_[0]->Fill(SumPtIsoValCleanPh / aPho->pt());
1455  h_SumPtOverPhoPt_ChHad_unCleaned_[0]->Fill(SumPtIsoValCh / aPho->pt());
1456  h_SumPtOverPhoPt_NeuHad_unCleaned_[0]->Fill(SumPtIsoValNh / aPho->pt());
1457  h_SumPtOverPhoPt_Pho_unCleaned_[0]->Fill(SumPtIsoValPh / aPho->pt());
1458  //
1459  h_SumPtOverPhoPt_ChHad_Cleaned_[iDet]->Fill(SumPtIsoValCleanCh / aPho->pt());
1460  h_SumPtOverPhoPt_NeuHad_Cleaned_[iDet]->Fill(SumPtIsoValCleanNh / aPho->pt());
1461  h_SumPtOverPhoPt_Pho_Cleaned_[iDet]->Fill(SumPtIsoValCleanPh / aPho->pt());
1462  h_SumPtOverPhoPt_ChHad_unCleaned_[iDet]->Fill(SumPtIsoValCh / aPho->pt());
1463  h_SumPtOverPhoPt_NeuHad_unCleaned_[iDet]->Fill(SumPtIsoValNh / aPho->pt());
1464  h_SumPtOverPhoPt_Pho_unCleaned_[iDet]->Fill(SumPtIsoValPh / aPho->pt());
1465  } // only for zmumugammaGedValidation
1466 
1467  if (makeProfiles_) {
1468  p_r9VsEt_[iDet]->Fill(aPho->et(), aPho->r9());
1469  p_r9VsEta_[0]->Fill(aPho->eta(), aPho->r9());
1470  p_e1x5VsEt_[iDet]->Fill(aPho->et(), aPho->e1x5());
1471  p_e1x5VsEta_[0]->Fill(aPho->eta(), aPho->e1x5());
1472  p_e2x5VsEt_[iDet]->Fill(aPho->et(), aPho->e2x5());
1473  p_e2x5VsEta_[0]->Fill(aPho->eta(), aPho->e2x5());
1474  p_r1x5VsEt_[iDet]->Fill(aPho->et(), aPho->r1x5());
1475  p_r1x5VsEta_[0]->Fill(aPho->eta(), aPho->r1x5());
1476  p_r2x5VsEt_[iDet]->Fill(aPho->et(), aPho->r2x5());
1477  p_r2x5VsEta_[0]->Fill(aPho->eta(), aPho->r2x5());
1478  //
1479  p_sigmaIetaIetaVsEta_[0]->Fill(aPho->eta(), aPho->sigmaIetaIeta());
1480  p_nTrackIsolSolidVsEt_[iDet]->Fill(aPho->et(), aPho->nTrkSolidConeDR04());
1481  p_nTrackIsolSolidVsEta_[0]->Fill(aPho->eta(), aPho->nTrkSolidConeDR04());
1482  p_nTrackIsolHollowVsEt_[iDet]->Fill(aPho->et(), aPho->nTrkHollowConeDR04());
1483  p_nTrackIsolHollowVsEta_[0]->Fill(aPho->eta(), aPho->nTrkHollowConeDR04());
1484  p_trackPtSumSolidVsEt_[iDet]->Fill(aPho->et(), aPho->trkSumPtSolidConeDR04());
1485  p_trackPtSumSolidVsEta_[0]->Fill(aPho->eta(), aPho->trkSumPtSolidConeDR04());
1486  p_trackPtSumHollowVsEt_[iDet]->Fill(aPho->et(), aPho->trkSumPtHollowConeDR04());
1487  p_trackPtSumHollowVsEta_[0]->Fill(aPho->eta(), aPho->trkSumPtHollowConeDR04());
1488  //
1489  p_ecalSumVsEt_[iDet]->Fill(aPho->et(), aPho->ecalRecHitSumEtConeDR04());
1490  p_ecalSumVsEta_[0]->Fill(aPho->eta(), aPho->ecalRecHitSumEtConeDR04());
1491  p_hcalSumVsEt_[iDet]->Fill(aPho->et(), aPho->hcalTowerSumEtConeDR04());
1492  p_hcalSumVsEta_[0]->Fill(aPho->eta(), aPho->hcalTowerSumEtConeDR04());
1493  p_hOverEVsEt_[iDet]->Fill(aPho->et(), aPho->hadTowOverEm());
1494  p_hOverEVsEta_[0]->Fill(aPho->eta(), aPho->hadTowOverEm());
1495  }
1496 
1498  if (use2DHistos_) {
1499  //SHOWER SHAPE
1500  h2_r9VsEt_[iDet]->Fill(aPho->et(), aPho->r9());
1501  h2_r9VsEta_[0]->Fill(aPho->eta(), aPho->r9());
1502  h2_e1x5VsEt_[iDet]->Fill(aPho->et(), aPho->e1x5());
1503  h2_e1x5VsEta_[0]->Fill(aPho->eta(), aPho->e1x5());
1504  h2_e2x5VsEta_[0]->Fill(aPho->eta(), aPho->e2x5());
1505  h2_e2x5VsEt_[iDet]->Fill(aPho->et(), aPho->e2x5());
1506  h2_r1x5VsEta_[0]->Fill(aPho->eta(), aPho->r1x5());
1507  h2_r1x5VsEt_[iDet]->Fill(aPho->et(), aPho->r1x5());
1508  h2_r2x5VsEt_[iDet]->Fill(aPho->et(), aPho->r2x5());
1509  h2_r2x5VsEta_[0]->Fill(aPho->eta(), aPho->r2x5());
1510  h2_sigmaIetaIetaVsEta_[0]->Fill(aPho->eta(), aPho->sigmaIetaIeta());
1511  //TRACK ISOLATION
1512  h2_nTrackIsolSolidVsEt_[0]->Fill(aPho->et(), aPho->nTrkSolidConeDR04());
1513  h2_nTrackIsolSolidVsEta_[0]->Fill(aPho->eta(), aPho->nTrkSolidConeDR04());
1514  h2_nTrackIsolHollowVsEt_[0]->Fill(aPho->et(), aPho->nTrkHollowConeDR04());
1515  h2_nTrackIsolHollowVsEta_[0]->Fill(aPho->eta(), aPho->nTrkHollowConeDR04());
1516  h2_trackPtSumSolidVsEt_[0]->Fill(aPho->et(), aPho->trkSumPtSolidConeDR04());
1517  h2_trackPtSumSolidVsEta_[0]->Fill(aPho->eta(), aPho->trkSumPtSolidConeDR04());
1518  h2_trackPtSumHollowVsEt_[0]->Fill(aPho->et(), aPho->trkSumPtHollowConeDR04());
1519  h2_trackPtSumHollowVsEta_[0]->Fill(aPho->eta(), aPho->trkSumPtHollowConeDR04());
1520  //CALORIMETER ISOLATION
1521  h2_ecalSumVsEt_[iDet]->Fill(aPho->et(), aPho->ecalRecHitSumEtConeDR04());
1522  h2_ecalSumVsEta_[0]->Fill(aPho->eta(), aPho->ecalRecHitSumEtConeDR04());
1523  h2_hcalSumVsEt_[iDet]->Fill(aPho->et(), aPho->hcalTowerSumEtConeDR04());
1524  h2_hcalSumVsEta_[0]->Fill(aPho->eta(), aPho->hcalTowerSumEtConeDR04());
1525  }
1526  } //end photon loop
1527 
1528  h_nPho_[0]->Fill(float(nPho));
1529  h_nPho_[1]->Fill(float(nPhoBarrel));
1530  h_nPho_[2]->Fill(float(nPhoEndcap));
1531  } //end inner muon loop
1532  } //end outer muon loop
1533 } //End of Analyze method
MonitorElement * h_dRPhoPFcand_Pho_unCleaned_[3]
MonitorElement * p_hOverEVsEta_[3]
float hadEt
hcal sum-Et
Definition: MuonIsolation.h:8
MonitorElement * h_pfMva_[3]
const MuonIsolation & isolationR03() const
Definition: Muon.h:166
MonitorElement * h_SumPtOverPhoPt_ChHad_unCleaned_[3]
MonitorElement * h_dRPhoPFcand_Pho_Cleaned_[3]
MonitorElement * h2_nTrackIsolSolidVsEt_[3]
ParticleType
particle types
Definition: PFCandidate.h:44
MonitorElement * p_sigmaIetaIetaVsEta_[3]
MonitorElement * p_r1x5VsEta_[3]
float sumPt
sum-pt of tracks
Definition: MuonIsolation.h:6
bool muonSelection(const reco::Muon &m, const reco::BeamSpot &bs)
MonitorElement * h_phoSigmaIetaIeta_[3]
double pt() const final
transverse momentum
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
MonitorElement * h2_r2x5VsEta_[3]
MonitorElement * h_newhOverE_[3]
edm::EDGetTokenT< reco::PFCandidateCollection > pfCandidates_
MonitorElement * h2_trackPtSumHollowVsEt_[3]
MonitorElement * h_SumPtOverPhoPt_NeuHad_unCleaned_[3]
edm::EDGetTokenT< std::vector< reco::Photon > > photon_token_
MonitorElement * p_nTrackIsolHollowVsEta_[3]
MonitorElement * h2_r9VsEt_[3]
MonitorElement * h_nCluOutsideMustache_[3]
MonitorElement * h2_ecalSumVsEt_[3]
MonitorElement * h_nTrackIsolSolid_[3]
MonitorElement * h_SumPtOverPhoPt_Pho_Cleaned_[3]
MonitorElement * h_trackPtSumHollow_[3]
MonitorElement * h2_nTrackIsolSolidVsEta_[3]
MonitorElement * p_ecalSumVsEt_[3]
MonitorElement * h_phoEta_[3]
MonitorElement * h_nPho_[3]
MonitorElement * h_chHadIso_[3]
T const * product() const
Definition: Handle.h:70
MonitorElement * h_phoSigmaEoverE_[3]
MonitorElement * h_dRPhoPFcand_NeuHad_Cleaned_[3]
MonitorElement * h_r1x5_[3]
MonitorElement * p_phoSigmaEoverEVsNVtx_[3]
MonitorElement * h2_sigmaIetaIetaVsEta_[3]
MonitorElement * h_dRPhoPFcand_NeuHad_unCleaned_[3]
MonitorElement * h2_hcalSumVsEt_[3]
MonitorElement * h_hcalSum_[3]
MonitorElement * h_phoPhi_[3]
MonitorElement * p_trackPtSumHollowVsEt_[3]
Log< level::Error, false > LogError
MonitorElement * h2_ecalSumVsEta_[3]
edm::EDGetTokenT< trigger::TriggerEvent > triggerEvent_token_
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
const_iterator end() const
Definition: ValueMap.h:230
MonitorElement * h_hOverE_[3]
MonitorElement * h_trackPtSumSolid_[3]
MonitorElement * p_hcalSumVsEt_[3]
void Fill(long long x)
MonitorElement * p_e1x5VsEt_[3]
MonitorElement * h2_r2x5VsEt_[3]
char const * label
MonitorElement * h_h1OverE_[3]
MonitorElement * h_SumPtOverPhoPt_ChHad_Cleaned_[3]
MonitorElement * h2_e1x5VsEta_[3]
MonitorElement * h1_mumuGammaInvMass_[3]
MonitorElement * h2_trackPtSumSolidVsEt_[3]
MonitorElement * h_phoE_[3]
MonitorElement * p_r2x5VsEta_[3]
T sqrt(T t)
Definition: SSEVec.h:19
MonitorElement * h_nRecoVtx_
float emEt
ecal sum-Et
Definition: MuonIsolation.h:7
MonitorElement * p_e2x5VsEt_[3]
MonitorElement * p_hcalSumVsEta_[3]
float mumuInvMass(const reco::Muon &m1, const reco::Muon &m2)
float mumuGammaInvMass(const reco::Muon &mu1, const reco::Muon &mu2, const reco::PhotonRef &pho)
MonitorElement * h_phoEt_[3]
MonitorElement * p_ecalSumVsEta_[3]
MonitorElement * p_r9VsEta_[3]
MonitorElement * h_nHadIso_[3]
edm::EDGetTokenT< reco::VertexCollection > offline_pvToken_
MonitorElement * p_trackPtSumSolidVsEta_[3]
MonitorElement * h1_mumuInvMass_[3]
photon histos
Log< level::Info, false > LogInfo
MonitorElement * h2_trackPtSumSolidVsEta_[3]
MonitorElement * h2_hcalSumVsEta_[3]
MonitorElement * h_dRPhoPFcand_ChHad_unCleaned_[3]
bool photonSelection(const reco::PhotonRef &p)
MonitorElement * h_scPhi_[3]
MonitorElement * h2_e1x5VsEt_[3]
MonitorElement * h_scEta_[3]
edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > photonIsoValmap_token_
std::vector< size_type > Keys
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
MonitorElement * h_nTrackIsolHollow_[3]
MonitorElement * p_r2x5VsEt_[3]
MonitorElement * h_SumPtOverPhoPt_Pho_unCleaned_[3]
MonitorElement * h_SumPtOverPhoPt_NeuHad_Cleaned_[3]
MonitorElement * h_etOutsideMustache_[3]
MonitorElement * h_e1x5_[3]
MonitorElement * h2_nTrackIsolHollowVsEt_[3]
MonitorElement * h2_nTrackIsolHollowVsEta_[3]
edm::EDGetTokenT< reco::BeamSpot > beamSpot_token_
MonitorElement * h2_e2x5VsEta_[3]
bool isValid() const
Definition: HandleBase.h:70
MonitorElement * h2_trackPtSumHollowVsEta_[3]
MonitorElement * h_r9_[3]
HLT enums.
MonitorElement * p_r1x5VsEt_[3]
MonitorElement * p_nTrackIsolHollowVsEt_[3]
MonitorElement * p_r9VsEt_[3]
bool basicMuonSelection(const reco::Muon &m)
MonitorElement * p_trackPtSumSolidVsEt_[3]
MonitorElement * p_e2x5VsEta_[3]
MonitorElement * h_e2x5_[3]
MonitorElement * h2_r1x5VsEta_[3]
MonitorElement * p_trackPtSumHollowVsEta_[3]
MonitorElement * h_dRPhoPFcand_ChHad_Cleaned_[3]
MonitorElement * p_hOverEVsEt_[3]
MonitorElement * h2_r1x5VsEt_[3]
MonitorElement * p_nTrackIsolSolidVsEt_[3]
MonitorElement * p_e1x5VsEta_[3]
MonitorElement * p_nTrackIsolSolidVsEta_[3]
MonitorElement * h2_r9VsEta_[3]
edm::EDGetTokenT< std::vector< reco::Muon > > muon_token_
MonitorElement * h_ecalSum_[3]
MonitorElement * h_phoIso_[3]
MonitorElement * h_h2OverE_[3]
MonitorElement * h_r2x5_[3]
MonitorElement * h2_e2x5VsEt_[3]

◆ basicMuonSelection()

bool ZToMuMuGammaAnalyzer::basicMuonSelection ( const reco::Muon m)
private

Definition at line 1535 of file ZToMuMuGammaAnalyzer.cc.

References amptDefaultParameters_cff::mu, and mps_fire::result.

1535  {
1536  bool result = true;
1537  if (!mu.innerTrack().isNonnull())
1538  result = false;
1539  if (!mu.globalTrack().isNonnull())
1540  result = false;
1541  if (!mu.isGlobalMuon())
1542  result = false;
1543  if (mu.pt() < muonMinPt_)
1544  result = false;
1545  if (fabs(mu.eta()) > 2.4)
1546  result = false;
1547 
1548  int pixHits = 0;
1549  int tkHits = 0;
1550  if (mu.innerTrack().isNonnull()) {
1551  pixHits = mu.innerTrack()->hitPattern().numberOfValidPixelHits();
1552  tkHits = mu.innerTrack()->hitPattern().numberOfValidStripHits();
1553  }
1554 
1555  if (pixHits + tkHits < minPixStripHits_)
1556  result = false;
1557 
1558  return result;
1559 }

◆ bookHistograms()

void ZToMuMuGammaAnalyzer::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  ,
edm::EventSetup const &   
)
override

Definition at line 398 of file ZToMuMuGammaAnalyzer.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::IBooker::bookProfile(), and dqm::implementation::NavigatorBase::setCurrentFolder().

400  {
402  iBooker.setCurrentFolder("Egamma/" + fName_ + "/ZToMuMuGamma");
403 
404  h1_mumuInvMass_[0] = iBooker.book1D("mumuInvMass", "Two muon invariant mass: M (GeV)", etBin_, etMin_, etMax_);
406  iBooker.book1D("mumuGammaInvMass", "Two-muon plus gamma invariant mass: M (GeV)", etBin_, etMin_, etMax_);
408  iBooker.book1D("mumuGammaInvMassBarrel", "Two-muon plus gamma invariant mass: M (GeV)", etBin_, etMin_, etMax_);
410  iBooker.book1D("mumuGammaInvMassEndcap", "Two-muon plus gamma invariant mass: M (GeV)", etBin_, etMin_, etMax_);
411 
414  h_nRecoVtx_ = iBooker.book1D("nOfflineVtx", "# of Offline Vertices", 200, -0.5, 199.5);
415 
416  //ENERGY
417  h_phoE_[0] = iBooker.book1D("phoE", "Energy;E (GeV)", eBin_, eMin_, eMax_);
418  h_phoSigmaEoverE_[0] = iBooker.book1D("phoSigmaEoverE", "All Ecal: #sigma_{E}/E;#sigma_{E}/E", eBin_, eMin_, eMax_);
419  h_phoEt_[0] = iBooker.book1D("phoEt", "E_{T};E_{T} (GeV)", etBin_, etMin_, etMax_);
420 
421  //NUMBER OF PHOTONS
422  h_nPho_[0] = iBooker.book1D("nPho", "Number of Photons per Event;# #gamma", numberBin_, numberMin_, numberMax_);
423 
424  //GEOMETRICAL
425  h_phoEta_[0] = iBooker.book1D("phoEta", "#eta;#eta", etaBin_, etaMin_, etaMax_);
426  h_phoPhi_[0] = iBooker.book1D("phoPhi", "#phi;#phi", phiBin_, phiMin_, phiMax_);
427 
428  h_scEta_[0] = iBooker.book1D("scEta", "SuperCluster #eta;#eta", etaBin_, etaMin_, etaMax_);
429  h_scPhi_[0] = iBooker.book1D("scPhi", "SuperCluster #phi;#phi", phiBin_, phiMin_, phiMax_);
430 
431  //SHOWER SHAPE
432  h_r9_[0] = iBooker.book1D("r9", "R9;R9", r9Bin_, r9Min_, r9Max_);
433  h_e1x5_[0] = iBooker.book1D("e1x5", "E1x5;E1X5 (GeV)", reducedEtBin_, etMin_, etMax_);
434  h_e2x5_[0] = iBooker.book1D("e2x5", "E2x5;E2X5 (GeV)", reducedEtBin_, etMin_, etMax_);
435  h_r1x5_[0] = iBooker.book1D("r1x5", "r1x5;r1X5 (GeV)", reducedEtBin_, etMin_, etMax_);
436  h_r2x5_[0] = iBooker.book1D("r2x5", "r2x5;r2X5 (GeV)", reducedEtBin_, etMin_, etMax_);
437  h_phoSigmaIetaIeta_[0] = iBooker.book1D(
438  "phoSigmaIetaIeta", "#sigma_{i#etai#eta};#sigma_{i#etai#eta}", sigmaIetaBin_, sigmaIetaMin_, sigmaIetaMax_);
439  //TRACK ISOLATION
440  h_nTrackIsolSolid_[0] = iBooker.book1D(
441  "nIsoTracksSolid", "Number Of Tracks in the Solid Iso Cone;# tracks", numberBin_, numberMin_, numberMax_);
442  h_nTrackIsolHollow_[0] = iBooker.book1D(
443  "nIsoTracksHollow", "Number Of Tracks in the Hollow Iso Cone;# tracks", numberBin_, numberMin_, numberMax_);
444  h_trackPtSumSolid_[0] =
445  iBooker.book1D("isoPtSumSolid", "Track P_{T} Sum in the Solid Iso Cone;P_{T} (GeV)", sumBin_, sumMin_, sumMax_);
447  iBooker.book1D("isoPtSumHollow", "Track P_{T} Sum in the Hollow Iso Cone;P_{T} (GeV)", sumBin_, sumMin_, sumMax_);
448  //CALORIMETER ISOLATION VARIABLES
449  h_ecalSum_[0] = iBooker.book1D("ecalSum", "Ecal Sum in the Iso Cone;E (GeV)", sumBin_, sumMin_, sumMax_);
450  h_hcalSum_[0] = iBooker.book1D("hcalSum", "Hcal Sum in the Iso Cone;E (GeV)", sumBin_, sumMin_, sumMax_);
451  h_hOverE_[0] = iBooker.book1D("hOverE", "H/E;H/E", hOverEBin_, hOverEMin_, hOverEMax_);
452  h_h1OverE_[0] = iBooker.book1D("h1OverE", "H/E for Depth 1;H/E", hOverEBin_, hOverEMin_, hOverEMax_);
453  h_h2OverE_[0] = iBooker.book1D("h2OverE", "H/E for Depth 2;H/E", hOverEBin_, hOverEMin_, hOverEMax_);
454  string histname = "newhOverE";
455  h_newhOverE_[0] = iBooker.book1D(histname + "All", "new H/E: All Ecal", 100, 0., 0.1);
456  // Information from Particle Flow
457  histname = "chargedHadIso";
458  h_chHadIso_[0] = iBooker.book1D(histname + "All", "PF chargedHadIso: All Ecal", etBin_, etMin_, 20.);
459  histname = "neutralHadIso";
460  h_nHadIso_[0] = iBooker.book1D(histname + "All", "PF neutralHadIso: All Ecal", etBin_, etMin_, 20.);
461  histname = "photonIso";
462  h_phoIso_[0] = iBooker.book1D(histname + "All", "PF photonIso: All Ecal", etBin_, etMin_, 20.);
463  histname = "nCluOutMustache";
465  iBooker.book1D(histname + "All", "PF number of clusters outside Mustache: All Ecal", 50, 0., 50.);
466  histname = "etOutMustache";
467  h_etOutsideMustache_[0] = iBooker.book1D(histname + "All", "PF et outside Mustache: All Ecal", etBin_, etMin_, 20.);
468  histname = "pfMVA";
469  h_pfMva_[0] = iBooker.book1D(histname + "All", "PF MVA output: All Ecal", 50, -1., 2.);
471  histname = "SumPtOverPhoPt_ChHad_Cleaned";
473  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Charged Hadrons: All Ecal", etBin_, etMin_, 2.);
474  histname = "SumPtOverPhoPt_NeuHad_Cleaned";
476  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Neutral Hadrons: All Ecal", etBin_, etMin_, 2.);
477  histname = "SumPtOverPhoPt_Pho_Cleaned";
479  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Photons Hadrons: All Ecal", etBin_, etMin_, 2.);
480  histname = "dRPhoPFcand_ChHad_Cleaned";
482  iBooker.book1D(histname + "All", "dR(pho,cand) Charged Hadrons : All Ecal", etBin_, etMin_, 0.7);
483  histname = "dRPhoPFcand_NeuHad_Cleaned";
485  iBooker.book1D(histname + "All", "dR(pho,cand) Neutral Hadrons : All Ecal", etBin_, etMin_, 0.7);
486  histname = "dRPhoPFcand_Pho_Cleaned";
488  iBooker.book1D(histname + "All", "dR(pho,cand) Photons : All Ecal", etBin_, etMin_, 0.7);
489  //
490  histname = "SumPtOverPhoPt_ChHad_unCleaned";
492  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Charged Hadrons : All Ecal", etBin_, etMin_, 2.);
493  histname = "SumPtOverPhoPt_NeuHad_unCleaned";
495  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Neutral Hadrons : All Ecal", etBin_, etMin_, 2.);
496  histname = "SumPtOverPhoPt_Pho_unCleaned";
498  iBooker.book1D(histname + "All", "Pf Cand Sum Pt Over photon pt Photons: All Ecal", etBin_, etMin_, 2.);
499  histname = "dRPhoPFcand_ChHad_unCleaned";
501  iBooker.book1D(histname + "All", "dR(pho,cand) Charged Hadrons : All Ecal", etBin_, etMin_, 0.7);
502  histname = "dRPhoPFcand_NeuHad_unCleaned";
504  iBooker.book1D(histname + "All", "dR(pho,cand) Neutral Hadrons : All Ecal", etBin_, etMin_, 0.7);
505  histname = "dRPhoPFcand_Pho_unCleaned";
507  iBooker.book1D(histname + "All", "dR(pho,cand) Photons: All Ecal", etBin_, etMin_, 0.7);
508 
509  // NUMBER OF PHOTONS
510  h_nPho_[1] = iBooker.book1D("nPhoBarrel", "Number of Photons per Event;# #gamma", numberBin_, numberMin_, numberMax_);
511  h_nPho_[2] = iBooker.book1D("nPhoEndcap", "Number of Photons per Event;# #gamma", numberBin_, numberMin_, numberMax_);
512  //EB ENERGY
513  h_phoE_[1] = iBooker.book1D("phoEBarrel", "Energy for Barrel;E (GeV)", eBin_, eMin_, eMax_);
514  h_phoSigmaEoverE_[1] = iBooker.book1D("phoSigmaEoverEBarrel", "Barrel: #sigma_E/E;#sigma_{E}/E", eBin_, eMin_, eMax_);
515  h_phoEt_[1] = iBooker.book1D("phoEtBarrel", "E_{T};E_{T} (GeV)", etBin_, etMin_, etMax_);
516  //EE ENERGY
517  h_phoEt_[2] = iBooker.book1D("phoEtEndcap", "E_{T};E_{T} (GeV)", etBin_, etMin_, etMax_);
518  h_phoE_[2] = iBooker.book1D("phoEEndcap", "Energy for Endcap;E (GeV)", eBin_, eMin_, eMax_);
519  h_phoSigmaEoverE_[2] =
520  iBooker.book1D("phoSigmaEoverEEndcap", "Endcap: #sigma_{E}/E;#sigma_{E}/E", eBin_, eMin_, eMax_);
521  //EB GEOMETRICAL
522  h_phoEta_[1] = iBooker.book1D("phoEtaBarrel", "#eta;#eta", etaBin_, etaMin_, etaMax_);
523  h_phoPhi_[1] = iBooker.book1D("phoPhiBarrel", "#phi;#phi", phiBin_, phiMin_, phiMax_);
524  h_scEta_[1] = iBooker.book1D("scEtaBarrel", "SuperCluster #eta;#eta", etaBin_, etaMin_, etaMax_);
525  h_scPhi_[1] = iBooker.book1D("scPhiBarrel", "SuperCluster #phi;#phi", phiBin_, phiMin_, phiMax_);
526  //EE GEOMETRICAL
527  h_phoEta_[2] = iBooker.book1D("phoEtaEndcap", "#eta;#eta", etaBin_, etaMin_, etaMax_);
528  h_phoPhi_[2] = iBooker.book1D("phoPhiEndcap", "#phi;#phi", phiBin_, phiMin_, phiMax_);
529  h_scEta_[2] = iBooker.book1D("scEtaEndcap", "SuperCluster #eta;#eta", etaBin_, etaMin_, etaMax_);
530  h_scPhi_[2] = iBooker.book1D("scPhiEndcap", "SuperCluster #phi;#phi", phiBin_, phiMin_, phiMax_);
531  //SHOWER SHAPES
532  h_r9_[1] = iBooker.book1D("r9Barrel", "R9;R9", r9Bin_, r9Min_, r9Max_);
533  h_r9_[2] = iBooker.book1D("r9Endcap", "R9;R9", r9Bin_, r9Min_, r9Max_);
534  h_e1x5_[1] = iBooker.book1D("e1x5Barrel", "E1x5;E1X5 (GeV)", reducedEtBin_, etMin_, etMax_);
535  h_e1x5_[2] = iBooker.book1D("e1x5Endcap", "E1x5;E1X5 (GeV)", reducedEtBin_, etMin_, etMax_);
536  h_e2x5_[1] = iBooker.book1D("e2x5Barrel", "E2x5;E2X5 (GeV)", reducedEtBin_, etMin_, etMax_);
537  h_e2x5_[2] = iBooker.book1D("e2x5Endcap", "E2x5;E2X5 (GeV)", reducedEtBin_, etMin_, etMax_);
538  h_r1x5_[1] = iBooker.book1D("r1x5Barrel", "r1x5;r1X5 (GeV)", reducedEtBin_, etMin_, etMax_);
539  h_r1x5_[2] = iBooker.book1D("r1x5Endcap", "r1x5;r1X5 (GeV)", reducedEtBin_, etMin_, etMax_);
540  h_r2x5_[1] = iBooker.book1D("r2x5Barrel", "r2x5;r2X5 (GeV)", reducedEtBin_, etMin_, etMax_);
541  h_r2x5_[2] = iBooker.book1D("r2x5Endcap", "r2x5;r2X5 (GeV)", reducedEtBin_, etMin_, etMax_);
542  h_phoSigmaIetaIeta_[1] = iBooker.book1D(
543  "phoSigmaIetaIetaBarrel", "#sigma_{i#etai#eta};#sigma_{i#etai#eta}", sigmaIetaBin_, sigmaIetaMin_, sigmaIetaMax_);
544  h_phoSigmaIetaIeta_[2] = iBooker.book1D(
545  "phoSigmaIetaIetaEndcap", "#sigma_{i#etai#eta};#sigma_{i#etai#eta}", sigmaIetaBin_, sigmaIetaMin_, sigmaIetaMax_);
546  // TRACK ISOLATION
547  h_nTrackIsolSolid_[1] = iBooker.book1D(
548  "nIsoTracksSolidBarrel", "Number Of Tracks in the Solid Iso Cone;# tracks", numberBin_, numberMin_, numberMax_);
549  h_nTrackIsolSolid_[2] = iBooker.book1D(
550  "nIsoTracksSolidEndcap", "Number Of Tracks in the Solid Iso Cone;# tracks", numberBin_, numberMin_, numberMax_);
551  h_nTrackIsolHollow_[1] = iBooker.book1D(
552  "nIsoTracksHollowBarrel", "Number Of Tracks in the Hollow Iso Cone;# tracks", numberBin_, numberMin_, numberMax_);
553  h_nTrackIsolHollow_[2] = iBooker.book1D(
554  "nIsoTracksHollowEndcap", "Number Of Tracks in the Hollow Iso Cone;# tracks", numberBin_, numberMin_, numberMax_);
555  h_trackPtSumSolid_[1] = iBooker.book1D(
556  "isoPtSumSolidBarrel", "Track P_{T} Sum in the Solid Iso Cone;P_{T} (GeV)", sumBin_, sumMin_, sumMax_);
557  h_trackPtSumSolid_[2] = iBooker.book1D(
558  "isoPtSumSolidEndcap", "Track P_{T} Sum in the Solid Iso Cone;P_{T} (GeV)", sumBin_, sumMin_, sumMax_);
559  h_trackPtSumHollow_[1] = iBooker.book1D(
560  "isoPtSumHollowBarrel", "Track P_{T} Sum in the Hollow Iso Cone;P_{T} (GeV)", sumBin_, sumMin_, sumMax_);
561  h_trackPtSumHollow_[2] = iBooker.book1D(
562  "isoPtSumHollowEndcap", "Track P_{T} Sum in the Hollow Iso Cone;P_{T} (GeV)", sumBin_, sumMin_, sumMax_);
563  // CALORIMETER ISOLATION VARIABLES
564  h_ecalSum_[1] = iBooker.book1D("ecalSumBarrel", "Ecal Sum in the Iso Cone;E (GeV)", sumBin_, sumMin_, sumMax_);
565  h_ecalSum_[2] = iBooker.book1D("ecalSumEndcap", "Ecal Sum in the Iso Cone;E (GeV)", sumBin_, sumMin_, sumMax_);
566  h_hcalSum_[1] = iBooker.book1D("hcalSumBarrel", "Hcal Sum in the Iso Cone;E (GeV)", sumBin_, sumMin_, sumMax_);
567  h_hcalSum_[2] = iBooker.book1D("hcalSumEndcap", "Hcal Sum in the Iso Cone;E (GeV)", sumBin_, sumMin_, sumMax_);
568  //H/E
569  // EB
570  h_hOverE_[1] = iBooker.book1D("hOverEBarrel", "H/E;H/E", hOverEBin_, hOverEMin_, hOverEMax_);
571  h_h1OverE_[1] = iBooker.book1D("h1OverEBarrel", "H/E for Depth 1;H/E", hOverEBin_, hOverEMin_, hOverEMax_);
572  h_h2OverE_[1] = iBooker.book1D("h2OverEBarrel", "H/E for Depth 2;H/E", hOverEBin_, hOverEMin_, hOverEMax_);
573  histname = "newhOverE";
574  h_newhOverE_[1] = iBooker.book1D(histname + "Barrel", "new H/E: Barrel", 100, 0., 0.1);
575  //EE
576  h_hOverE_[2] = iBooker.book1D("hOverEEndcap", "H/E;H/E", hOverEBin_, hOverEMin_, hOverEMax_);
577  h_h1OverE_[2] = iBooker.book1D("h1OverEEndcap", "H/E for Depth 1;H/E", hOverEBin_, hOverEMin_, hOverEMax_);
578  h_h2OverE_[2] = iBooker.book1D("h2OverEEndcap", "H/E for Depth 2;H/E", hOverEBin_, hOverEMin_, hOverEMax_);
579  histname = "newhOverE";
580  h_newhOverE_[2] = iBooker.book1D(histname + "Endcap", "new H/E: Endcap", 100, 0., 0.1);
581  // Information from Particle Flow
582  histname = "chargedHadIso";
583  h_chHadIso_[1] = iBooker.book1D(histname + "Barrel", "PF chargedHadIso: Barrel", etBin_, etMin_, 20.);
584  h_chHadIso_[2] = iBooker.book1D(histname + "Endcap", "PF chargedHadIso: Endcap", etBin_, etMin_, 20.);
585  histname = "neutralHadIso";
586  h_nHadIso_[1] = iBooker.book1D(histname + "Barrel", "PF neutralHadIso: Barrel", etBin_, etMin_, 20.);
587  h_nHadIso_[2] = iBooker.book1D(histname + "Endcap", "PF neutralHadIso: Endcap", etBin_, etMin_, 20.);
588  histname = "photonIso";
589  h_phoIso_[1] = iBooker.book1D(histname + "Barrel", "PF photonIso: Barrel", etBin_, etMin_, 20.);
590  h_phoIso_[2] = iBooker.book1D(histname + "Endcap", "PF photonIso: Endcap", etBin_, etMin_, 20.);
591  histname = "nCluOutMustache";
593  iBooker.book1D(histname + "Barrel", "PF number of clusters outside Mustache: Barrel", 50, 0., 50.);
595  iBooker.book1D(histname + "Endcap", "PF number of clusters outside Mustache: Endcap", 50, 0., 50.);
596  histname = "etOutMustache";
597  h_etOutsideMustache_[1] = iBooker.book1D(histname + "Barrel", "PF et outside Mustache: Barrel", etBin_, etMin_, 20.);
598  h_etOutsideMustache_[2] = iBooker.book1D(histname + "Endcap", "PF et outside Mustache: Endcap", etBin_, etMin_, 20.);
599  histname = "pfMVA";
600  h_pfMva_[1] = iBooker.book1D(histname + "Barrel", "PF MVA output: Barrel", 50, -1., 2.);
601  h_pfMva_[2] = iBooker.book1D(histname + "Endcap", "PF MVA output: Endcap", 50, -1, 2.);
603  histname = "SumPtOverPhoPt_ChHad_Cleaned";
605  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Charged Hadrons: Barrel", etBin_, etMin_, 2.);
607  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Charged Hadrons: Endcap", etBin_, etMin_, 2.);
608  histname = "SumPtOverPhoPt_NeuHad_Cleaned";
610  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Neutral Hadrons: Barrel", etBin_, etMin_, 2.);
612  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Neutral Hadrons: Endcap", etBin_, etMin_, 2.);
613  histname = "SumPtOverPhoPt_Pho_Cleaned";
615  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Photons Hadrons: Barrel", etBin_, etMin_, 2.);
617  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Photons Hadrons: Endcap", etBin_, etMin_, 2.);
618  histname = "dRPhoPFcand_ChHad_Cleaned";
620  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Charged Hadrons : Barrel", etBin_, etMin_, 0.7);
622  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Charged Hadrons : Endcap", etBin_, etMin_, 0.7);
623  histname = "dRPhoPFcand_NeuHad_Cleaned";
625  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Neutral Hadrons : Barrel", etBin_, etMin_, 0.7);
627  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Neutral Hadrons : Endcap", etBin_, etMin_, 0.7);
628  histname = "dRPhoPFcand_Pho_Cleaned";
630  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Photons : Barrel", etBin_, etMin_, 0.7);
632  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Photons : Endcap", etBin_, etMin_, 0.7);
633  //
634  histname = "SumPtOverPhoPt_ChHad_unCleaned";
636  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Charged Hadrons: Barrel", etBin_, etMin_, 2.);
638  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Charged Hadrons: Endcap", etBin_, etMin_, 2.);
639  histname = "SumPtOverPhoPt_NeuHad_unCleaned";
641  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Neutral Hadrons: Barrel", etBin_, etMin_, 2.);
643  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Neutral Hadrons: Endcap", etBin_, etMin_, 2.);
644  histname = "SumPtOverPhoPt_Pho_unCleaned";
646  iBooker.book1D(histname + "Barrel", "PF Cand Sum Pt Over photon pt Photons: Barrel", etBin_, etMin_, 2.);
648  iBooker.book1D(histname + "Endcap", "PF Cand Sum Pt Over photon pt Photons: Endcap", etBin_, etMin_, 2.);
649  histname = "dRPhoPFcand_ChHad_unCleaned";
651  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Charged Hadrons : Barrel", etBin_, etMin_, 0.7);
653  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Charged Hadrons : Endcap", etBin_, etMin_, 0.7);
654  histname = "dRPhoPFcand_NeuHad_unCleaned";
656  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Neutral Hadrons : Barrel", etBin_, etMin_, 0.7);
658  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Neutral Hadrons : Endcap", etBin_, etMin_, 0.7);
659  histname = "dRPhoPFcand_Pho_unCleaned";
661  iBooker.book1D(histname + "Barrel", "dR(pho,cand) Photons: Barrel", etBin_, etMin_, 0.7);
663  iBooker.book1D(histname + "Endcap", "dR(pho,cand) Photons: Endcap", etBin_, etMin_, 0.7);
664 
666  if (makeProfiles_) {
667  // p_r9VsEt_[0] = iBooker.bookProfile("r9VsEt","Avg R9 vs E_{T};E_{T} (GeV);R9",etBin_,etMin_,etMax_,r9Bin_,r9Min_,r9Max_);
668  p_r9VsEt_[1] = iBooker.bookProfile(
669  "r9VsEtBarrel", "Avg R9 vs E_{T};E_{T} (GeV);R9", etBin_, etMin_, etMax_, r9Bin_, r9Min_, r9Max_);
670  p_r9VsEt_[2] = iBooker.bookProfile(
671  "r9VsEtEndcap", "Avg R9 vs E_{T};E_{T} (GeV);R9", etBin_, etMin_, etMax_, r9Bin_, r9Min_, r9Max_);
672  p_r9VsEta_[0] =
673  iBooker.bookProfile("r9VsEta", "Avg R9 vs #eta;#eta;R9", etaBin_, etaMin_, etaMax_, r9Bin_, r9Min_, r9Max_);
674  //
675  p_sigmaIetaIetaVsEta_[0] = iBooker.bookProfile("sigmaIetaIetaVsEta",
676  "Avg #sigma_{i#etai#eta} vs #eta;#eta;#sigma_{i#etai#eta}",
677  etaBin_,
678  etaMin_,
679  etaMax_,
682  sigmaIetaMax_);
683  p_e1x5VsEt_[1] = iBooker.bookProfile(
684  "e1x5VsEtBarrel", "Avg E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)", etBin_, etMin_, etMax_, etBin_, etMin_, etMax_);
685  p_e1x5VsEt_[2] = iBooker.bookProfile(
686  "e1x5VsEtEndcap", "Avg E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)", etBin_, etMin_, etMax_, etBin_, etMin_, etMax_);
687  p_e1x5VsEta_[0] = iBooker.bookProfile(
688  "e1x5VsEta", "Avg E1x5 vs #eta;#eta;E1X5 (GeV)", etaBin_, etaMin_, etaMax_, etBin_, etMin_, etMax_);
689  p_e2x5VsEt_[1] = iBooker.bookProfile(
690  "e2x5VsEtBarrel", "Avg E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)", etBin_, etMin_, etMax_, etBin_, etMin_, etMax_);
691  p_e2x5VsEt_[2] = iBooker.bookProfile(
692  "e2x5VsEtEndcap", "Avg E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)", etBin_, etMin_, etMax_, etBin_, etMin_, etMax_);
693  p_e2x5VsEta_[0] = iBooker.bookProfile(
694  "e2x5VsEta", "Avg E2x5 vs #eta;#eta;E2X5 (GeV)", etaBin_, etaMin_, etaMax_, etBin_, etMin_, etMax_);
695  p_r1x5VsEt_[1] = iBooker.bookProfile(
696  "r1x5VsEtBarrel", "Avg R1x5 vs E_{T};E_{T} (GeV);R1X5", etBin_, etMin_, etMax_, r9Bin_, r9Min_, r9Max_);
697  p_r1x5VsEt_[2] = iBooker.bookProfile(
698  "r1x5VsEtEndcap", "Avg R1x5 vs E_{T};E_{T} (GeV);R1X5", etBin_, etMin_, etMax_, r9Bin_, r9Min_, r9Max_);
699  p_r1x5VsEta_[0] = iBooker.bookProfile(
700  "r1x5VsEta", "Avg R1x5 vs #eta;#eta;R1X5", etaBin_, etaMin_, etaMax_, r9Bin_, r9Min_, r9Max_);
701  p_r2x5VsEt_[1] = iBooker.bookProfile(
702  "r2x5VsEtBarrel", "Avg R2x5 vs E_{T};E_{T} (GeV);R2X5", etBin_, etMin_, etMax_, r9Bin_, r9Min_, r9Max_);
703  p_r2x5VsEt_[2] = iBooker.bookProfile(
704  "r2x5VsEtEndcap", "Avg R2x5 vs E_{T};E_{T} (GeV);R2X5", etBin_, etMin_, etMax_, r9Bin_, r9Min_, r9Max_);
705  p_r2x5VsEta_[0] = iBooker.bookProfile(
706  "r2x5VsEta", "Avg R2x5 vs #eta;#eta;R2X5", etaBin_, etaMin_, etaMax_, r9Bin_, r9Min_, r9Max_);
708  iBooker.bookProfile("nIsoTracksSolidVsEtBarrel",
709  "Avg Number Of Tracks in the Solid Iso Cone vs E_{T};E_{T};# tracks",
710  etBin_,
711  etMin_,
712  etMax_,
713  numberBin_,
714  numberMin_,
715  numberMax_);
717  iBooker.bookProfile("nIsoTracksSolidVsEtEndcap",
718  "Avg Number Of Tracks in the Solid Iso Cone vs E_{T};E_{T};# tracks",
719  etBin_,
720  etMin_,
721  etMax_,
722  numberBin_,
723  numberMin_,
724  numberMax_);
725  p_nTrackIsolSolidVsEta_[0] = iBooker.bookProfile("nIsoTracksSolidVsEta",
726  "Avg Number Of Tracks in the Solid Iso Cone vs #eta;#eta;# tracks",
727  etaBin_,
728  etaMin_,
729  etaMax_,
730  numberBin_,
731  numberMin_,
732  numberMax_);
734  iBooker.bookProfile("nIsoTracksHollowVsEtBarrel",
735  "Avg Number Of Tracks in the Hollow Iso Cone vs E_{T};E_{T};# tracks",
736  etBin_,
737  etMin_,
738  etMax_,
739  numberBin_,
740  numberMin_,
741  numberMax_);
743  iBooker.bookProfile("nIsoTracksHollowVsEtEndcap",
744  "Avg Number Of Tracks in the Hollow Iso Cone vs E_{T};E_{T};# tracks",
745  etBin_,
746  etMin_,
747  etMax_,
748  numberBin_,
749  numberMin_,
750  numberMax_);
752  iBooker.bookProfile("nIsoTracksHollowVsEta",
753  "Avg Number Of Tracks in the Hollow Iso Cone vs #eta;#eta;# tracks",
754  etaBin_,
755  etaMin_,
756  etaMax_,
757  numberBin_,
758  numberMin_,
759  numberMax_);
761  iBooker.bookProfile("isoPtSumSolidVsEtBarrel",
762  "Avg Track P_{T} Sum in the Solid Iso Cone vs E_{T};E_{T} (GeV);P_{T} (GeV)",
763  etBin_,
764  etMin_,
765  etMax_,
766  sumBin_,
767  sumMin_,
768  sumMax_);
770  iBooker.bookProfile("isoPtSumSolidVsEtEndcap",
771  "Avg Track P_{T} Sum in the Solid Iso Cone vs E_{T};E_{T} (GeV);P_{T} (GeV)",
772  etBin_,
773  etMin_,
774  etMax_,
775  sumBin_,
776  sumMin_,
777  sumMax_);
779  iBooker.bookProfile("isoPtSumSolidVsEta",
780  "Avg Track P_{T} Sum in the Solid Iso Cone vs #eta;#eta;P_{T} (GeV)",
781  etaBin_,
782  etaMin_,
783  etaMax_,
784  sumBin_,
785  sumMin_,
786  sumMax_);
788  iBooker.bookProfile("isoPtSumHollowVsEtBarrel",
789  "Avg Track P_{T} Sum in the Hollow Iso Cone vs E_{T};E_{T} (GeV);P_{T} (GeV)",
790  etBin_,
791  etMin_,
792  etMax_,
793  sumBin_,
794  sumMin_,
795  sumMax_);
797  iBooker.bookProfile("isoPtSumHollowVsEtEndcap",
798  "Avg Track P_{T} Sum in the Hollow Iso Cone vs E_{T};E_{T} (GeV);P_{T} (GeV)",
799  etBin_,
800  etMin_,
801  etMax_,
802  sumBin_,
803  sumMin_,
804  sumMax_);
806  iBooker.bookProfile("isoPtSumHollowVsEta",
807  "Avg Track P_{T} Sum in the Hollow Iso Cone vs #eta;#eta;P_{T} (GeV)",
808  etaBin_,
809  etaMin_,
810  etaMax_,
811  sumBin_,
812  sumMin_,
813  sumMax_);
814  p_ecalSumVsEt_[1] = iBooker.bookProfile("ecalSumVsEtBarrel",
815  "Avg Ecal Sum in the Iso Cone vs E_{T};E_{T} (GeV);E (GeV)",
816  etBin_,
817  etMin_,
818  etMax_,
819  sumBin_,
820  sumMin_,
821  sumMax_);
822  p_ecalSumVsEt_[2] = iBooker.bookProfile("ecalSumVsEtEndcap",
823  "Avg Ecal Sum in the Iso Cone vs E_{T};E_{T} (GeV);E (GeV)",
824  etBin_,
825  etMin_,
826  etMax_,
827  sumBin_,
828  sumMin_,
829  sumMax_);
830  p_ecalSumVsEta_[0] = iBooker.bookProfile("ecalSumVsEta",
831  "Avg Ecal Sum in the Iso Cone vs #eta;#eta;E (GeV)",
832  etaBin_,
833  etaMin_,
834  etaMax_,
835  sumBin_,
836  sumMin_,
837  sumMax_);
838  p_hcalSumVsEt_[1] = iBooker.bookProfile("hcalSumVsEtBarrel",
839  "Avg Hcal Sum in the Iso Cone vs E_{T};E_{T} (GeV);E (GeV)",
840  etBin_,
841  etMin_,
842  etMax_,
843  sumBin_,
844  sumMin_,
845  sumMax_);
846  p_hcalSumVsEt_[2] = iBooker.bookProfile("hcalSumVsEtEndcap",
847  "Avg Hcal Sum in the Iso Cone vs E_{T};E_{T} (GeV);E (GeV)",
848  etBin_,
849  etMin_,
850  etMax_,
851  sumBin_,
852  sumMin_,
853  sumMax_);
854  p_hcalSumVsEta_[0] = iBooker.bookProfile("hcalSumVsEta",
855  "Avg Hcal Sum in the Iso Cone vs #eta;#eta;E (GeV)",
856  etaBin_,
857  etaMin_,
858  etaMax_,
859  sumBin_,
860  sumMin_,
861  sumMax_);
862  p_hOverEVsEt_[1] = iBooker.bookProfile("p_hOverEVsEtBarrel",
863  "Avg H/E vs Et;E_{T} (GeV);H/E",
864  etBin_,
865  etMin_,
866  etMax_,
867  hOverEBin_,
868  hOverEMin_,
869  hOverEMax_);
870  p_hOverEVsEt_[2] = iBooker.bookProfile("p_hOverEVsEtEndcap",
871  "Avg H/E vs Et;E_{T} (GeV);H/E",
872  etBin_,
873  etMin_,
874  etMax_,
875  hOverEBin_,
876  hOverEMin_,
877  hOverEMax_);
878  p_hOverEVsEta_[0] = iBooker.bookProfile(
879  "p_hOverEVsEta", "Avg H/E vs #eta;#eta;H/E", etaBin_, etaMin_, etaMax_, hOverEBin_, hOverEMin_, hOverEMax_);
880 
881  // sigmaE/E
882  histname = "sigmaEoverEVsNVtx";
883  p_phoSigmaEoverEVsNVtx_[1] = iBooker.bookProfile(histname + "Barrel",
884  "Photons #sigma_{E}/E vs N_{vtx}: Barrel; N_{vtx}; #sigma_{E}/E ",
885  200,
886  -0.5,
887  199.5,
888  100,
889  0.,
890  0.08,
891  "");
892  p_phoSigmaEoverEVsNVtx_[2] = iBooker.bookProfile(histname + "Endcap",
893  "Photons #sigma_{E}/E vs N_{vtx}: Endcap; N_{vtx}; #sigma_{E}/E",
894  200,
895  -0.5,
896  199.5,
897  100,
898  0.,
899  0.08,
900  "");
901  }
902 
904  if (use2DHistos_) {
905  //SHOWER SHAPE
906  //r9
907  h2_r9VsEt_[0] = iBooker.book2D(
908  "r9VsEt2D", "R9 vs E_{T};E_{T} (GeV);R9", reducedEtBin_, etMin_, etMax_, reducedR9Bin_, r9Min_, r9Max_);
909  h2_r9VsEt_[1] = iBooker.book2D(
910  "r9VsEt2DBarrel", "R9 vs E_{T};E_{T} (GeV);R9", reducedEtBin_, etMin_, etMax_, reducedR9Bin_, r9Min_, r9Max_);
911  h2_r9VsEt_[2] = iBooker.book2D(
912  "r9VsEt2DEndcap", "R9 vs E_{T};E_{T} (GeV);R9", reducedEtBin_, etMin_, etMax_, reducedR9Bin_, r9Min_, r9Max_);
913  h2_r9VsEta_[0] = iBooker.book2D(
914  "r9VsEta2D", "R9 vs #eta;#eta;R9", reducedEtaBin_, etaMin_, etaMax_, reducedR9Bin_, r9Min_, r9Max_);
915  //sigmaIetaIeta
916  h2_sigmaIetaIetaVsEta_[0] = iBooker.book2D("sigmaIetaIetaVsEta2D",
917  "#sigma_{i#etai#eta} vs #eta;#eta;#sigma_{i#etai#eta}",
919  etaMin_,
920  etaMax_,
923  sigmaIetaMax_);
924  //e1x5
925  h2_e1x5VsEt_[0] = iBooker.book2D("e1x5VsEt2D",
926  "E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)",
928  etMin_,
929  etMax_,
931  etMin_,
932  etMax_);
933  h2_e1x5VsEt_[1] = iBooker.book2D("e1x5VsEt2DBarrel",
934  "E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)",
936  etMin_,
937  etMax_,
939  etMin_,
940  etMax_);
941  h2_e1x5VsEt_[2] = iBooker.book2D("e1x5VsEt2DEndcap",
942  "E1x5 vs E_{T};E_{T} (GeV);E1X5 (GeV)",
944  etMin_,
945  etMax_,
947  etMin_,
948  etMax_);
949  h2_e1x5VsEta_[0] = iBooker.book2D(
950  "e1x5VsEta2D", "E1x5 vs #eta;#eta;E1X5 (GeV)", reducedEtaBin_, etaMin_, etaMax_, reducedEtBin_, etMin_, etMax_);
951  //e2x5
952  h2_e2x5VsEt_[0] = iBooker.book2D("e2x5VsEt2D",
953  "E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)",
955  etMin_,
956  etMax_,
958  etMin_,
959  etMax_);
960  h2_e2x5VsEt_[1] = iBooker.book2D("e2x5VsEt2DBarrel",
961  "E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)",
963  etMin_,
964  etMax_,
966  etMin_,
967  etMax_);
968  h2_e2x5VsEt_[2] = iBooker.book2D("e2x5VsEt2DEndcap",
969  "E2x5 vs E_{T};E_{T} (GeV);E2X5 (GeV)",
971  etMin_,
972  etMax_,
974  etMin_,
975  etMax_);
976  h2_e2x5VsEta_[0] = iBooker.book2D(
977  "e2x5VsEta2D", "E2x5 vs #eta;#eta;E2X5 (GeV)", reducedEtaBin_, etaMin_, etaMax_, reducedEtBin_, etMin_, etMax_);
978  //r1x5
979  h2_r1x5VsEt_[0] = iBooker.book2D(
980  "r1x5VsEt2D", "R1x5 vs E_{T};E_{T} (GeV);R1X5", reducedEtBin_, etMin_, etMax_, reducedR9Bin_, r9Min_, r9Max_);
981  h2_r1x5VsEt_[1] = iBooker.book2D("r1x5VsEt2DBarrel",
982  "R1x5 vs E_{T};E_{T} (GeV);R1X5",
984  etMin_,
985  etMax_,
987  r9Min_,
988  r9Max_);
989  h2_r1x5VsEt_[2] = iBooker.book2D("r1x5VsEt2DEndcap",
990  "R1x5 vs E_{T};E_{T} (GeV);R1X5",
992  etMin_,
993  etMax_,
995  r9Min_,
996  r9Max_);
997  h2_r1x5VsEta_[0] = iBooker.book2D(
998  "r1x5VsEta2D", "R1x5 vs #eta;#eta;R1X5", reducedEtaBin_, etaMin_, etaMax_, reducedR9Bin_, r9Min_, r9Max_);
999  //r2x5
1000  h2_r2x5VsEt_[0] = iBooker.book2D(
1001  "r2x5VsEt2D", "R2x5 vs E_{T};E_{T} (GeV);R2X5", reducedEtBin_, etMin_, etMax_, reducedR9Bin_, r9Min_, r9Max_);
1002  h2_r2x5VsEt_[1] = iBooker.book2D("r2x5VsEt2DBarrel",
1003  "R2x5 vs E_{T};E_{T} (GeV);R2X5",
1004  reducedEtBin_,
1005  etMin_,
1006  etMax_,
1007  reducedR9Bin_,
1008  r9Min_,
1009  r9Max_);
1010  h2_r2x5VsEt_[2] = iBooker.book2D("r2x5VsEt2DEndcap",
1011  "R2x5 vs E_{T};E_{T} (GeV);R2X5",
1012  reducedEtBin_,
1013  etMin_,
1014  etMax_,
1015  reducedR9Bin_,
1016  r9Min_,
1017  r9Max_);
1018  h2_r2x5VsEta_[0] = iBooker.book2D(
1019  "r2x5VsEta2D", "R2x5 vs #eta;#eta;R2X5", reducedEtaBin_, etaMin_, etaMax_, reducedR9Bin_, r9Min_, r9Max_);
1020  //TRACK ISOLATION
1021  //nTrackIsolSolid
1022  h2_nTrackIsolSolidVsEt_[0] = iBooker.book2D("nIsoTracksSolidVsEt2D",
1023  "Number Of Tracks in the Solid Iso Cone vs E_{T};E_{T};# tracks",
1024  reducedEtBin_,
1025  etMin_,
1026  etMax_,
1027  numberBin_,
1028  numberMin_,
1029  numberMax_);
1030  h2_nTrackIsolSolidVsEta_[0] = iBooker.book2D("nIsoTracksSolidVsEta2D",
1031  "Number Of Tracks in the Solid Iso Cone vs #eta;#eta;# tracks",
1033  etaMin_,
1034  etaMax_,
1035  numberBin_,
1036  numberMin_,
1037  numberMax_);
1038  //nTrackIsolHollow
1039  h2_nTrackIsolHollowVsEt_[0] = iBooker.book2D("nIsoTracksHollowVsEt2D",
1040  "Number Of Tracks in the Hollow Iso Cone vs E_{T};E_{T};# tracks",
1041  reducedEtBin_,
1042  etMin_,
1043  etMax_,
1044  numberBin_,
1045  numberMin_,
1046  numberMax_);
1047  h2_nTrackIsolHollowVsEta_[0] = iBooker.book2D("nIsoTracksHollowVsEta2D",
1048  "Number Of Tracks in the Hollow Iso Cone vs #eta;#eta;# tracks",
1050  etaMin_,
1051  etaMax_,
1052  numberBin_,
1053  numberMin_,
1054  numberMax_);
1055  //trackPtSumSolid
1056  h2_trackPtSumSolidVsEt_[0] = iBooker.book2D("isoPtSumSolidVsEt2D",
1057  "Track P_{T} Sum in the Solid Iso Cone;E_{T} (GeV);P_{T} (GeV)",
1058  reducedEtBin_,
1059  etMin_,
1060  etMax_,
1062  sumMin_,
1063  sumMax_);
1064  h2_trackPtSumSolidVsEta_[0] = iBooker.book2D("isoPtSumSolidVsEta2D",
1065  "Track P_{T} Sum in the Solid Iso Cone;#eta;P_{T} (GeV)",
1067  etaMin_,
1068  etaMax_,
1070  sumMin_,
1071  sumMax_);
1072  //trackPtSumHollow
1073  h2_trackPtSumHollowVsEt_[0] = iBooker.book2D("isoPtSumHollowVsEt2D",
1074  "Track P_{T} Sum in the Hollow Iso Cone;E_{T} (GeV);P_{T} (GeV)",
1075  reducedEtBin_,
1076  etMin_,
1077  etMax_,
1079  sumMin_,
1080  sumMax_);
1081  h2_trackPtSumHollowVsEta_[0] = iBooker.book2D("isoPtSumHollowVsEta2D",
1082  "Track P_{T} Sum in the Hollow Iso Cone;#eta;P_{T} (GeV)",
1084  etaMin_,
1085  etaMax_,
1087  sumMin_,
1088  sumMax_);
1089  //CALORIMETER ISOLATION VARIABLES
1090  //ecal sum
1091  h2_ecalSumVsEt_[0] = iBooker.book2D("ecalSumVsEt2D",
1092  "Ecal Sum in the Iso Cone;E_{T} (GeV);E (GeV)",
1093  reducedEtBin_,
1094  etMin_,
1095  etMax_,
1097  sumMin_,
1098  sumMax_);
1099  h2_ecalSumVsEta_[0] = iBooker.book2D("ecalSumVsEta2D",
1100  "Ecal Sum in the Iso Cone;#eta;E (GeV)",
1102  etaMin_,
1103  etaMax_,
1105  sumMin_,
1106  sumMax_);
1107  //hcal sum
1108  h2_hcalSumVsEt_[0] = iBooker.book2D("hcalSumVsEt2D",
1109  "Hcal Sum in the Iso Cone;E_{T} (GeV);E (GeV)",
1110  reducedEtBin_,
1111  etMin_,
1112  etMax_,
1114  sumMin_,
1115  sumMax_);
1116  h2_hcalSumVsEta_[0] = iBooker.book2D("hcalSumVsEta2D",
1117  "Hcal Sum in the Iso Cone;#eta;E (GeV)",
1119  etaMin_,
1120  etaMax_,
1122  sumMin_,
1123  sumMax_);
1124  }
1125 }
MonitorElement * h_dRPhoPFcand_Pho_unCleaned_[3]
MonitorElement * p_hOverEVsEta_[3]
MonitorElement * h_pfMva_[3]
MonitorElement * h_SumPtOverPhoPt_ChHad_unCleaned_[3]
MonitorElement * h_dRPhoPFcand_Pho_Cleaned_[3]
MonitorElement * h2_nTrackIsolSolidVsEt_[3]
MonitorElement * p_sigmaIetaIetaVsEta_[3]
MonitorElement * p_r1x5VsEta_[3]
MonitorElement * h_phoSigmaIetaIeta_[3]
MonitorElement * h2_r2x5VsEta_[3]
MonitorElement * h_newhOverE_[3]
MonitorElement * h2_trackPtSumHollowVsEt_[3]
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * h_SumPtOverPhoPt_NeuHad_unCleaned_[3]
MonitorElement * p_nTrackIsolHollowVsEta_[3]
MonitorElement * h2_r9VsEt_[3]
MonitorElement * h_nCluOutsideMustache_[3]
MonitorElement * h2_ecalSumVsEt_[3]
MonitorElement * h_nTrackIsolSolid_[3]
MonitorElement * h_SumPtOverPhoPt_Pho_Cleaned_[3]
MonitorElement * h_trackPtSumHollow_[3]
MonitorElement * h2_nTrackIsolSolidVsEta_[3]
MonitorElement * p_ecalSumVsEt_[3]
MonitorElement * h_phoEta_[3]
MonitorElement * h_nPho_[3]
MonitorElement * h_chHadIso_[3]
MonitorElement * h_phoSigmaEoverE_[3]
MonitorElement * h_dRPhoPFcand_NeuHad_Cleaned_[3]
MonitorElement * h_r1x5_[3]
MonitorElement * p_phoSigmaEoverEVsNVtx_[3]
MonitorElement * h2_sigmaIetaIetaVsEta_[3]
MonitorElement * h_dRPhoPFcand_NeuHad_unCleaned_[3]
MonitorElement * h2_hcalSumVsEt_[3]
MonitorElement * h_hcalSum_[3]
MonitorElement * h_phoPhi_[3]
MonitorElement * p_trackPtSumHollowVsEt_[3]
MonitorElement * h2_ecalSumVsEta_[3]
MonitorElement * h_hOverE_[3]
MonitorElement * h_trackPtSumSolid_[3]
MonitorElement * p_hcalSumVsEt_[3]
MonitorElement * p_e1x5VsEt_[3]
MonitorElement * h2_r2x5VsEt_[3]
MonitorElement * h_h1OverE_[3]
MonitorElement * h_SumPtOverPhoPt_ChHad_Cleaned_[3]
MonitorElement * h2_e1x5VsEta_[3]
MonitorElement * h1_mumuGammaInvMass_[3]
MonitorElement * h2_trackPtSumSolidVsEt_[3]
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
MonitorElement * h_phoE_[3]
MonitorElement * p_r2x5VsEta_[3]
MonitorElement * h_nRecoVtx_
MonitorElement * p_e2x5VsEt_[3]
MonitorElement * p_hcalSumVsEta_[3]
MonitorElement * h_phoEt_[3]
MonitorElement * p_ecalSumVsEta_[3]
MonitorElement * p_r9VsEta_[3]
MonitorElement * h_nHadIso_[3]
MonitorElement * p_trackPtSumSolidVsEta_[3]
MonitorElement * h1_mumuInvMass_[3]
photon histos
MonitorElement * h2_trackPtSumSolidVsEta_[3]
MonitorElement * h2_hcalSumVsEta_[3]
MonitorElement * h_dRPhoPFcand_ChHad_unCleaned_[3]
MonitorElement * h_scPhi_[3]
MonitorElement * h2_e1x5VsEt_[3]
MonitorElement * h_scEta_[3]
MonitorElement * h_nTrackIsolHollow_[3]
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
MonitorElement * p_r2x5VsEt_[3]
MonitorElement * h_SumPtOverPhoPt_Pho_unCleaned_[3]
MonitorElement * h_SumPtOverPhoPt_NeuHad_Cleaned_[3]
MonitorElement * h_etOutsideMustache_[3]
MonitorElement * h_e1x5_[3]
MonitorElement * h2_nTrackIsolHollowVsEt_[3]
MonitorElement * h2_nTrackIsolHollowVsEta_[3]
MonitorElement * h2_e2x5VsEta_[3]
MonitorElement * h2_trackPtSumHollowVsEta_[3]
MonitorElement * h_r9_[3]
MonitorElement * p_r1x5VsEt_[3]
MonitorElement * p_nTrackIsolHollowVsEt_[3]
MonitorElement * p_r9VsEt_[3]
MonitorElement * p_trackPtSumSolidVsEt_[3]
MonitorElement * p_e2x5VsEta_[3]
MonitorElement * h_e2x5_[3]
MonitorElement * h2_r1x5VsEta_[3]
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * p_trackPtSumHollowVsEta_[3]
MonitorElement * h_dRPhoPFcand_ChHad_Cleaned_[3]
MonitorElement * p_hOverEVsEt_[3]
MonitorElement * h2_r1x5VsEt_[3]
MonitorElement * p_nTrackIsolSolidVsEt_[3]
MonitorElement * p_e1x5VsEta_[3]
MonitorElement * p_nTrackIsolSolidVsEta_[3]
MonitorElement * h2_r9VsEta_[3]
MonitorElement * h_ecalSum_[3]
MonitorElement * h_phoIso_[3]
MonitorElement * h_h2OverE_[3]
MonitorElement * h_r2x5_[3]
MonitorElement * h2_e2x5VsEt_[3]

◆ mumuGammaInvMass()

float ZToMuMuGammaAnalyzer::mumuGammaInvMass ( const reco::Muon mu1,
const reco::Muon mu2,
const reco::PhotonRef pho 
)
private

Definition at line 1632 of file ZToMuMuGammaAnalyzer.cc.

References reco::LeafCandidate::p4(), and mathSSE::sqrt().

1632  {
1633  math::XYZTLorentzVector p12 = mu1.p4() + mu2.p4() + pho->p4();
1634  float Mass2 = p12.Dot(p12);
1635  float invMass = sqrt(Mass2);
1636  return invMass;
1637 }
const LorentzVector & p4() const final
four-momentum Lorentz vector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
T sqrt(T t)
Definition: SSEVec.h:19

◆ mumuInvMass()

float ZToMuMuGammaAnalyzer::mumuInvMass ( const reco::Muon m1,
const reco::Muon m2 
)
private

Definition at line 1625 of file ZToMuMuGammaAnalyzer.cc.

References reco::LeafCandidate::p4(), and mathSSE::sqrt().

1625  {
1626  math::XYZTLorentzVector p12 = mu1.p4() + mu2.p4();
1627  float mumuMass2 = p12.Dot(p12);
1628  float invMass = sqrt(mumuMass2);
1629  return invMass;
1630 }
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
T sqrt(T t)
Definition: SSEVec.h:19

◆ muonSelection()

bool ZToMuMuGammaAnalyzer::muonSelection ( const reco::Muon m,
const reco::BeamSpot bs 
)
private

Definition at line 1561 of file ZToMuMuGammaAnalyzer.cc.

References pwdgSkimBPark_cfi::beamSpot, amptDefaultParameters_cff::mu, and mps_fire::result.

1561  {
1562  bool result = true;
1563  if (mu.globalTrack()->normalizedChi2() > muonMaxChi2_)
1564  result = false;
1565  if (fabs(mu.globalTrack()->dxy(beamSpot)) > muonMaxDxy_)
1566  result = false;
1567  if (mu.numberOfMatches() < muonMatches_)
1568  result = false;
1569 
1570  if (mu.track()->hitPattern().numberOfValidPixelHits() < validPixHits_)
1571  result = false;
1572  if (mu.globalTrack()->hitPattern().numberOfValidMuonHits() < validMuonHits_)
1573  result = false;
1574  if (!mu.isTrackerMuon())
1575  result = false;
1576  // track isolation
1577  if (mu.isolationR03().sumPt > muonTrackIso_)
1578  result = false;
1579  if (fabs(mu.eta()) > muonTightEta_)
1580  result = false;
1581 
1582  return result;
1583 }

◆ photonSelection()

bool ZToMuMuGammaAnalyzer::photonSelection ( const reco::PhotonRef p)
private

remove after moriond if (EtCorrEcalIso>4.0) result=false;

remove after moriond if (EtCorrEcalIso>50.0) result=false;

Definition at line 1585 of file ZToMuMuGammaAnalyzer.cc.

References mps_fire::result.

1585  {
1586  bool result = true;
1587  if (pho->pt() < photonMinEt_)
1588  result = false;
1589  if (fabs(pho->eta()) > photonMaxEta_)
1590  result = false;
1591  if (pho->isEBEEGap())
1592  result = false;
1593 
1594  double EtCorrHcalIso = pho->hcalTowerSumEtConeDR03() - 0.005 * pho->pt();
1595  double EtCorrTrkIso = pho->trkSumPtHollowConeDR03() - 0.002 * pho->pt();
1596 
1597  if (pho->r9() <= 0.9) {
1598  if (pho->isEB() && (pho->hadTowOverEm() > 0.075 || pho->sigmaIetaIeta() > 0.014))
1599  result = false;
1600  if (pho->isEE() && (pho->hadTowOverEm() > 0.075 || pho->sigmaIetaIeta() > 0.034))
1601  result = false;
1603  if (EtCorrHcalIso > 4.0)
1604  result = false;
1605  if (EtCorrTrkIso > 4.0)
1606  result = false;
1607  if (pho->chargedHadronIso() > 4)
1608  result = false;
1609  } else {
1610  if (pho->isEB() && (pho->hadTowOverEm() > 0.082 || pho->sigmaIetaIeta() > 0.014))
1611  result = false;
1612  if (pho->isEE() && (pho->hadTowOverEm() > 0.075 || pho->sigmaIetaIeta() > 0.034))
1613  result = false;
1615  if (EtCorrHcalIso > 50.0)
1616  result = false;
1617  if (EtCorrTrkIso > 50.0)
1618  result = false;
1619  if (pho->chargedHadronIso() > 4)
1620  result = false;
1621  }
1622  return result;
1623 }

Member Data Documentation

◆ barrelRecHit_token_

edm::EDGetTokenT<edm::SortedCollection<EcalRecHit, edm::StrictWeakOrdering<EcalRecHit> > > ZToMuMuGammaAnalyzer::barrelRecHit_token_
private

Definition at line 92 of file ZToMuMuGammaAnalyzer.cc.

◆ beamSpot_token_

edm::EDGetTokenT<reco::BeamSpot> ZToMuMuGammaAnalyzer::beamSpot_token_
private

Definition at line 95 of file ZToMuMuGammaAnalyzer.cc.

◆ currentFolder_

std::stringstream ZToMuMuGammaAnalyzer::currentFolder_
private

Definition at line 104 of file ZToMuMuGammaAnalyzer.cc.

◆ eBin_

int ZToMuMuGammaAnalyzer::eBin_
private

Definition at line 137 of file ZToMuMuGammaAnalyzer.cc.

◆ eMax_

double ZToMuMuGammaAnalyzer::eMax_
private

Definition at line 136 of file ZToMuMuGammaAnalyzer.cc.

◆ eMin_

double ZToMuMuGammaAnalyzer::eMin_
private

Definition at line 135 of file ZToMuMuGammaAnalyzer.cc.

◆ endcapRecHit_token_

edm::EDGetTokenT<edm::SortedCollection<EcalRecHit, edm::StrictWeakOrdering<EcalRecHit> > > ZToMuMuGammaAnalyzer::endcapRecHit_token_
private

Definition at line 93 of file ZToMuMuGammaAnalyzer.cc.

◆ etaBin_

int ZToMuMuGammaAnalyzer::etaBin_
private

Definition at line 149 of file ZToMuMuGammaAnalyzer.cc.

◆ etaMax_

double ZToMuMuGammaAnalyzer::etaMax_
private

Definition at line 148 of file ZToMuMuGammaAnalyzer.cc.

◆ etaMin_

double ZToMuMuGammaAnalyzer::etaMin_
private

Definition at line 147 of file ZToMuMuGammaAnalyzer.cc.

◆ etBin_

int ZToMuMuGammaAnalyzer::etBin_
private

Definition at line 141 of file ZToMuMuGammaAnalyzer.cc.

◆ etMax_

double ZToMuMuGammaAnalyzer::etMax_
private

Definition at line 140 of file ZToMuMuGammaAnalyzer.cc.

◆ etMin_

double ZToMuMuGammaAnalyzer::etMin_
private

Definition at line 139 of file ZToMuMuGammaAnalyzer.cc.

◆ farMuonEcalIso_

float ZToMuMuGammaAnalyzer::farMuonEcalIso_
private

Definition at line 128 of file ZToMuMuGammaAnalyzer.cc.

◆ farMuonMinPt_

float ZToMuMuGammaAnalyzer::farMuonMinPt_
private

Definition at line 130 of file ZToMuMuGammaAnalyzer.cc.

◆ farMuonTrackIso_

float ZToMuMuGammaAnalyzer::farMuonTrackIso_
private

Definition at line 129 of file ZToMuMuGammaAnalyzer.cc.

◆ fName_

std::string ZToMuMuGammaAnalyzer::fName_
private

Definition at line 100 of file ZToMuMuGammaAnalyzer.cc.

◆ h1_mumuGammaInvMass_

MonitorElement* ZToMuMuGammaAnalyzer::h1_mumuGammaInvMass_[3]
private

Definition at line 185 of file ZToMuMuGammaAnalyzer.cc.

◆ h1_mumuInvMass_

MonitorElement* ZToMuMuGammaAnalyzer::h1_mumuInvMass_[3]
private

photon histos

Definition at line 184 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_e1x5VsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_e1x5VsEt_[3]
private

Definition at line 208 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_e1x5VsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_e1x5VsEta_[3]
private

Definition at line 206 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_e2x5VsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_e2x5VsEt_[3]
private

Definition at line 214 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_e2x5VsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_e2x5VsEta_[3]
private

Definition at line 212 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_ecalSumVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_ecalSumVsEt_[3]
private

Definition at line 258 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_ecalSumVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_ecalSumVsEta_[3]
private

Definition at line 260 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_hcalSumVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_hcalSumVsEt_[3]
private

Definition at line 264 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_hcalSumVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_hcalSumVsEta_[3]
private

Definition at line 266 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_nTrackIsolHollowVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_nTrackIsolHollowVsEt_[3]
private

Definition at line 240 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_nTrackIsolHollowVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_nTrackIsolHollowVsEta_[3]
private

Definition at line 242 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_nTrackIsolSolidVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_nTrackIsolSolidVsEt_[3]
private

Definition at line 234 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_nTrackIsolSolidVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_nTrackIsolSolidVsEta_[3]
private

Definition at line 236 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_r1x5VsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_r1x5VsEt_[3]
private

Definition at line 220 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_r1x5VsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_r1x5VsEta_[3]
private

Definition at line 218 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_r2x5VsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_r2x5VsEt_[3]
private

Definition at line 226 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_r2x5VsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_r2x5VsEta_[3]
private

Definition at line 224 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_r9VsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_r9VsEt_[3]
private

Definition at line 200 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_r9VsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_r9VsEta_[3]
private

Definition at line 202 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_sigmaIetaIetaVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_sigmaIetaIetaVsEta_[3]
private

Definition at line 230 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_trackPtSumHollowVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_trackPtSumHollowVsEt_[3]
private

Definition at line 252 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_trackPtSumHollowVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_trackPtSumHollowVsEta_[3]
private

Definition at line 254 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_trackPtSumSolidVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::h2_trackPtSumSolidVsEt_[3]
private

Definition at line 246 of file ZToMuMuGammaAnalyzer.cc.

◆ h2_trackPtSumSolidVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::h2_trackPtSumSolidVsEta_[3]
private

Definition at line 248 of file ZToMuMuGammaAnalyzer.cc.

◆ h_chHadIso_

MonitorElement* ZToMuMuGammaAnalyzer::h_chHadIso_[3]
private

Definition at line 280 of file ZToMuMuGammaAnalyzer.cc.

◆ h_dRPhoPFcand_ChHad_Cleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_dRPhoPFcand_ChHad_Cleaned_[3]
private

Definition at line 288 of file ZToMuMuGammaAnalyzer.cc.

◆ h_dRPhoPFcand_ChHad_unCleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_dRPhoPFcand_ChHad_unCleaned_[3]
private

Definition at line 291 of file ZToMuMuGammaAnalyzer.cc.

◆ h_dRPhoPFcand_NeuHad_Cleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_dRPhoPFcand_NeuHad_Cleaned_[3]
private

Definition at line 289 of file ZToMuMuGammaAnalyzer.cc.

◆ h_dRPhoPFcand_NeuHad_unCleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_dRPhoPFcand_NeuHad_unCleaned_[3]
private

Definition at line 292 of file ZToMuMuGammaAnalyzer.cc.

◆ h_dRPhoPFcand_Pho_Cleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_dRPhoPFcand_Pho_Cleaned_[3]
private

Definition at line 290 of file ZToMuMuGammaAnalyzer.cc.

◆ h_dRPhoPFcand_Pho_unCleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_dRPhoPFcand_Pho_unCleaned_[3]
private

Definition at line 293 of file ZToMuMuGammaAnalyzer.cc.

◆ h_e1x5_

MonitorElement* ZToMuMuGammaAnalyzer::h_e1x5_[3]
private

Definition at line 205 of file ZToMuMuGammaAnalyzer.cc.

◆ h_e2x5_

MonitorElement* ZToMuMuGammaAnalyzer::h_e2x5_[3]
private

Definition at line 211 of file ZToMuMuGammaAnalyzer.cc.

◆ h_ecalSum_

MonitorElement* ZToMuMuGammaAnalyzer::h_ecalSum_[3]
private

Definition at line 257 of file ZToMuMuGammaAnalyzer.cc.

◆ h_etOutsideMustache_

MonitorElement* ZToMuMuGammaAnalyzer::h_etOutsideMustache_[3]
private

Definition at line 285 of file ZToMuMuGammaAnalyzer.cc.

◆ h_h1OverE_

MonitorElement* ZToMuMuGammaAnalyzer::h_h1OverE_[3]
private

Definition at line 272 of file ZToMuMuGammaAnalyzer.cc.

◆ h_h2OverE_

MonitorElement* ZToMuMuGammaAnalyzer::h_h2OverE_[3]
private

Definition at line 273 of file ZToMuMuGammaAnalyzer.cc.

◆ h_hcalSum_

MonitorElement* ZToMuMuGammaAnalyzer::h_hcalSum_[3]
private

Definition at line 263 of file ZToMuMuGammaAnalyzer.cc.

◆ h_hOverE_

MonitorElement* ZToMuMuGammaAnalyzer::h_hOverE_[3]
private

Definition at line 269 of file ZToMuMuGammaAnalyzer.cc.

◆ h_nCluOutsideMustache_

MonitorElement* ZToMuMuGammaAnalyzer::h_nCluOutsideMustache_[3]
private

Definition at line 284 of file ZToMuMuGammaAnalyzer.cc.

◆ h_newhOverE_

MonitorElement* ZToMuMuGammaAnalyzer::h_newhOverE_[3]
private

Definition at line 275 of file ZToMuMuGammaAnalyzer.cc.

◆ h_nHadIso_

MonitorElement* ZToMuMuGammaAnalyzer::h_nHadIso_[3]
private

Definition at line 281 of file ZToMuMuGammaAnalyzer.cc.

◆ h_nPho_

MonitorElement* ZToMuMuGammaAnalyzer::h_nPho_[3]
private

Definition at line 192 of file ZToMuMuGammaAnalyzer.cc.

◆ h_nRecoVtx_

MonitorElement* ZToMuMuGammaAnalyzer::h_nRecoVtx_
private

Definition at line 182 of file ZToMuMuGammaAnalyzer.cc.

◆ h_nTrackIsolHollow_

MonitorElement* ZToMuMuGammaAnalyzer::h_nTrackIsolHollow_[3]
private

Definition at line 239 of file ZToMuMuGammaAnalyzer.cc.

◆ h_nTrackIsolSolid_

MonitorElement* ZToMuMuGammaAnalyzer::h_nTrackIsolSolid_[3]
private

Definition at line 233 of file ZToMuMuGammaAnalyzer.cc.

◆ h_pfMva_

MonitorElement* ZToMuMuGammaAnalyzer::h_pfMva_[3]
private

Definition at line 286 of file ZToMuMuGammaAnalyzer.cc.

◆ h_phoE_

MonitorElement* ZToMuMuGammaAnalyzer::h_phoE_[3]
private

Definition at line 187 of file ZToMuMuGammaAnalyzer.cc.

◆ h_phoEt_

MonitorElement* ZToMuMuGammaAnalyzer::h_phoEt_[3]
private

Definition at line 190 of file ZToMuMuGammaAnalyzer.cc.

◆ h_phoEta_

MonitorElement* ZToMuMuGammaAnalyzer::h_phoEta_[3]
private

Definition at line 194 of file ZToMuMuGammaAnalyzer.cc.

◆ h_phoIso_

MonitorElement* ZToMuMuGammaAnalyzer::h_phoIso_[3]
private

Definition at line 282 of file ZToMuMuGammaAnalyzer.cc.

◆ h_phoPhi_

MonitorElement* ZToMuMuGammaAnalyzer::h_phoPhi_[3]
private

Definition at line 195 of file ZToMuMuGammaAnalyzer.cc.

◆ h_phoSigmaEoverE_

MonitorElement* ZToMuMuGammaAnalyzer::h_phoSigmaEoverE_[3]
private

Definition at line 188 of file ZToMuMuGammaAnalyzer.cc.

◆ h_phoSigmaIetaIeta_

MonitorElement* ZToMuMuGammaAnalyzer::h_phoSigmaIetaIeta_[3]
private

Definition at line 229 of file ZToMuMuGammaAnalyzer.cc.

◆ h_r1x5_

MonitorElement* ZToMuMuGammaAnalyzer::h_r1x5_[3]
private

Definition at line 217 of file ZToMuMuGammaAnalyzer.cc.

◆ h_r2x5_

MonitorElement* ZToMuMuGammaAnalyzer::h_r2x5_[3]
private

Definition at line 223 of file ZToMuMuGammaAnalyzer.cc.

◆ h_r9_

MonitorElement* ZToMuMuGammaAnalyzer::h_r9_[3]
private

Definition at line 199 of file ZToMuMuGammaAnalyzer.cc.

◆ h_scEta_

MonitorElement* ZToMuMuGammaAnalyzer::h_scEta_[3]
private

Definition at line 196 of file ZToMuMuGammaAnalyzer.cc.

◆ h_scPhi_

MonitorElement* ZToMuMuGammaAnalyzer::h_scPhi_[3]
private

Definition at line 197 of file ZToMuMuGammaAnalyzer.cc.

◆ h_SumPtOverPhoPt_ChHad_Cleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_SumPtOverPhoPt_ChHad_Cleaned_[3]
private

Definition at line 294 of file ZToMuMuGammaAnalyzer.cc.

◆ h_SumPtOverPhoPt_ChHad_unCleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_SumPtOverPhoPt_ChHad_unCleaned_[3]
private

Definition at line 297 of file ZToMuMuGammaAnalyzer.cc.

◆ h_SumPtOverPhoPt_NeuHad_Cleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_SumPtOverPhoPt_NeuHad_Cleaned_[3]
private

Definition at line 295 of file ZToMuMuGammaAnalyzer.cc.

◆ h_SumPtOverPhoPt_NeuHad_unCleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_SumPtOverPhoPt_NeuHad_unCleaned_[3]
private

Definition at line 298 of file ZToMuMuGammaAnalyzer.cc.

◆ h_SumPtOverPhoPt_Pho_Cleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_SumPtOverPhoPt_Pho_Cleaned_[3]
private

Definition at line 296 of file ZToMuMuGammaAnalyzer.cc.

◆ h_SumPtOverPhoPt_Pho_unCleaned_

MonitorElement* ZToMuMuGammaAnalyzer::h_SumPtOverPhoPt_Pho_unCleaned_[3]
private

Definition at line 299 of file ZToMuMuGammaAnalyzer.cc.

◆ h_trackPtSumHollow_

MonitorElement* ZToMuMuGammaAnalyzer::h_trackPtSumHollow_[3]
private

Definition at line 251 of file ZToMuMuGammaAnalyzer.cc.

◆ h_trackPtSumSolid_

MonitorElement* ZToMuMuGammaAnalyzer::h_trackPtSumSolid_[3]
private

Definition at line 245 of file ZToMuMuGammaAnalyzer.cc.

◆ hOverEBin_

int ZToMuMuGammaAnalyzer::hOverEBin_
private

Definition at line 161 of file ZToMuMuGammaAnalyzer.cc.

◆ hOverEMax_

double ZToMuMuGammaAnalyzer::hOverEMax_
private

Definition at line 160 of file ZToMuMuGammaAnalyzer.cc.

◆ hOverEMin_

double ZToMuMuGammaAnalyzer::hOverEMin_
private

Definition at line 159 of file ZToMuMuGammaAnalyzer.cc.

◆ makeProfiles_

bool ZToMuMuGammaAnalyzer::makeProfiles_
private

Definition at line 102 of file ZToMuMuGammaAnalyzer.cc.

◆ maxMumuGammaInvMass_

float ZToMuMuGammaAnalyzer::maxMumuGammaInvMass_
private

Definition at line 132 of file ZToMuMuGammaAnalyzer.cc.

◆ maxMumuInvMass_

float ZToMuMuGammaAnalyzer::maxMumuInvMass_
private

Definition at line 119 of file ZToMuMuGammaAnalyzer.cc.

◆ minMumuGammaInvMass_

float ZToMuMuGammaAnalyzer::minMumuGammaInvMass_
private

Definition at line 131 of file ZToMuMuGammaAnalyzer.cc.

◆ minMumuInvMass_

float ZToMuMuGammaAnalyzer::minMumuInvMass_
private

Definition at line 118 of file ZToMuMuGammaAnalyzer.cc.

◆ minPixStripHits_

int ZToMuMuGammaAnalyzer::minPixStripHits_
private

Definition at line 109 of file ZToMuMuGammaAnalyzer.cc.

◆ muon_token_

edm::EDGetTokenT<std::vector<reco::Muon> > ZToMuMuGammaAnalyzer::muon_token_
private

Definition at line 89 of file ZToMuMuGammaAnalyzer.cc.

◆ muonMatches_

int ZToMuMuGammaAnalyzer::muonMatches_
private

Definition at line 112 of file ZToMuMuGammaAnalyzer.cc.

◆ muonMaxChi2_

float ZToMuMuGammaAnalyzer::muonMaxChi2_
private

Definition at line 110 of file ZToMuMuGammaAnalyzer.cc.

◆ muonMaxDxy_

float ZToMuMuGammaAnalyzer::muonMaxDxy_
private

Definition at line 111 of file ZToMuMuGammaAnalyzer.cc.

◆ muonMinPt_

float ZToMuMuGammaAnalyzer::muonMinPt_
private

Definition at line 108 of file ZToMuMuGammaAnalyzer.cc.

◆ muonTightEta_

float ZToMuMuGammaAnalyzer::muonTightEta_
private

Definition at line 116 of file ZToMuMuGammaAnalyzer.cc.

◆ muonTrackIso_

float ZToMuMuGammaAnalyzer::muonTrackIso_
private

Definition at line 115 of file ZToMuMuGammaAnalyzer.cc.

◆ nearMuonDr2_

float ZToMuMuGammaAnalyzer::nearMuonDr2_
private

Definition at line 126 of file ZToMuMuGammaAnalyzer.cc.

◆ nearMuonHcalIso_

float ZToMuMuGammaAnalyzer::nearMuonHcalIso_
private

Definition at line 127 of file ZToMuMuGammaAnalyzer.cc.

◆ nEvt_

int ZToMuMuGammaAnalyzer::nEvt_
private

Definition at line 105 of file ZToMuMuGammaAnalyzer.cc.

◆ numberBin_

int ZToMuMuGammaAnalyzer::numberBin_
private

Definition at line 165 of file ZToMuMuGammaAnalyzer.cc.

◆ numberMax_

double ZToMuMuGammaAnalyzer::numberMax_
private

Definition at line 164 of file ZToMuMuGammaAnalyzer.cc.

◆ numberMin_

double ZToMuMuGammaAnalyzer::numberMin_
private

Definition at line 163 of file ZToMuMuGammaAnalyzer.cc.

◆ offline_pvToken_

edm::EDGetTokenT<reco::VertexCollection> ZToMuMuGammaAnalyzer::offline_pvToken_
private

Definition at line 97 of file ZToMuMuGammaAnalyzer.cc.

◆ p_e1x5VsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_e1x5VsEt_[3]
private

Definition at line 209 of file ZToMuMuGammaAnalyzer.cc.

◆ p_e1x5VsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_e1x5VsEta_[3]
private

Definition at line 207 of file ZToMuMuGammaAnalyzer.cc.

◆ p_e2x5VsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_e2x5VsEt_[3]
private

Definition at line 215 of file ZToMuMuGammaAnalyzer.cc.

◆ p_e2x5VsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_e2x5VsEta_[3]
private

Definition at line 213 of file ZToMuMuGammaAnalyzer.cc.

◆ p_ecalSumVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_ecalSumVsEt_[3]
private

Definition at line 259 of file ZToMuMuGammaAnalyzer.cc.

◆ p_ecalSumVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_ecalSumVsEta_[3]
private

Definition at line 261 of file ZToMuMuGammaAnalyzer.cc.

◆ p_hcalSumVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_hcalSumVsEt_[3]
private

Definition at line 265 of file ZToMuMuGammaAnalyzer.cc.

◆ p_hcalSumVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_hcalSumVsEta_[3]
private

Definition at line 267 of file ZToMuMuGammaAnalyzer.cc.

◆ p_hOverEVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_hOverEVsEt_[3]
private

Definition at line 270 of file ZToMuMuGammaAnalyzer.cc.

◆ p_hOverEVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_hOverEVsEta_[3]
private

Definition at line 271 of file ZToMuMuGammaAnalyzer.cc.

◆ p_newhOverEVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_newhOverEVsEt_[3]
private

Definition at line 277 of file ZToMuMuGammaAnalyzer.cc.

◆ p_newhOverEVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_newhOverEVsEta_[3]
private

Definition at line 276 of file ZToMuMuGammaAnalyzer.cc.

◆ p_nTrackIsolHollowVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_nTrackIsolHollowVsEt_[3]
private

Definition at line 241 of file ZToMuMuGammaAnalyzer.cc.

◆ p_nTrackIsolHollowVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_nTrackIsolHollowVsEta_[3]
private

Definition at line 243 of file ZToMuMuGammaAnalyzer.cc.

◆ p_nTrackIsolSolidVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_nTrackIsolSolidVsEt_[3]
private

Definition at line 235 of file ZToMuMuGammaAnalyzer.cc.

◆ p_nTrackIsolSolidVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_nTrackIsolSolidVsEta_[3]
private

Definition at line 237 of file ZToMuMuGammaAnalyzer.cc.

◆ p_phoSigmaEoverEVsNVtx_

MonitorElement* ZToMuMuGammaAnalyzer::p_phoSigmaEoverEVsNVtx_[3]
private

Definition at line 189 of file ZToMuMuGammaAnalyzer.cc.

◆ p_r1x5VsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_r1x5VsEt_[3]
private

Definition at line 221 of file ZToMuMuGammaAnalyzer.cc.

◆ p_r1x5VsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_r1x5VsEta_[3]
private

Definition at line 219 of file ZToMuMuGammaAnalyzer.cc.

◆ p_r2x5VsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_r2x5VsEt_[3]
private

Definition at line 227 of file ZToMuMuGammaAnalyzer.cc.

◆ p_r2x5VsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_r2x5VsEta_[3]
private

Definition at line 225 of file ZToMuMuGammaAnalyzer.cc.

◆ p_r9VsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_r9VsEt_[3]
private

Definition at line 201 of file ZToMuMuGammaAnalyzer.cc.

◆ p_r9VsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_r9VsEta_[3]
private

Definition at line 203 of file ZToMuMuGammaAnalyzer.cc.

◆ p_sigmaIetaIetaVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_sigmaIetaIetaVsEta_[3]
private

Definition at line 231 of file ZToMuMuGammaAnalyzer.cc.

◆ p_trackPtSumHollowVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_trackPtSumHollowVsEt_[3]
private

Definition at line 253 of file ZToMuMuGammaAnalyzer.cc.

◆ p_trackPtSumHollowVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_trackPtSumHollowVsEta_[3]
private

Definition at line 255 of file ZToMuMuGammaAnalyzer.cc.

◆ p_trackPtSumSolidVsEt_

MonitorElement* ZToMuMuGammaAnalyzer::p_trackPtSumSolidVsEt_[3]
private

Definition at line 247 of file ZToMuMuGammaAnalyzer.cc.

◆ p_trackPtSumSolidVsEta_

MonitorElement* ZToMuMuGammaAnalyzer::p_trackPtSumSolidVsEta_[3]
private

Definition at line 249 of file ZToMuMuGammaAnalyzer.cc.

◆ pfCandidates_

edm::EDGetTokenT<reco::PFCandidateCollection> ZToMuMuGammaAnalyzer::pfCandidates_
private

Definition at line 96 of file ZToMuMuGammaAnalyzer.cc.

◆ phiBin_

int ZToMuMuGammaAnalyzer::phiBin_
private

Definition at line 153 of file ZToMuMuGammaAnalyzer.cc.

◆ phiMax_

double ZToMuMuGammaAnalyzer::phiMax_
private

Definition at line 152 of file ZToMuMuGammaAnalyzer.cc.

◆ phiMin_

double ZToMuMuGammaAnalyzer::phiMin_
private

Definition at line 151 of file ZToMuMuGammaAnalyzer.cc.

◆ photon_token_

edm::EDGetTokenT<std::vector<reco::Photon> > ZToMuMuGammaAnalyzer::photon_token_
private

Definition at line 88 of file ZToMuMuGammaAnalyzer.cc.

◆ PhotonIDLoose_token_

edm::EDGetTokenT<edm::ValueMap<bool> > ZToMuMuGammaAnalyzer::PhotonIDLoose_token_
private

Definition at line 90 of file ZToMuMuGammaAnalyzer.cc.

◆ PhotonIDTight_token_

edm::EDGetTokenT<edm::ValueMap<bool> > ZToMuMuGammaAnalyzer::PhotonIDTight_token_
private

Definition at line 91 of file ZToMuMuGammaAnalyzer.cc.

◆ photonIsoValmap_token_

edm::EDGetTokenT<edm::ValueMap<std::vector<reco::PFCandidateRef> > > ZToMuMuGammaAnalyzer::photonIsoValmap_token_
private

Definition at line 98 of file ZToMuMuGammaAnalyzer.cc.

◆ photonMaxEta_

float ZToMuMuGammaAnalyzer::photonMaxEta_
private

Definition at line 122 of file ZToMuMuGammaAnalyzer.cc.

◆ photonMinEt_

float ZToMuMuGammaAnalyzer::photonMinEt_
private

Definition at line 121 of file ZToMuMuGammaAnalyzer.cc.

◆ photonTrackIso_

float ZToMuMuGammaAnalyzer::photonTrackIso_
private

Definition at line 123 of file ZToMuMuGammaAnalyzer.cc.

◆ prescaleFactor_

unsigned int ZToMuMuGammaAnalyzer::prescaleFactor_
private

Definition at line 103 of file ZToMuMuGammaAnalyzer.cc.

◆ r9Bin_

int ZToMuMuGammaAnalyzer::r9Bin_
private

Definition at line 157 of file ZToMuMuGammaAnalyzer.cc.

◆ r9Max_

double ZToMuMuGammaAnalyzer::r9Max_
private

Definition at line 156 of file ZToMuMuGammaAnalyzer.cc.

◆ r9Min_

double ZToMuMuGammaAnalyzer::r9Min_
private

Definition at line 155 of file ZToMuMuGammaAnalyzer.cc.

◆ reducedEtaBin_

int ZToMuMuGammaAnalyzer::reducedEtaBin_
private

Definition at line 172 of file ZToMuMuGammaAnalyzer.cc.

◆ reducedEtBin_

int ZToMuMuGammaAnalyzer::reducedEtBin_
private

Definition at line 171 of file ZToMuMuGammaAnalyzer.cc.

◆ reducedR9Bin_

int ZToMuMuGammaAnalyzer::reducedR9Bin_
private

Definition at line 174 of file ZToMuMuGammaAnalyzer.cc.

◆ reducedSumBin_

int ZToMuMuGammaAnalyzer::reducedSumBin_
private

Definition at line 173 of file ZToMuMuGammaAnalyzer.cc.

◆ sigmaIetaBin_

int ZToMuMuGammaAnalyzer::sigmaIetaBin_
private

Definition at line 169 of file ZToMuMuGammaAnalyzer.cc.

◆ sigmaIetaMax_

double ZToMuMuGammaAnalyzer::sigmaIetaMax_
private

Definition at line 168 of file ZToMuMuGammaAnalyzer.cc.

◆ sigmaIetaMin_

double ZToMuMuGammaAnalyzer::sigmaIetaMin_
private

Definition at line 167 of file ZToMuMuGammaAnalyzer.cc.

◆ sumBin_

int ZToMuMuGammaAnalyzer::sumBin_
private

Definition at line 145 of file ZToMuMuGammaAnalyzer.cc.

◆ sumMax_

double ZToMuMuGammaAnalyzer::sumMax_
private

Definition at line 144 of file ZToMuMuGammaAnalyzer.cc.

◆ sumMin_

double ZToMuMuGammaAnalyzer::sumMin_
private

Definition at line 143 of file ZToMuMuGammaAnalyzer.cc.

◆ triggerEvent_token_

edm::EDGetTokenT<trigger::TriggerEvent> ZToMuMuGammaAnalyzer::triggerEvent_token_
private

Definition at line 94 of file ZToMuMuGammaAnalyzer.cc.

◆ use2DHistos_

bool ZToMuMuGammaAnalyzer::use2DHistos_
private

Definition at line 101 of file ZToMuMuGammaAnalyzer.cc.

◆ validMuonHits_

int ZToMuMuGammaAnalyzer::validMuonHits_
private

Definition at line 114 of file ZToMuMuGammaAnalyzer.cc.

◆ validPixHits_

int ZToMuMuGammaAnalyzer::validPixHits_
private

Definition at line 113 of file ZToMuMuGammaAnalyzer.cc.