CMS 3D CMS Logo

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

#include <METAnalyzer.h>

Inheritance diagram for METAnalyzer:
DQMEDAnalyzer edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 Get the analysis. More...
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 Inizialize parameters for histo binning. More...
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 Initialize run-based parameters. More...
 
void endRun (const edm::Run &iRun, const edm::EventSetup &iSetup) override
 Finish up a run. More...
 
void fillMESet (const edm::Event &, std::string, const reco::MET &, const pat::MET &, const reco::PFMET &, const reco::CaloMET &, const reco::Candidate::PolarLorentzVector &, std::map< std::string, MonitorElement * > &, std::vector< bool >, std::vector< bool >)
 
void fillMonitorElement (const edm::Event &, std::string, std::string, const reco::MET &, const pat::MET &, const reco::PFMET &, const reco::CaloMET &, const reco::Candidate::PolarLorentzVector &, std::map< std::string, MonitorElement * > &, bool, bool, std::vector< bool >, std::vector< bool >)
 
void makeRatePlot (std::string, double)
 
 METAnalyzer (const edm::ParameterSet &)
 Constructor. More...
 
 ~METAnalyzer () override
 Destructor. More...
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void bookMESet (std::string, DQMStore::IBooker &, std::map< std::string, MonitorElement * > &)
 
void bookMonitorElement (std::string, DQMStore::IBooker &, std::map< std::string, MonitorElement * > &, bool, bool, bool)
 

Private Attributes

std::vector< int > allTriggerDecisions_
 
std::vector< std::string > allTriggerNames_
 
math::XYZPoint beamSpot_
 
bool bypassAllDCSChecks_
 
bool bypassAllPVChecks_
 
edm::EDGetTokenT< reco::CaloJetCollectioncaloJetsToken_
 
edm::EDGetTokenT< reco::CaloMETCollectioncaloMetToken_
 
edm::ParameterSet cleaningParameters_
 
std::vector< int > countsPFCand_
 
edm::InputTag CSCHalo2015ResultTag_
 
edm::EDGetTokenT< bool > CSCHalo2015ResultToken_
 
edm::InputTag CSCHaloResultTag_
 
edm::EDGetTokenT< bool > CSCHaloResultToken_
 
JetMETDQMDCSFilterDCSFilter_
 
std::vector< edm::ParameterSetdiagnosticsParameters_
 
edm::InputTag EcalDeadCellBoundaryTag_
 
edm::EDGetTokenT< bool > EcalDeadCellBoundaryToken_
 
edm::InputTag EcalDeadCellTriggerTag_
 
edm::EDGetTokenT< bool > EcalDeadCellTriggerToken_
 
edm::InputTag eeBadScFilterTag_
 
edm::EDGetTokenT< bool > eeBadScFilterToken_
 
std::vector< double > etaMaxPFCand_
 
std::vector< double > etaMinPFCand_
 
std::vector< int > etaNBinsPFCand_
 
bool fill_met_high_level_histo
 
bool fillCandidateMap_histos
 
HLTConfigProvider FilterhltConfig_
 
std::string FolderName_
 
std::vector< std::string > folderNames_
 
edm::InputTag gtTag_
 
edm::EDGetTokenT< L1GlobalTriggerReadoutRecordgtToken_
 
edm::EDGetTokenT< bool > hbheIsoNoiseFilterResultToken_
 
std::string HBHEIsoNoiseStringMiniAOD
 
edm::InputTag hbheNoiseFilterResultTag_
 
edm::EDGetTokenT< bool > hbheNoiseFilterResultToken_
 
edm::InputTag hbheNoiseIsoFilterResultTag_
 
std::string HBHENoiseStringMiniAOD
 
edm::InputTag hcalNoiseRBXCollectionTag_
 
MonitorElementhCaloEmEtFraction
 
MonitorElementhCaloEmEtFraction020
 
MonitorElementhCaloEmEtInEB
 
MonitorElementhCaloEmEtInEE
 
MonitorElementhCaloEmEtInHF
 
MonitorElementhCaloEmMET
 
MonitorElementhCaloEmMETPhi
 
MonitorElementhCaloEmMEx
 
MonitorElementhCaloEmMEy
 
MonitorElementhCaloEtFractionHadronic
 
MonitorElementhCaloHadEtInHB
 
MonitorElementhCaloHadEtInHE
 
MonitorElementhCaloHadEtInHF
 
MonitorElementhCaloHadEtInHO
 
MonitorElementhCaloHaMET
 
MonitorElementhCaloHaMETPhi
 
MonitorElementhCaloHaMEx
 
MonitorElementhCaloHaMEy
 
MonitorElementhCaloMETPhi020
 
edm::InputTag HcalStripHaloTag_
 
edm::EDGetTokenT< bool > HcalStripHaloToken_
 
double hfCalibFactor_
 
HLTConfigProvider hltConfig_
 
std::string hltPhysDec_
 
MonitorElementhMET
 
MonitorElementhMET_2
 
MonitorElementhMET_CSCTightHalo2015Filter
 
MonitorElementhMET_CSCTightHaloFilter
 
MonitorElementhMET_EcalDeadCellBoundaryFilter
 
MonitorElementhMET_EcalDeadCellTriggerFilter
 
MonitorElementhMET_eeBadScFilter
 
MonitorElementhMET_HBHEIsoNoiseFilter
 
MonitorElementhMET_HBHENoiseFilter
 
MonitorElementhMET_HcalStripHaloFilter
 
MonitorElementhMET_logx
 
MonitorElementhMETPhi
 
MonitorElementhMETRate
 
MonitorElementhMETSig
 
MonitorElementhMEx
 
MonitorElementhMExLS
 
MonitorElementhMEy
 
MonitorElementhMEyLS
 
MonitorElementhSumET
 
MonitorElementhSumET_logx
 
MonitorElementhTrigger
 
bool hTriggerLabelsIsSet_
 
edm::InputTag inputJetIDValueMap
 
bool isCaloMet_
 
bool isMiniAODMet_
 
bool isPFMet_
 
edm::InputTag jetCollectionLabel_
 
edm::EDGetTokenT< reco::JetCorrectorjetCorrectorToken_
 
edm::EDGetTokenT< edm::ValueMap< reco::JetID > > jetID_ValueMapToken_
 
JetIDSelectionFunctor jetIDFunctorLoose
 
int LSBegin_
 
int LSEnd_
 
MonitorElementlumisecME
 
int m_bitAlgTechTrig_
 
std::string m_l1algoname_
 
std::map< std::string, MonitorElement * > map_dijet_MEs
 
MonitorElementmeChargedHadronEt
 
MonitorElementmeChargedHadronEt_profile
 
MonitorElementmeChargedHadronEtFraction
 
MonitorElementmeChargedHadronEtFraction_BXm1Empty
 
MonitorElementmeChargedHadronEtFraction_BXm1Filled
 
MonitorElementmeChargedHadronEtFraction_profile
 
MonitorElementmeCHF_Barrel
 
MonitorElementmeCHF_Barrel_BXm1Empty
 
MonitorElementmeCHF_Barrel_BXm1Filled
 
MonitorElementmeCHF_EndcapMinus
 
MonitorElementmeCHF_EndcapMinus_BXm1Empty
 
MonitorElementmeCHF_EndcapMinus_BXm1Filled
 
MonitorElementmeCHF_EndcapPlus
 
MonitorElementmeCHF_EndcapPlus_BXm1Empty
 
MonitorElementmeCHF_EndcapPlus_BXm1Filled
 
MonitorElementmeElectronEt
 
MonitorElementmeHFEMEt
 
MonitorElementmeHFEMEt_profile
 
MonitorElementmeHFEMEtFraction
 
MonitorElementmeHFEMEtFraction_profile
 
MonitorElementmeHFEMF_Minus
 
MonitorElementmeHFEMF_Minus_BXm1Empty
 
MonitorElementmeHFEMF_Minus_BXm1Filled
 
MonitorElementmeHFEMF_Plus
 
MonitorElementmeHFEMF_Plus_BXm1Empty
 
MonitorElementmeHFEMF_Plus_BXm1Filled
 
MonitorElementmeHFHadF_Minus
 
MonitorElementmeHFHadF_Minus_BXm1Empty
 
MonitorElementmeHFHadF_Minus_BXm1Filled
 
MonitorElementmeHFHadF_Plus
 
MonitorElementmeHFHadF_Plus_BXm1Empty
 
MonitorElementmeHFHadF_Plus_BXm1Filled
 
MonitorElementmeHFHadronEt
 
MonitorElementmeHFHadronEt_profile
 
MonitorElementmeHFHadronEtFraction
 
MonitorElementmeHFHadronEtFraction_profile
 
MonitorElementmeMET_BXm1Empty
 
MonitorElementmeMET_BXm1Filled
 
MonitorElementmeMET_profile
 
MonitorElementmeMETPhiChargedHadronsBarrel
 
MonitorElementmeMETPhiChargedHadronsBarrel_BXm1Empty
 
MonitorElementmeMETPhiChargedHadronsBarrel_BXm1Filled
 
MonitorElementmeMETPhiChargedHadronsEndcapMinus
 
MonitorElementmeMETPhiChargedHadronsEndcapMinus_BXm1Empty
 
MonitorElementmeMETPhiChargedHadronsEndcapMinus_BXm1Filled
 
MonitorElementmeMETPhiChargedHadronsEndcapPlus
 
MonitorElementmeMETPhiChargedHadronsEndcapPlus_BXm1Empty
 
MonitorElementmeMETPhiChargedHadronsEndcapPlus_BXm1Filled
 
MonitorElementmeMETPhiHFEGammasMinus
 
MonitorElementmeMETPhiHFEGammasMinus_BXm1Empty
 
MonitorElementmeMETPhiHFEGammasMinus_BXm1Filled
 
MonitorElementmeMETPhiHFEGammasPlus
 
MonitorElementmeMETPhiHFEGammasPlus_BXm1Empty
 
MonitorElementmeMETPhiHFEGammasPlus_BXm1Filled
 
MonitorElementmeMETPhiHFHadronsMinus
 
MonitorElementmeMETPhiHFHadronsMinus_BXm1Empty
 
MonitorElementmeMETPhiHFHadronsMinus_BXm1Filled
 
MonitorElementmeMETPhiHFHadronsPlus
 
MonitorElementmeMETPhiHFHadronsPlus_BXm1Empty
 
MonitorElementmeMETPhiHFHadronsPlus_BXm1Filled
 
MonitorElementmeMETPhiNeutralHadronsBarrel
 
MonitorElementmeMETPhiNeutralHadronsBarrel_BXm1Empty
 
MonitorElementmeMETPhiNeutralHadronsBarrel_BXm1Filled
 
MonitorElementmeMETPhiNeutralHadronsEndcapMinus
 
MonitorElementmeMETPhiNeutralHadronsEndcapMinus_BXm1Empty
 
MonitorElementmeMETPhiNeutralHadronsEndcapMinus_BXm1Filled
 
MonitorElementmeMETPhiNeutralHadronsEndcapPlus
 
MonitorElementmeMETPhiNeutralHadronsEndcapPlus_BXm1Empty
 
MonitorElementmeMETPhiNeutralHadronsEndcapPlus_BXm1Filled
 
MonitorElementmeMETPhiPhotonsBarrel
 
MonitorElementmeMETPhiPhotonsBarrel_BXm1Empty
 
MonitorElementmeMETPhiPhotonsBarrel_BXm1Filled
 
MonitorElementmeMETPhiPhotonsEndcapMinus
 
MonitorElementmeMETPhiPhotonsEndcapMinus_BXm1Empty
 
MonitorElementmeMETPhiPhotonsEndcapMinus_BXm1Filled
 
MonitorElementmeMETPhiPhotonsEndcapPlus
 
MonitorElementmeMETPhiPhotonsEndcapPlus_BXm1Empty
 
MonitorElementmeMETPhiPhotonsEndcapPlus_BXm1Filled
 
MonitorElementmeMEx_profile
 
MonitorElementmeMEy_profile
 
MonitorElementmeMuonEt
 
MonitorElementmeNeutralHadronEt
 
MonitorElementmeNeutralHadronEt_profile
 
MonitorElementmeNeutralHadronEtFraction
 
MonitorElementmeNeutralHadronEtFraction_BXm1Empty
 
MonitorElementmeNeutralHadronEtFraction_BXm1Filled
 
MonitorElementmeNeutralHadronEtFraction_profile
 
MonitorElementmeNHF_Barrel
 
MonitorElementmeNHF_Barrel_BXm1Empty
 
MonitorElementmeNHF_Barrel_BXm1Filled
 
MonitorElementmeNHF_EndcapMinus
 
MonitorElementmeNHF_EndcapMinus_BXm1Empty
 
MonitorElementmeNHF_EndcapMinus_BXm1Filled
 
MonitorElementmeNHF_EndcapPlus
 
MonitorElementmeNHF_EndcapPlus_BXm1Empty
 
MonitorElementmeNHF_EndcapPlus_BXm1Filled
 
MonitorElementmePhF_Barrel
 
MonitorElementmePhF_Barrel_BXm1Empty
 
MonitorElementmePhF_Barrel_BXm1Filled
 
MonitorElementmePhF_EndcapMinus
 
MonitorElementmePhF_EndcapMinus_BXm1Empty
 
MonitorElementmePhF_EndcapMinus_BXm1Filled
 
MonitorElementmePhF_EndcapPlus
 
MonitorElementmePhF_EndcapPlus_BXm1Empty
 
MonitorElementmePhF_EndcapPlus_BXm1Filled
 
MonitorElementmePhotonEt
 
MonitorElementmePhotonEt_profile
 
MonitorElementmePhotonEtFraction
 
MonitorElementmePhotonEtFraction_BXm1Empty
 
MonitorElementmePhotonEtFraction_BXm1Filled
 
MonitorElementmePhotonEtFraction_profile
 
MonitorElementmeSumET_BXm1Empty
 
MonitorElementmeSumET_BXm1Filled
 
MonitorElementmeSumET_profile
 
edm::InputTag metCollectionLabel_
 
edm::InputTag METFilterMiniAODLabel2_
 
edm::InputTag METFilterMiniAODLabel_
 
edm::EDGetTokenT< edm::TriggerResultsMETFilterMiniAODToken2_
 
edm::EDGetTokenT< edm::TriggerResultsMETFilterMiniAODToken_
 
std::string MetType_
 
std::vector< double > MExPFCand_
 
std::vector< double > MEyPFCand_
 
MonitorElementmeZJets_u_par
 
MonitorElementmeZJets_u_par_ZPt_0_15
 
MonitorElementmeZJets_u_par_ZPt_150_290
 
MonitorElementmeZJets_u_par_ZPt_15_30
 
MonitorElementmeZJets_u_par_ZPt_290
 
MonitorElementmeZJets_u_par_ZPt_30_55
 
MonitorElementmeZJets_u_par_ZPt_55_75
 
MonitorElementmeZJets_u_par_ZPt_75_150
 
MonitorElementmeZJets_u_perp
 
MonitorElementmeZJets_u_perp_ZPt_0_15
 
MonitorElementmeZJets_u_perp_ZPt_150_290
 
MonitorElementmeZJets_u_perp_ZPt_15_30
 
MonitorElementmeZJets_u_perp_ZPt_290
 
MonitorElementmeZJets_u_perp_ZPt_30_55
 
MonitorElementmeZJets_u_perp_ZPt_55_75
 
MonitorElementmeZJets_u_perp_ZPt_75_150
 
int miniaodfilterdec
 
std::vector< int > miniaodFilterIndex_
 
edm::EDGetTokenT< reco::MuonCollectionMuonsToken_
 
int nbinsPV_
 
double nPVMax_
 
double nPVMin_
 
int numPV_
 
bool onlyCleaned_
 
edm::ParameterSet parameters
 
edm::EDGetTokenT< pat::JetCollectionpatJetsToken_
 
edm::EDGetTokenT< pat::METCollectionpatMetToken_
 
PFJetIDSelectionFunctor pfjetIDFunctorLoose
 
edm::EDGetTokenT< reco::PFJetCollectionpfJetsToken_
 
edm::EDGetTokenT< std::vector< pat::PackedCandidate > > pflowPackedToken_
 
edm::EDGetTokenT< std::vector< reco::PFCandidate > > pflowToken_
 
edm::EDGetTokenT< reco::PFMETCollectionpfMetToken_
 
std::vector< MonitorElement * > profilePFCand_x_
 
std::vector< std::string > profilePFCand_x_name_
 
std::vector< MonitorElement * > profilePFCand_y_
 
std::vector< std::string > profilePFCand_y_name_
 
double ptMinCand_
 
double ptThreshold_
 
bool runcosmics_
 
std::vector< int > triggerFolderDecisions_
 
std::vector< GenericTriggerEventFlag * > triggerFolderEventFlag_
 
std::vector< std::vector< std::string > > triggerFolderExpr_
 
std::vector< std::string > triggerFolderLabels_
 
edm::InputTag triggerResultsLabel_
 
edm::EDGetTokenT< edm::TriggerResultstriggerResultsToken_
 
edm::VParameterSet triggerSelectedSubFolders_
 
std::vector< int > typePFCand_
 
int verbose_
 
edm::InputTag vertexTag_
 
edm::EDGetTokenT< std::vector< reco::Vertex > > vertexToken_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

DQM MET analysis monitoring

Author
F. Chlebana - Fermilab K. Hatakeyama - Rockefeller University

Jan. '14: modified by

M. Artur Weber R. Schoefbeck V. Sordini

Definition at line 93 of file METAnalyzer.h.

Constructor & Destructor Documentation

METAnalyzer::METAnalyzer ( const edm::ParameterSet pSet)

Constructor.

Definition at line 42 of file METAnalyzer.cc.

References edm::ParameterSet::getParameter(), PFJetIDSelectionFunctor::LOOSE, JetIDSelectionFunctor::LOOSE, JetIDSelectionFunctor::PURE09, AlCaHLTBitMon_QueryRunRegistry::string, and PFJetIDSelectionFunctor::WINTER16.

42  {
43  parameters = pSet;
44 
45  m_l1algoname_ = pSet.getParameter<std::string>("l1algoname");
47 
49 
50 
51  LSBegin_ = pSet.getParameter<int>("LSBegin");
52  LSEnd_ = pSet.getParameter<int>("LSEnd");
53  // Smallest track pt
54  ptMinCand_ = pSet.getParameter<double>("ptMinCand");
55 
56  MetType_ = parameters.getUntrackedParameter<std::string>("METType");
57 
58  triggerResultsLabel_ = parameters.getParameter<edm::InputTag>("TriggerResultsLabel");
59  triggerResultsToken_= consumes<edm::TriggerResults>(edm::InputTag(triggerResultsLabel_));
60 
61  isCaloMet_ = (std::string("calo")==MetType_);
62  //isTCMet_ = (std::string("tc") ==MetType_);
63  isPFMet_ = (std::string("pf") ==MetType_);
64  isMiniAODMet_ = (std::string("miniaod") ==MetType_);
65  if(!isMiniAODMet_){
66  jetCorrectorToken_ = consumes<reco::JetCorrector>(pSet.getParameter<edm::InputTag>("JetCorrections"));
67  }
68 
69  // MET information
70  metCollectionLabel_ = parameters.getParameter<edm::InputTag>("METCollectionLabel");
71 
72  if(/*isTCMet_ || */isCaloMet_){
73  inputJetIDValueMap = pSet.getParameter<edm::InputTag>("InputJetIDValueMap");
74  jetID_ValueMapToken_= consumes< edm::ValueMap<reco::JetID> >(inputJetIDValueMap);
76  }
77 
78  if(isPFMet_){
79  pflowToken_ = consumes<std::vector<reco::PFCandidate> >(pSet.getParameter<edm::InputTag>("srcPFlow"));
81  }
82  if(isMiniAODMet_){
83  pflowPackedToken_ = consumes<std::vector<pat::PackedCandidate> >(pSet.getParameter<edm::InputTag>("srcPFlow"));
85  }
86  MuonsToken_ = consumes<reco::MuonCollection>(pSet.getParameter<edm::InputTag> ("muonsrc"));
87 
88  ptThreshold_ = parameters.getParameter<double>("ptThreshold");
89 
90 
91  if(isPFMet_){
92  pfMetToken_= consumes<reco::PFMETCollection>(edm::InputTag(metCollectionLabel_));
93  }
94  if(isCaloMet_){
95  caloMetToken_= consumes<reco::CaloMETCollection>(edm::InputTag(metCollectionLabel_));
96  }
97  if(isMiniAODMet_){
98  patMetToken_= consumes<pat::METCollection>(edm::InputTag(metCollectionLabel_));
99  }
100  //if(isTCMet_){
101  // tcMetToken_= consumes<reco::METCollection>(edm::InputTag(metCollectionLabel_));
102  //}
103 
104  fill_met_high_level_histo = parameters.getParameter<bool>("fillMetHighLevel");
105  fillCandidateMap_histos = parameters.getParameter<bool>("fillCandidateMaps");
106 
107  hTriggerLabelsIsSet_ = false;
108  //jet cleanup parameters
109  cleaningParameters_ = pSet.getParameter<ParameterSet>("CleaningParameters");
110 
111  diagnosticsParameters_ = pSet.getParameter<std::vector<edm::ParameterSet> >("METDiagonisticsParameters");
112 
114  //DCS
115  DCSFilter_ = new JetMETDQMDCSFilter(parameters.getParameter<ParameterSet>("DCSFilter"), iC );
116 
117  //Vertex requirements
118  bypassAllPVChecks_ = cleaningParameters_.getParameter<bool>("bypassAllPVChecks");
119  bypassAllDCSChecks_ = cleaningParameters_.getParameter<bool>("bypassAllDCSChecks");
120  runcosmics_ = parameters.getUntrackedParameter<bool>("runcosmics");
121  onlyCleaned_ = parameters.getUntrackedParameter<bool>("onlyCleaned");
123  vertexToken_ = consumes<std::vector<reco::Vertex> >(edm::InputTag(vertexTag_));
124 
125  //Trigger parameters
127  gtToken_= consumes<L1GlobalTriggerReadoutRecord>(edm::InputTag(gtTag_));
128 
129  // Other data collections
130  jetCollectionLabel_ = parameters.getParameter<edm::InputTag>("JetCollectionLabel");
131  if (isCaloMet_) caloJetsToken_ = consumes<reco::CaloJetCollection>(jetCollectionLabel_);
132  //if (isTCMet_) jptJetsToken_ = consumes<reco::JPTJetCollection>(jetCollectionLabel_);
133  if (isPFMet_) pfJetsToken_ = consumes<reco::PFJetCollection>(jetCollectionLabel_);
134  if (isMiniAODMet_) patJetsToken_ = consumes<pat::JetCollection>(jetCollectionLabel_);
135 
136  HBHENoiseStringMiniAOD = parameters.getParameter<std::string>("HBHENoiseLabelMiniAOD");
137  HBHEIsoNoiseStringMiniAOD = parameters.getParameter<std::string>("HBHEIsoNoiseLabelMiniAOD");
138 
139  hbheNoiseFilterResultTag_ = parameters.getParameter<edm::InputTag>("HBHENoiseFilterResultLabel");
141  hbheNoiseIsoFilterResultTag_ = parameters.getParameter<edm::InputTag>("HBHENoiseIsoFilterResultLabel");
143  CSCHaloResultTag_= parameters.getParameter<edm::InputTag>("CSCHaloResultLabel");
144  CSCHaloResultToken_=consumes<bool>(CSCHaloResultTag_);
145  CSCHalo2015ResultTag_= parameters.getParameter<edm::InputTag>("CSCHalo2015ResultLabel");
147  EcalDeadCellTriggerTag_= parameters.getParameter<edm::InputTag>("EcalDeadCellTriggerPrimitiveFilterLabel");
149  EcalDeadCellBoundaryTag_= parameters.getParameter<edm::InputTag>("EcalDeadCellBoundaryEnergyFilterLabel");
151  eeBadScFilterTag_= parameters.getParameter<edm::InputTag>("eeBadScFilterLabel");
152  eeBadScFilterToken_=consumes<bool>(eeBadScFilterTag_);
153  HcalStripHaloTag_= parameters.getParameter<edm::InputTag>("HcalStripHaloFilterLabel");
154  HcalStripHaloToken_=consumes<bool>(HcalStripHaloTag_);
155 
156  if(isMiniAODMet_) {
157  METFilterMiniAODLabel_=parameters.getParameter<edm::InputTag>("FilterResultsLabelMiniAOD");
158  METFilterMiniAODToken_=consumes<edm::TriggerResults>(METFilterMiniAODLabel_);
159 
160  METFilterMiniAODLabel2_=parameters.getParameter<edm::InputTag>("FilterResultsLabelMiniAOD2");
161  METFilterMiniAODToken2_=consumes<edm::TriggerResults>(METFilterMiniAODLabel2_);
162  }
163 
164  //
165  nbinsPV_ = parameters.getParameter<int>("pVBin");
166  nPVMin_ = parameters.getParameter<double>("pVMin");
167  nPVMax_ = parameters.getParameter<double>("pVMax");
168 
169  triggerSelectedSubFolders_ = parameters.getParameter<edm::VParameterSet>("triggerSelectedSubFolders");
170  for (edm::VParameterSet::const_iterator it = triggerSelectedSubFolders_.begin(); it!= triggerSelectedSubFolders_.end(); it++) {
171  triggerFolderEventFlag_.push_back(new GenericTriggerEventFlag( *it, consumesCollector(), *this ));
172  triggerFolderExpr_.push_back(it->getParameter<std::vector<std::string> >("hltPaths"));
173  triggerFolderLabels_.push_back(it->getParameter<std::string>("label"));
174  }
175 
176  cleaningParameters_ = parameters.getParameter<ParameterSet>("CleaningParameters");
177 
178  verbose_ = parameters.getParameter<int>("verbose");
179 
180  FolderName_ = parameters.getUntrackedParameter<std::string>("FolderName");
181 
182 }
edm::EDGetTokenT< reco::CaloMETCollection > caloMetToken_
Definition: METAnalyzer.h:184
T getParameter(std::string const &) const
edm::InputTag CSCHaloResultTag_
Definition: METAnalyzer.h:169
edm::InputTag gtTag_
Definition: METAnalyzer.h:148
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken_
Definition: METAnalyzer.h:152
bool bypassAllDCSChecks_
Definition: METAnalyzer.h:258
edm::EDGetTokenT< bool > CSCHalo2015ResultToken_
Definition: METAnalyzer.h:172
edm::EDGetTokenT< edm::TriggerResults > METFilterMiniAODToken2_
Definition: METAnalyzer.h:160
std::vector< edm::ParameterSet > diagnosticsParameters_
Definition: METAnalyzer.h:245
double ptThreshold_
Definition: METAnalyzer.h:196
bool runcosmics_
Definition: METAnalyzer.h:259
bool isCaloMet_
Definition: METAnalyzer.h:593
std::vector< ParameterSet > VParameterSet
Definition: ParameterSet.h:33
std::string MetType_
Definition: METAnalyzer.h:141
bool onlyCleaned_
Definition: METAnalyzer.h:260
edm::InputTag hbheNoiseFilterResultTag_
Definition: METAnalyzer.h:165
edm::EDGetTokenT< bool > EcalDeadCellTriggerToken_
Definition: METAnalyzer.h:174
edm::InputTag hbheNoiseIsoFilterResultTag_
Definition: METAnalyzer.h:167
edm::EDGetTokenT< reco::PFMETCollection > pfMetToken_
Definition: METAnalyzer.h:183
bool fillCandidateMap_histos
Definition: METAnalyzer.h:598
double nPVMin_
Definition: METAnalyzer.h:250
edm::EDGetTokenT< bool > eeBadScFilterToken_
Definition: METAnalyzer.h:176
edm::InputTag EcalDeadCellTriggerTag_
Definition: METAnalyzer.h:173
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
std::string FolderName_
Definition: METAnalyzer.h:142
std::vector< GenericTriggerEventFlag * > triggerFolderEventFlag_
Definition: METAnalyzer.h:214
std::string HBHENoiseStringMiniAOD
Definition: METAnalyzer.h:208
edm::EDGetTokenT< reco::JetCorrector > jetCorrectorToken_
Definition: METAnalyzer.h:211
std::string HBHEIsoNoiseStringMiniAOD
Definition: METAnalyzer.h:209
std::vector< std::vector< std::string > > triggerFolderExpr_
Definition: METAnalyzer.h:215
edm::InputTag vertexTag_
Definition: METAnalyzer.h:147
edm::EDGetTokenT< std::vector< reco::Vertex > > vertexToken_
Definition: METAnalyzer.h:150
bool fill_met_high_level_histo
Definition: METAnalyzer.h:597
edm::EDGetTokenT< bool > hbheIsoNoiseFilterResultToken_
Definition: METAnalyzer.h:168
edm::InputTag metCollectionLabel_
Definition: METAnalyzer.h:144
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::InputTag CSCHalo2015ResultTag_
Definition: METAnalyzer.h:171
edm::ParameterSet cleaningParameters_
Definition: METAnalyzer.h:244
edm::EDGetTokenT< bool > hbheNoiseFilterResultToken_
Definition: METAnalyzer.h:166
edm::InputTag eeBadScFilterTag_
Definition: METAnalyzer.h:175
edm::InputTag HcalStripHaloTag_
Definition: METAnalyzer.h:179
std::string m_l1algoname_
Definition: METAnalyzer.h:193
edm::EDGetTokenT< edm::TriggerResults > METFilterMiniAODToken_
Definition: METAnalyzer.h:158
PF Jet selector for pat::Jets.
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken_
Definition: METAnalyzer.h:201
edm::EDGetTokenT< bool > HcalStripHaloToken_
Definition: METAnalyzer.h:180
edm::EDGetTokenT< reco::PFJetCollection > pfJetsToken_
Definition: METAnalyzer.h:153
edm::EDGetTokenT< bool > CSCHaloResultToken_
Definition: METAnalyzer.h:170
edm::EDGetTokenT< bool > EcalDeadCellBoundaryToken_
Definition: METAnalyzer.h:178
JetMETDQMDCSFilter * DCSFilter_
Definition: METAnalyzer.h:286
Jet selector for pat::Jets and for CaloJets.
PFJetIDSelectionFunctor pfjetIDFunctorLoose
Definition: METAnalyzer.h:190
edm::EDGetTokenT< std::vector< reco::PFCandidate > > pflowToken_
Definition: METAnalyzer.h:552
double nPVMax_
Definition: METAnalyzer.h:251
edm::EDGetTokenT< pat::METCollection > patMetToken_
Definition: METAnalyzer.h:182
edm::InputTag triggerResultsLabel_
Definition: METAnalyzer.h:200
edm::InputTag EcalDeadCellBoundaryTag_
Definition: METAnalyzer.h:177
edm::EDGetTokenT< reco::MuonCollection > MuonsToken_
Definition: METAnalyzer.h:155
edm::InputTag METFilterMiniAODLabel2_
Definition: METAnalyzer.h:159
double ptMinCand_
Definition: METAnalyzer.h:529
edm::VParameterSet triggerSelectedSubFolders_
Definition: METAnalyzer.h:213
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtToken_
Definition: METAnalyzer.h:151
bool bypassAllPVChecks_
Definition: METAnalyzer.h:257
int miniaodfilterdec
Definition: METAnalyzer.h:163
edm::EDGetTokenT< edm::ValueMap< reco::JetID > > jetID_ValueMapToken_
Definition: METAnalyzer.h:187
edm::InputTag inputJetIDValueMap
Definition: METAnalyzer.h:186
edm::InputTag METFilterMiniAODLabel_
Definition: METAnalyzer.h:157
JetIDSelectionFunctor jetIDFunctorLoose
Definition: METAnalyzer.h:189
edm::InputTag jetCollectionLabel_
Definition: METAnalyzer.h:146
edm::EDGetTokenT< pat::JetCollection > patJetsToken_
Definition: METAnalyzer.h:154
bool hTriggerLabelsIsSet_
Definition: METAnalyzer.h:296
bool isMiniAODMet_
Definition: METAnalyzer.h:595
edm::EDGetTokenT< std::vector< pat::PackedCandidate > > pflowPackedToken_
Definition: METAnalyzer.h:553
int m_bitAlgTechTrig_
Definition: METAnalyzer.h:194
std::vector< std::string > triggerFolderLabels_
Definition: METAnalyzer.h:216
METAnalyzer::~METAnalyzer ( )
override

Destructor.

Definition at line 185 of file METAnalyzer.cc.

185  {
186  for (std::vector<GenericTriggerEventFlag *>::const_iterator it = triggerFolderEventFlag_.begin(); it!= triggerFolderEventFlag_.end(); it++) {
187  delete *it;
188  }
189  delete DCSFilter_;
190 }
std::vector< GenericTriggerEventFlag * > triggerFolderEventFlag_
Definition: METAnalyzer.h:214
JetMETDQMDCSFilter * DCSFilter_
Definition: METAnalyzer.h:286

Member Function Documentation

void METAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Get the analysis.

  • if(isTCMet_){

Definition at line 1115 of file METAnalyzer.cc.

References edm::HLTGlobalStatus::accept(), isolatedTracks_cfi::caloJets, ALCARECOTkAlJpsiMuMu_cff::charge, reco::JetCorrector::correction(), gather_cfg::cout, cmsPerfPublish::DirName, PVValHelper::dxy, PVValHelper::dz, PVValHelper::eta, edm::Event::getByToken(), cutBasedMuonId_MuonPOG_V0_cff::globalTrack, mps_fire::i, susybsm::HSCParticleType::innerTrack, edm::HandleBase::isValid(), LogDebug, LogTrace, edm::EventBase::luminosityBlock(), SiStripPI::max, RazorAnalyzer::met, Reconstruction_hiPF_cff::Muons, hemisphereProducer_cfi::patJets, muons_cfi::pfIsolationR04, pfJetBenchmark_cfi::pfJets, position, edm::Handle< T >::product(), EnergyCorrector::pt, hiDetachedQuadStep_cff::pt1, hiDetachedQuadStep_cff::pt2, Scenarios_cff::scale, AlCaHLTBitMon_QueryRunRegistry::string, L1GlobalTriggerReadoutRecord::technicalTriggerWord(), edm::triggerResults(), and particleFlowSuperClusterECAL_cfi::vertexCollection.

1115  {
1116 
1117 
1118  // *** Fill lumisection ME
1119  int myLuminosityBlock;
1120  myLuminosityBlock = iEvent.luminosityBlock();
1122  lumisecME=map_dijet_MEs["JetMET/lumisec"]; if(lumisecME && lumisecME->getRootObject()) lumisecME->Fill(myLuminosityBlock);
1123  }
1124 
1125  if (myLuminosityBlock<LSBegin_) return;
1126  if (myLuminosityBlock>LSEnd_ && LSEnd_>0) return;
1127 
1128  if (verbose_) std::cout << "METAnalyzer analyze" << std::endl;
1129 
1131 
1132 
1133 
1134 
1135  // ==========================================================
1136  // Trigger information
1137  //
1138 // trigJetMB_=0;
1139 // trigHighPtJet_=0;
1140 // trigLowPtJet_=0;
1141 // trigMinBias_=0;
1142 // trigHighMET_=0;
1143 // // _trig_LowMET=0;
1144 // trigEle_=0;
1145 // trigMuon_=0;
1146 // trigPhysDec_=0;
1147  std::vector<int> triggerFolderDecisions;
1148  triggerFolderDecisions_ = std::vector<int> (triggerFolderEventFlag_.size(), 0);
1149  // **** Get the TriggerResults container
1151  iEvent.getByToken(triggerResultsToken_, triggerResults);
1152 
1153  if( triggerResults.isValid()) {
1155  // Check how many HLT triggers are in triggerResults
1156  int ntrigs = (*triggerResults).size();
1157  if (verbose_) std::cout << "ntrigs=" << ntrigs << std::endl;
1158  // If index=ntrigs, this HLT trigger doesn't exist in the HLT table for this data.
1159  for (std::vector<GenericTriggerEventFlag *>::const_iterator it = triggerFolderEventFlag_.begin(); it!=triggerFolderEventFlag_.end();it++) {
1160  unsigned int pos = it - triggerFolderEventFlag_.begin();
1161  bool fd = (*it)->accept(iEvent, iSetup);
1162  triggerFolderDecisions_[pos] = fd;
1163  }
1164  allTriggerDecisions_.clear();
1165  for (unsigned int i=0;i<allTriggerNames_.size();++i) {
1166  allTriggerDecisions_.push_back((*triggerResults).accept(i));
1167  //std::cout<<"TR "<<(*triggerResults).size()<<" "<<(*triggerResults).accept(i)<<" "<<allTriggerNames_[i]<<std::endl;
1168  }
1169  }
1170 
1171  // ==========================================================
1172  // MET information
1173 
1174  // **** Get the MET container
1179 
1180  //if(isTCMet_){
1181  //iEvent.getByToken(tcMetToken_, tcmetcoll);
1182  //if(!tcmetcoll.isValid()) return;
1183  //}
1184  if(isCaloMet_){
1185  iEvent.getByToken(caloMetToken_, calometcoll);
1186  if(!calometcoll.isValid()) return;
1187  }
1188  if(isPFMet_){
1189  iEvent.getByToken(pfMetToken_, pfmetcoll);
1190  if(!pfmetcoll.isValid()) return;
1191  }
1192  if(isMiniAODMet_){
1193  iEvent.getByToken(patMetToken_, patmetcoll);
1194  if(!patmetcoll.isValid()) return;
1195  }
1196 
1197  const MET *met=nullptr;
1198  const pat::MET *patmet=nullptr;
1199  const PFMET *pfmet=nullptr;
1200  const CaloMET *calomet=nullptr;
1201  //if(isTCMet_){
1202  //met=&(tcmetcoll->front());
1203  //}
1204  if(isPFMet_){
1205  met=&(pfmetcoll->front());
1206  pfmet=&(pfmetcoll->front());
1207  }
1208  if(isCaloMet_){
1209  met=&(calometcoll->front());
1210  calomet=&(calometcoll->front());
1211  }
1212  if(isMiniAODMet_){
1213  met=&(patmetcoll->front());
1214  patmet=&(patmetcoll->front());
1215  }
1216 
1217  LogTrace("METAnalyzer")<<"[METAnalyzer] Call to the MET analyzer";
1218 
1219  // ==========================================================
1220  // TCMET
1221 
1222  //if (/*isTCMet_ || */(isCaloMet_ && metCollectionLabel_.label() == "corMetGlobalMuons")) {
1223 
1224  //iEvent.getByToken(MuonToken_, muonHandle_);
1225  //iEvent.getByToken(TrackToken_, trackHandle_);
1226  //iEvent.getByToken(ElectronToken_, electronHandle_);
1227  //iEvent.getByToken(BeamspotToken_, beamSpotHandle_);
1228  //iEvent.getByToken(tcMETValueMapToken_,tcMetValueMapHandle_);
1229 
1230  //if(!muonHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve muon data require by MET Task";
1231  //if(!trackHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve track data require by MET Task";
1232  //if(!electronHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve electron data require by MET Task";
1233  //if(!beamSpotHandle_.isValid()) edm::LogInfo("OutputInfo") << "falied to retrieve beam spot data require by MET Task";
1234 
1235  //beamSpot_ = ( beamSpotHandle_.isValid() ) ? beamSpotHandle_->position() : math::XYZPoint(0, 0, 0);
1236  //}
1237 
1238  // ==========================================================
1239  bool bJetID = false;
1240  bool bDiJetID = false;
1241  // Jet ID -------------------------------------------------------
1242  //
1243 
1248 
1249  int collsize=-1;
1250 
1251  if (isCaloMet_){
1252  iEvent.getByToken(caloJetsToken_, caloJets);
1253  if (!caloJets.isValid()) {
1254  LogDebug("") << "METAnalyzer: Could not find calojet product" << std::endl;
1255  if (verbose_) std::cout << "METAnalyzer: Could not find calojet product" << std::endl;
1256  }
1257  collsize=caloJets->size();
1258  }
1260  //if (isTCMet_){
1261  //iEvent.getByToken(jptJetsToken_, jptJets);
1262  //if (!jptJets.isValid()) {
1263  // LogDebug("") << "METAnalyzer: Could not find jptjet product" << std::endl;
1264  // if (verbose_) std::cout << "METAnalyzer: Could not find jptjet product" << std::endl;
1265  //}
1266  //collsize=jptJets->size();
1267  //}*/
1268 
1269  edm::Handle< edm::ValueMap<reco::JetID> >jetID_ValueMap_Handle;
1270  if(/*isTCMet_ || */isCaloMet_){
1271  if(!runcosmics_){
1272  iEvent.getByToken(jetID_ValueMapToken_,jetID_ValueMap_Handle);
1273  }
1274  }
1275 
1276  if (isMiniAODMet_){ iEvent.getByToken(patJetsToken_, patJets);
1277  if (!patJets.isValid()) {
1278  LogDebug("") << "METAnalyzer: Could not find patjet product" << std::endl;
1279  if (verbose_) std::cout << "METAnalyzer: Could not find patjet product" << std::endl;
1280  }
1281  collsize=patJets->size();
1282  }
1283 
1284  if (isPFMet_){ iEvent.getByToken(pfJetsToken_, pfJets);
1285  if (!pfJets.isValid()) {
1286  LogDebug("") << "METAnalyzer: Could not find pfjet product" << std::endl;
1287  if (verbose_) std::cout << "METAnalyzer: Could not find pfjet product" << std::endl;
1288  }
1289  collsize=pfJets->size();
1290  }
1291 
1292  unsigned int ind1=-1;
1293  double pt1=-1;
1294  bool pass_jetID1=false;
1295  unsigned int ind2=-1;
1296  double pt2=-1;
1297  bool pass_jetID2=false;
1298 
1300  bool pass_correction_flag=false;
1301  if(!isMiniAODMet_){
1302  iEvent.getByToken(jetCorrectorToken_, jetCorr);
1303  if (jetCorr.isValid()){
1304  pass_correction_flag=true;
1305  }
1306  }else{
1307  pass_correction_flag=true;
1308  }
1309  //do loose jet ID-> check threshold on corrected jets
1310  for (int ijet=0; ijet<collsize; ijet++) {
1311  double pt_jet=-10;
1312  double scale=1.;
1313  bool iscleaned=false;
1314  if (pass_correction_flag) {
1315  if(isCaloMet_){
1316  scale = jetCorr->correction((*caloJets)[ijet]);
1317  }
1318  //if(isTCMet_){
1319  //scale = jetCorr->correction((*jptJets)[ijet]);
1320  //}
1321  if(isPFMet_){
1322  scale = jetCorr->correction((*pfJets)[ijet]);
1323  }
1324  }
1325  if(isCaloMet_){
1326  pt_jet=scale*(*caloJets)[ijet].pt();
1327  if(pt_jet> ptThreshold_){
1328  reco::CaloJetRef calojetref(caloJets, ijet);
1329  if(!runcosmics_){
1330  reco::JetID jetID = (*jetID_ValueMap_Handle)[calojetref];
1331  iscleaned = jetIDFunctorLoose((*caloJets)[ijet], jetID);
1332  }else{
1333  iscleaned=true;
1334  }
1335  }
1336  }
1338  //if(isTCMet_){
1339  //pt_jet=scale*(*jptJets)[ijet].pt();
1340  //if(pt_jet> ptThreshold_){
1341  // const edm::RefToBase<reco::Jet>& rawJet = (*jptJets)[ijet].getCaloJetRef();
1342  // const reco::CaloJet *rawCaloJet = dynamic_cast<const reco::CaloJet*>(&*rawJet);
1343  // reco::CaloJetRef const theCaloJetRef = (rawJet).castTo<reco::CaloJetRef>();
1344  // if(!runcosmics_){
1345  // reco::JetID jetID = (*jetID_ValueMap_Handle)[theCaloJetRef];
1346  // iscleaned = jetIDFunctorLoose(*rawCaloJet, jetID);
1347  // }else{
1348  // iscleaned=true;
1349  // }
1350  //}
1351  //}*/
1352  if(isPFMet_){
1353  pt_jet=scale*(*pfJets)[ijet].pt();
1354  if(pt_jet> ptThreshold_){
1355  iscleaned = pfjetIDFunctorLoose((*pfJets)[ijet]);
1356  }
1357  }
1358  if(isMiniAODMet_){
1359  pt_jet=(*patJets)[ijet].pt();
1360  if(pt_jet> ptThreshold_){
1362  iscleaned = pfjetIDFunctorLoose((*patJets)[ijet],stringbitset);
1363  }
1364  }
1365  if(iscleaned){
1366  bJetID=true;
1367  }
1368  if(pt_jet>pt1){
1369  pt2=pt1;
1370  ind2=ind1;
1371  pass_jetID2=pass_jetID1;
1372  pt1=pt_jet;
1373  ind1=ijet;
1374  pass_jetID1=iscleaned;
1375  }else if (pt_jet>pt2){
1376  pt2=pt_jet;
1377  ind2=ijet;
1378  pass_jetID2=iscleaned;
1379  }
1380  }
1381  if(pass_jetID1 && pass_jetID2){
1382  double dphi=-1.0;
1383  if(isCaloMet_){
1384  dphi=fabs((*caloJets)[ind1].phi()-(*caloJets)[ind2].phi());
1385  }
1387  //dphi=fabs((*jptJets)[ind1].phi()-(*jptJets)[ind2].phi());
1388  //}*/
1389  if(isPFMet_){
1390  dphi=fabs((*pfJets)[ind1].phi()-(*pfJets)[ind2].phi());
1391  }
1392  if(isMiniAODMet_){
1393  dphi=fabs((*patJets)[0].phi()-(*patJets)[1].phi());
1394  }
1395  if(dphi>acos(-1.)){
1396  dphi=2*acos(-1.)-dphi;
1397  }
1398  if(dphi>2.7){
1399  bDiJetID=true;
1400  }
1401  }
1402  // ==========================================================
1403  // ==========================================================
1404  //Vertex information
1405  Handle<VertexCollection> vertexHandle;
1406  iEvent.getByToken(vertexToken_, vertexHandle);
1407 
1408  if (!vertexHandle.isValid()) {
1409  LogDebug("") << "CaloMETAnalyzer: Could not find vertex collection" << std::endl;
1410  if (verbose_) std::cout << "CaloMETAnalyzer: Could not find vertex collection" << std::endl;
1411  }
1412  numPV_ = 0;
1413  if ( vertexHandle.isValid() ){
1414  VertexCollection vertexCollection = *(vertexHandle.product());
1415  numPV_ = vertexCollection.size();
1416  }
1417  bool bPrimaryVertex = (bypassAllPVChecks_ || (numPV_>0));
1418 
1419  bool bZJets = false;
1420 
1422  iEvent.getByToken(MuonsToken_, Muons);
1423 
1425 
1426  double pt_muon0=-1;
1427  double pt_muon1=-1;
1428  int mu_index0=-1;
1429  int mu_index1=-1;
1430  //fill it only for cleaned jets
1431  if(Muons.isValid() && Muons->size()>1){
1432  for (unsigned int i=0;i<Muons->size();i++){
1433  bool pass_muon_id=false;
1434  bool pass_muon_iso=false;
1435  double dxy=fabs((*Muons)[i].muonBestTrack()->dxy());
1436  double dz=fabs((*Muons)[i].muonBestTrack()->dz());
1437  if (numPV_>0){
1438  dxy=fabs((*Muons)[i].muonBestTrack()->dxy((*vertexHandle)[0].position()));
1439  dz=fabs((*Muons)[i].muonBestTrack()->dz((*vertexHandle)[0].position()));
1440  }
1441  if((*Muons)[i].pt()>20 && fabs((*Muons)[i].eta())<2.3){
1442  if((*Muons)[i].isGlobalMuon() && (*Muons)[i].isPFMuon() && (*Muons)[i].globalTrack()->hitPattern().numberOfValidMuonHits() > 0 && (*Muons)[i].numberOfMatchedStations() > 1 && dxy < 0.2 && (*Muons)[i].numberOfMatchedStations() > 1 && dz<0.5 && (*Muons)[i].innerTrack()->hitPattern().numberOfValidPixelHits() > 0 && (*Muons)[i].innerTrack()->hitPattern().trackerLayersWithMeasurement() > 5){
1443  pass_muon_id=true;
1444  }
1445  // Muon pf isolation DB corrected
1446  float muonIsoPFdb = ((*Muons)[i].pfIsolationR04().sumChargedHadronPt
1447  + std::max(0., (*Muons)[i].pfIsolationR04().sumNeutralHadronEt + (*Muons)[i].pfIsolationR04().sumPhotonEt - 0.5*(*Muons)[i].pfIsolationR04().sumPUPt))/(*Muons)[i].pt();
1448  if(muonIsoPFdb<0.12){
1449  pass_muon_iso=true;
1450  }
1451 
1452  if(pass_muon_id && pass_muon_iso){
1453  if((*Muons)[i].pt()>pt_muon0){
1454  mu_index1=mu_index0;
1455  pt_muon1=pt_muon0;
1456  mu_index0=i;
1457  pt_muon0=(*Muons)[i].pt();
1458  }else if ((*Muons)[i].pt()>pt_muon1){
1459  mu_index1=i;
1460  pt_muon1=(*Muons)[i].pt();
1461  }
1462  }
1463  }
1464  }
1465  if(mu_index0>=0 && mu_index1>=0){
1466  if((*Muons)[mu_index0].charge()*(*Muons)[mu_index1].charge()<0){
1467  zCand=(*Muons)[mu_index0].polarP4()+(*Muons)[mu_index1].polarP4();
1468  if(fabs(zCand.M()-91.)<20){
1469  bZJets=true;
1470  }
1471  }
1472  }
1473  }
1474 
1475  // ==========================================================
1476 
1478  iEvent.getByToken( gtToken_, gtReadoutRecord);
1479 
1480  bool techTriggerResultBxM2 = false;
1481  bool techTriggerResultBxM1 = false;
1482  bool techTriggerResultBx0 = false;
1483 
1484  if (!gtReadoutRecord.isValid()) {
1485  LogDebug("") << "METAnalyzer: Could not find GT readout record" << std::endl;
1486  if (verbose_) std::cout << "METAnalyzer: Could not find GT readout record product" << std::endl;
1487  }else{
1488  // trigger results before mask for BxInEvent -2 (E), -1 (F), 0 (L1A), 1, 2
1489  const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxM2 = gtReadoutRecord->technicalTriggerWord(-2);
1490  const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxM1 = gtReadoutRecord->technicalTriggerWord(-1);
1491  const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBx0 = gtReadoutRecord->technicalTriggerWord();
1492  //const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxG = gtReadoutRecord->technicalTriggerWord(1);
1493  //const TechnicalTriggerWord& technicalTriggerWordBeforeMaskBxH = gtReadoutRecord->technicalTriggerWord(2);
1494  if (m_bitAlgTechTrig_ > -1 && !technicalTriggerWordBeforeMaskBx0.empty()) {
1495  techTriggerResultBx0 = technicalTriggerWordBeforeMaskBx0.at(m_bitAlgTechTrig_);
1496  if(techTriggerResultBx0!=0){
1497  techTriggerResultBxM2 = technicalTriggerWordBeforeMaskBxM2.at(m_bitAlgTechTrig_);
1498  techTriggerResultBxM1 = technicalTriggerWordBeforeMaskBxM1.at(m_bitAlgTechTrig_);
1499  }
1500  }
1501  }
1502 
1503  std::vector<bool>trigger_flag(4,false);
1504  if(techTriggerResultBx0 && techTriggerResultBxM2 && techTriggerResultBxM1){//current and previous two bunches filled
1505  trigger_flag[0]=true;
1506  }
1507  if(techTriggerResultBx0 && techTriggerResultBxM1){//current and previous bunch filled
1508  trigger_flag[1]=true; }
1509  if(techTriggerResultBx0 && !techTriggerResultBxM1){//current bunch filled, but previous bunch emtpy
1510  trigger_flag[2]=true;
1511  }
1512  if(techTriggerResultBx0 && !techTriggerResultBxM2 && !techTriggerResultBxM1){//current bunch filled, but previous two bunches emtpy
1513  trigger_flag[3]=true;
1514  }
1515  std::vector<bool>filter_decisions(8,false);//include all recommended filters, old filters in MiniAOD, and 2 new filters in testing phase
1516  if(!isMiniAODMet_ && !runcosmics_){//not checked for MiniAOD -> for miniaod decision filled as "triggerResults" bool
1517  edm::Handle<bool> HBHENoiseFilterResultHandle;
1518  iEvent.getByToken(hbheNoiseFilterResultToken_, HBHENoiseFilterResultHandle);
1519  if (!HBHENoiseFilterResultHandle.isValid()) {
1520  LogDebug("") << "METAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
1521  if (verbose_) std::cout << "METAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
1522  }
1523  filter_decisions[0]= *HBHENoiseFilterResultHandle;
1524  edm::Handle<bool> CSCTightHaloFilterResultHandle;
1525  iEvent.getByToken(CSCHaloResultToken_, CSCTightHaloFilterResultHandle);
1526  if (!CSCTightHaloFilterResultHandle.isValid()) {
1527  LogDebug("") << "METAnalyzer: Could not find CSCTightHaloFilterResultHandle" << std::endl;
1528  if (verbose_) std::cout << "METAnalyzer: CSCTightHaloFilterResultHandle" << std::endl;
1529  }
1530  filter_decisions[1]= *CSCTightHaloFilterResultHandle;
1531  edm::Handle<bool> eeBadScFilterResultHandle;
1532  iEvent.getByToken(eeBadScFilterToken_, eeBadScFilterResultHandle);
1533  if (!eeBadScFilterResultHandle.isValid()) {
1534  LogDebug("") << "METAnalyzer: Could not find eeBadScFilterResultHandle" << std::endl;
1535  if (verbose_) std::cout << "METAnalyzer: eeBadScFilterResultHandle" << std::endl;
1536  }
1537  filter_decisions[2]= *eeBadScFilterResultHandle;
1538  edm::Handle<bool> HBHENoiseIsoFilterResultHandle;
1539  iEvent.getByToken(hbheIsoNoiseFilterResultToken_, HBHENoiseIsoFilterResultHandle);
1540  if (!HBHENoiseIsoFilterResultHandle.isValid()) {
1541  LogDebug("") << "METAnalyzer: Could not find HBHENoiseIsoFilterResult" << std::endl;
1542  if (verbose_) std::cout << "METAnalyzer: Could not find HBHENoiseIsoFilterResult" << std::endl;
1543  }
1544  filter_decisions[3]= *HBHENoiseIsoFilterResultHandle;
1545  edm::Handle<bool> CSCTightHalo2015FilterResultHandle;
1546  iEvent.getByToken(CSCHalo2015ResultToken_, CSCTightHalo2015FilterResultHandle);
1547  if (!CSCTightHalo2015FilterResultHandle.isValid()) {
1548  LogDebug("") << "METAnalyzer: Could not find CSCTightHalo2015FilterResultHandle" << std::endl;
1549  if (verbose_) std::cout << "METAnalyzer: CSCTightHalo2015FilterResultHandle" << std::endl;
1550  }
1551  filter_decisions[4]= *CSCTightHalo2015FilterResultHandle;
1552  edm::Handle<bool> EcalDeadCellTriggerFilterResultHandle;
1553  iEvent.getByToken(EcalDeadCellTriggerToken_, EcalDeadCellTriggerFilterResultHandle);
1554  if (!EcalDeadCellTriggerFilterResultHandle.isValid()) {
1555  LogDebug("") << "METAnalyzer: Could not find EcalDeadCellTriggerFilterResultHandle" << std::endl;
1556  if (verbose_) std::cout << "METAnalyzer: EcalDeadCellTriggerFilterResultHandle" << std::endl;
1557  }
1558  filter_decisions[5]= *EcalDeadCellTriggerFilterResultHandle;
1559  edm::Handle<bool> EcalDeadCellBoundaryHandle;
1560  iEvent.getByToken(EcalDeadCellBoundaryToken_, EcalDeadCellBoundaryHandle);
1561  if (!EcalDeadCellBoundaryHandle.isValid()) {
1562  LogDebug("") << "METAnalyzer: Could not find EcalDeadCellBoundaryHandle" << std::endl;
1563  if (verbose_) std::cout << "METAnalyzer: EcalDeadCellBoundaryHandle" << std::endl;
1564  }
1565  filter_decisions[6]= *EcalDeadCellBoundaryHandle;
1566  edm::Handle<bool> HcalStripHaloFilterHandle;
1567  iEvent.getByToken(HcalStripHaloToken_, HcalStripHaloFilterHandle);
1568  if (!HcalStripHaloFilterHandle.isValid()) {
1569  LogDebug("") << "METAnalyzer: Could not find CSCTightHalo2015FilterResultHandle" << std::endl;
1570  if (verbose_) std::cout << "METAnalyzer: CSCTightHalo2015FilterResultHandle" << std::endl;
1571  }
1572  filter_decisions[7]= *HcalStripHaloFilterHandle;
1573  }else if (isMiniAODMet_) {
1574  //miniaodFilterIndex_ is only filled in dqmBeginRun if isMiniAODMet_ true
1575  edm::Handle<edm::TriggerResults> metFilterResults;
1576  iEvent.getByToken(METFilterMiniAODToken_, metFilterResults);
1577  if(metFilterResults.isValid()){
1578  if(miniaodFilterIndex_[0]!=-1){
1579  filter_decisions[0] = metFilterResults->accept(miniaodFilterIndex_[0]);
1580  }
1581  if(miniaodFilterIndex_[1]!=-1){
1582  filter_decisions[1] = metFilterResults->accept(miniaodFilterIndex_[1]);
1583  }
1584  if(miniaodFilterIndex_[2]!=-1){
1585  filter_decisions[2] = metFilterResults->accept(miniaodFilterIndex_[2]);
1586  }
1587  if(miniaodFilterIndex_[3]!=-1){
1588  filter_decisions[3] = metFilterResults->accept(miniaodFilterIndex_[3]);
1589  }
1590  if(miniaodFilterIndex_[4]!=-1){
1591  filter_decisions[4] = metFilterResults->accept(miniaodFilterIndex_[4]);
1592  }
1593  if(miniaodFilterIndex_[5]!=-1){
1594  filter_decisions[5] = metFilterResults->accept(miniaodFilterIndex_[5]);
1595  }
1596  if(miniaodFilterIndex_[6]!=-1){
1597  filter_decisions[6] = metFilterResults->accept(miniaodFilterIndex_[6]);
1598  }
1599  if(miniaodFilterIndex_[7]!=-1){
1600  filter_decisions[7] = metFilterResults->accept(miniaodFilterIndex_[7]);
1601  }
1602  }else{
1603  iEvent.getByToken(METFilterMiniAODToken2_, metFilterResults);
1604  if(metFilterResults.isValid()){
1605  if(miniaodFilterIndex_[0]!=-1){
1606  filter_decisions[0] = metFilterResults->accept(miniaodFilterIndex_[0]);
1607  }
1608  if(miniaodFilterIndex_[1]!=-1){
1609  filter_decisions[1] = metFilterResults->accept(miniaodFilterIndex_[1]);
1610  }
1611  if(miniaodFilterIndex_[2]!=-1){
1612  filter_decisions[2] = metFilterResults->accept(miniaodFilterIndex_[2]);
1613  }
1614  if(miniaodFilterIndex_[3]!=-1){
1615  filter_decisions[3] = metFilterResults->accept(miniaodFilterIndex_[3]);
1616  }
1617  if(miniaodFilterIndex_[4]!=-1){
1618  filter_decisions[4] = metFilterResults->accept(miniaodFilterIndex_[4]);
1619  }
1620  if(miniaodFilterIndex_[5]!=-1){
1621  filter_decisions[5] = metFilterResults->accept(miniaodFilterIndex_[5]);
1622  }
1623  if(miniaodFilterIndex_[6]!=-1){
1624  filter_decisions[6] = metFilterResults->accept(miniaodFilterIndex_[6]);
1625  }
1626  if(miniaodFilterIndex_[7]!=-1){
1627  filter_decisions[7] = metFilterResults->accept(miniaodFilterIndex_[7]);
1628  }
1629  }
1630  }
1631  }
1632  bool HBHENoiseFilterResultFlag=filter_decisions[0];//setup for RECO and MINIAOD
1633  // ==========================================================
1634  // HCAL Noise filter
1635  bool bHBHENoiseFilter = HBHENoiseFilterResultFlag;
1636 
1637  // DCS Filter
1638  bool bDCSFilter = (bypassAllDCSChecks_ || DCSFilter_->filter(iEvent, iSetup));
1639  // ==========================================================
1640  // Reconstructed MET Information - fill MonitorElements
1641  std::string DirName_old=DirName;
1642  for (std::vector<std::string>::const_iterator ic = folderNames_.begin();
1643  ic != folderNames_.end(); ic++){
1644  bool pass_selection = false;
1645  if ((*ic=="Uncleaned") &&(isCaloMet_ || bPrimaryVertex)){
1646  fillMESet(iEvent, DirName_old+"/"+*ic, *met,*patmet, *pfmet,*calomet,zCand, map_dijet_MEs,trigger_flag,filter_decisions);
1647  pass_selection =true;
1648  }
1649  //take two lines out for first check
1650  if ((*ic=="Cleaned") && bDCSFilter && bHBHENoiseFilter && bPrimaryVertex && bJetID){
1651  fillMESet(iEvent, DirName_old+"/"+*ic, *met,*patmet,*pfmet,*calomet,zCand,map_dijet_MEs,trigger_flag,filter_decisions);
1652  pass_selection=true;
1653  }
1654  if ((*ic=="DiJet" ) &&bDCSFilter&&bHBHENoiseFilter&& bPrimaryVertex&& bDiJetID){
1655  fillMESet(iEvent, DirName_old+"/"+*ic, *met,*patmet,*pfmet,*calomet,zCand,map_dijet_MEs,trigger_flag,filter_decisions);
1656  pass_selection=true;
1657  }
1658  if ((*ic=="ZJets" ) &&bDCSFilter&&bHBHENoiseFilter&& bPrimaryVertex&& bZJets){
1659  fillMESet(iEvent, DirName_old+"/"+*ic, *met,*patmet,*pfmet,*calomet,zCand,map_dijet_MEs,trigger_flag,filter_decisions);
1660  pass_selection=true;
1661  }
1662  if(pass_selection && isPFMet_){
1663  DirName=DirName_old+"/"+*ic;
1664  }
1665 
1666  }
1667 }
#define LogDebug(id)
edm::EDGetTokenT< reco::CaloMETCollection > caloMetToken_
Definition: METAnalyzer.h:184
Analysis-level MET class.
Definition: MET.h:43
std::map< std::string, MonitorElement * > map_dijet_MEs
Definition: METAnalyzer.h:591
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken_
Definition: METAnalyzer.h:152
std::vector< int > allTriggerDecisions_
Definition: METAnalyzer.h:206
bool bypassAllDCSChecks_
Definition: METAnalyzer.h:258
edm::EDGetTokenT< bool > CSCHalo2015ResultToken_
Definition: METAnalyzer.h:172
const TechnicalTriggerWord & technicalTriggerWord(int bxInEventValue) const
edm::EDGetTokenT< edm::TriggerResults > METFilterMiniAODToken2_
Definition: METAnalyzer.h:160
std::vector< int > triggerFolderDecisions_
Definition: METAnalyzer.h:217
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
double ptThreshold_
Definition: METAnalyzer.h:196
TObject * getRootObject() const
bool runcosmics_
Definition: METAnalyzer.h:259
bool isCaloMet_
Definition: METAnalyzer.h:593
bool accept() const
Has at least one path accepted the event?
edm::EDGetTokenT< bool > EcalDeadCellTriggerToken_
Definition: METAnalyzer.h:174
edm::EDGetTokenT< reco::PFMETCollection > pfMetToken_
Definition: METAnalyzer.h:183
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:63
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
edm::EDGetTokenT< bool > eeBadScFilterToken_
Definition: METAnalyzer.h:176
double correction(const LorentzVector &fJet) const
get correction using Jet information only
Definition: JetCorrector.h:49
std::string FolderName_
Definition: METAnalyzer.h:142
std::vector< GenericTriggerEventFlag * > triggerFolderEventFlag_
Definition: METAnalyzer.h:214
Jet ID object.
Definition: JetID.h:16
edm::EDGetTokenT< reco::JetCorrector > jetCorrectorToken_
Definition: METAnalyzer.h:211
void Fill(long long x)
std::vector< int > miniaodFilterIndex_
Definition: METAnalyzer.h:162
MonitorElement * lumisecME
Definition: METAnalyzer.h:300
edm::EDGetTokenT< std::vector< reco::Vertex > > vertexToken_
Definition: METAnalyzer.h:150
bool fill_met_high_level_histo
Definition: METAnalyzer.h:597
edm::EDGetTokenT< bool > hbheIsoNoiseFilterResultToken_
Definition: METAnalyzer.h:168
edm::InputTag metCollectionLabel_
Definition: METAnalyzer.h:144
Definition: MET.h:42
edm::EDGetTokenT< bool > hbheNoiseFilterResultToken_
Definition: METAnalyzer.h:166
std::vector< std::string > folderNames_
Definition: METAnalyzer.h:288
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
static std::string const triggerResults
Definition: EdmProvDump.cc:41
edm::EDGetTokenT< edm::TriggerResults > METFilterMiniAODToken_
Definition: METAnalyzer.h:158
bool isValid() const
Definition: HandleBase.h:74
std::vector< std::string > allTriggerNames_
Definition: METAnalyzer.h:205
bool filter(const edm::Event &evt, const edm::EventSetup &es)
#define LogTrace(id)
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken_
Definition: METAnalyzer.h:201
edm::EDGetTokenT< bool > HcalStripHaloToken_
Definition: METAnalyzer.h:180
edm::EDGetTokenT< reco::PFJetCollection > pfJetsToken_
Definition: METAnalyzer.h:153
edm::EDGetTokenT< bool > CSCHaloResultToken_
Definition: METAnalyzer.h:170
edm::EDGetTokenT< bool > EcalDeadCellBoundaryToken_
Definition: METAnalyzer.h:178
JetMETDQMDCSFilter * DCSFilter_
Definition: METAnalyzer.h:286
T const * product() const
Definition: Handle.h:81
PFJetIDSelectionFunctor pfjetIDFunctorLoose
Definition: METAnalyzer.h:190
met
===> hadronic RAZOR
void fillMESet(const edm::Event &, std::string, const reco::MET &, const pat::MET &, const reco::PFMET &, const reco::CaloMET &, const reco::Candidate::PolarLorentzVector &, std::map< std::string, MonitorElement * > &, std::vector< bool >, std::vector< bool >)
edm::EDGetTokenT< pat::METCollection > patMetToken_
Definition: METAnalyzer.h:182
std::string const & label() const
Definition: InputTag.h:36
pat::strbitset getBitTemplate() const
Get an empty bitset with the proper names.
Definition: Selector.h:212
edm::EDGetTokenT< reco::MuonCollection > MuonsToken_
Definition: METAnalyzer.h:155
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > gtToken_
Definition: METAnalyzer.h:151
static int position[264][3]
Definition: ReadPGInfo.cc:509
pfIsolationR04
Definition: muons_cfi.py:31
bool bypassAllPVChecks_
Definition: METAnalyzer.h:257
edm::EDGetTokenT< edm::ValueMap< reco::JetID > > jetID_ValueMapToken_
Definition: METAnalyzer.h:187
JetIDSelectionFunctor jetIDFunctorLoose
Definition: METAnalyzer.h:189
edm::EDGetTokenT< pat::JetCollection > patJetsToken_
Definition: METAnalyzer.h:154
bool isMiniAODMet_
Definition: METAnalyzer.h:595
int m_bitAlgTechTrig_
Definition: METAnalyzer.h:194
math::PtEtaPhiMLorentzVector PolarLorentzVector
Lorentz vector.
Definition: Candidate.h:39
void METAnalyzer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
overridevirtual

Inizialize parameters for histo binning.

Implements DQMEDAnalyzer.

Definition at line 193 of file METAnalyzer.cc.

References cmsPerfPublish::DirName, DQMStore::IBooker::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

195  {
197  ibooker.setCurrentFolder(DirName);
198 
199  if(!folderNames_.empty()){
200  folderNames_.clear();
201  }
202  if(runcosmics_){
203  folderNames_.push_back("Uncleaned");
204  }else{
205  if(!onlyCleaned_){
206  folderNames_.push_back("Uncleaned");
207  }
208  folderNames_.push_back("Cleaned");
209  folderNames_.push_back("DiJet");
210  if(!isMiniAODMet_){
211  folderNames_.push_back("ZJets");
212  }
213  }
214  for (std::vector<std::string>::const_iterator ic = folderNames_.begin();
215  ic != folderNames_.end(); ic++){
216  bookMESet(DirName+"/"+*ic, ibooker,map_dijet_MEs);
217  }
218 }
std::map< std::string, MonitorElement * > map_dijet_MEs
Definition: METAnalyzer.h:591
bool runcosmics_
Definition: METAnalyzer.h:259
bool onlyCleaned_
Definition: METAnalyzer.h:260
std::string FolderName_
Definition: METAnalyzer.h:142
edm::InputTag metCollectionLabel_
Definition: METAnalyzer.h:144
void bookMESet(std::string, DQMStore::IBooker &, std::map< std::string, MonitorElement * > &)
Definition: METAnalyzer.cc:222
std::vector< std::string > folderNames_
Definition: METAnalyzer.h:288
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
std::string const & label() const
Definition: InputTag.h:36
bool isMiniAODMet_
Definition: METAnalyzer.h:595
void METAnalyzer::bookMESet ( std::string  DirName,
DQMStore::IBooker ibooker,
std::map< std::string, MonitorElement * > &  map_of_MEs 
)
private

Definition at line 222 of file METAnalyzer.cc.

223 {
224  bool bLumiSecPlot=fill_met_high_level_histo;
225  //bool inTriggerPathPlots=false;
226  bool fillPFCandidatePlots=false;
227  bool fillZPlots=false;
228 
229  if (DirName.find("Cleaned")!=std::string::npos) {
230  fillPFCandidatePlots=true;
231  bookMonitorElement(DirName,ibooker,map_of_MEs,bLumiSecPlot,fillPFCandidatePlots,fillZPlots);
232  //for (unsigned int i = 0; i<triggerFolderEventFlag_.size(); i++) {
233  //fillPFCandidatePlots=false;
234  //if (triggerFolderEventFlag_[i]->on()) {
235  //bookMonitorElement(DirName+"/"+triggerFolderLabels_[i],ibooker,map_of_MEs,bLumiSecPlot,fillPFCandidatePlots,fillZPlots);
236  //}
237  //}
238  }else if (DirName.find("ZJets")!=std::string::npos) {
239  fillPFCandidatePlots=false;
240  fillZPlots=true;
241  bookMonitorElement(DirName,ibooker,map_of_MEs,bLumiSecPlot,fillPFCandidatePlots,fillZPlots);
242  }else{
243  bookMonitorElement(DirName,ibooker,map_of_MEs,bLumiSecPlot,fillPFCandidatePlots,fillZPlots);
244  }
245 }
bool fill_met_high_level_histo
Definition: METAnalyzer.h:597
void bookMonitorElement(std::string, DQMStore::IBooker &, std::map< std::string, MonitorElement * > &, bool, bool, bool)
Definition: METAnalyzer.cc:248
void METAnalyzer::bookMonitorElement ( std::string  DirName,
DQMStore::IBooker ibooker,
std::map< std::string, MonitorElement * > &  map_of_MEs,
bool  bLumiSecPlot = false,
bool  fillPFCandPlots = false,
bool  fillZPlots = false 
)
private

Definition at line 248 of file METAnalyzer.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookProfile(), gather_cfg::cout, mps_fire::i, M_PI, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and findQualityFiles::v.

249 {
250  if (verbose_) std::cout << "bookMonitorElement " << DirName << std::endl;
251 
252  ibooker.setCurrentFolder(DirName);
253  if(fillZPlots){
254  if(isCaloMet_){
255  meZJets_u_par = ibooker.book1D("u_parallel_Z_inc", "u_parallel_Z_inc", 50, -1000., 75);
256  }else{
257  meZJets_u_par = ibooker.book1D("u_parallel_Z_inc", "u_parallel_Z_inc", 50, -800., 75);
258  }
259  meZJets_u_par_ZPt_0_15 = ibooker.book1D("u_parallel_ZPt_0_15", "u_parallel_ZPt_0_15", 50, -100, 75);
260  meZJets_u_par_ZPt_15_30 = ibooker.book1D("u_parallel_ZPt_15_30", "u_parallel_ZPt_15_30", 50, -100, 50);
261  meZJets_u_par_ZPt_30_55 = ibooker.book1D("u_parallel_ZPt_30_55", "u_parallel_ZPt_30_55", 50, -175, 50);
262  meZJets_u_par_ZPt_55_75 = ibooker.book1D("u_parallel_ZPt_55_75", "u_parallel_ZPt_55_75", 50, -175, 0);
263  meZJets_u_par_ZPt_75_150 = ibooker.book1D("u_parallel_ZPt_75_150", "u_parallel_ZPt_75_150", 50, -300, 0);
264  if(isCaloMet_){
265  meZJets_u_par_ZPt_150_290 = ibooker.book1D("u_parallel_ZPt_150_290", "u_parallel_ZPt_150_290", 50, -750, -100);
266  }else{
267  meZJets_u_par_ZPt_150_290 = ibooker.book1D("u_parallel_ZPt_150_290", "u_parallel_ZPt_150_290", 50, -450, -50);
268  }
269  if(isCaloMet_){
270  meZJets_u_par_ZPt_290 = ibooker.book1D("u_parallel_ZPt_290", "u_parallel_ZPt_290", 50, -1000., -350.);
271  }else{
272  meZJets_u_par_ZPt_290 = ibooker.book1D("u_parallel_ZPt_290", "u_parallel_ZPt_290", 50, -750., -150.);
273  }
274  meZJets_u_perp = ibooker.book1D("u_perp_Z_inc", "u_perp_Z_inc", 50, -85., 85.);
275  meZJets_u_perp_ZPt_0_15 = ibooker.book1D("u_perp_ZPt_0_15", "u_perp_ZPt_0_15", 50, -85., 85.);
276  meZJets_u_perp_ZPt_15_30 = ibooker.book1D("u_perp_ZPt_15_30", "u_perp_ZPt_15_30", 50, -85., 85.);
277  meZJets_u_perp_ZPt_30_55 = ibooker.book1D("u_perp_ZPt_30_55", "u_perp_ZPt_30_55", 50, -85., 85.);
278  meZJets_u_perp_ZPt_55_75 = ibooker.book1D("u_perp_ZPt_55_75", "u_perp_ZPt_55_75", 50, -85., 85.);
279  meZJets_u_perp_ZPt_75_150 = ibooker.book1D("u_perp_ZPt_75_150", "u_perp_ZPt_75_150", 50, -85., 85.);
280  meZJets_u_perp_ZPt_150_290 = ibooker.book1D("u_perp_ZPt_150_290", "u_perp_ZPt_150_290", 50, -85., 85.);
281  meZJets_u_perp_ZPt_290 = ibooker.book1D("u_perp_ZPt_290", "u_perp_ZPt_290", 50, -85., 85.);
282 
283  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_parallel_Z_inc",meZJets_u_par));
284  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_parallel_ZPt_0_15",meZJets_u_par_ZPt_0_15));
285  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_parallel_ZPt_15_30",meZJets_u_par_ZPt_15_30));
286  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_parallel_ZPt_30_55",meZJets_u_par_ZPt_30_55));
287  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_parallel_ZPt_55_75",meZJets_u_par_ZPt_55_75));
288  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_parallel_ZPt_75_150",meZJets_u_par_ZPt_75_150));
289  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_parallel_ZPt_150_290",meZJets_u_par_ZPt_150_290));
290  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_parallel_ZPt_290",meZJets_u_par_ZPt_290));
291 
292  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_perp_Z_inc",meZJets_u_perp));
293  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_perp_ZPt_0_15",meZJets_u_perp_ZPt_0_15));
294  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_perp_ZPt_15_30",meZJets_u_perp_ZPt_15_30));
295  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_perp_ZPt_30_55",meZJets_u_perp_ZPt_30_55));
296  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_perp_ZPt_55_75",meZJets_u_perp_ZPt_55_75));
297  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_perp_ZPt_75_150",meZJets_u_perp_ZPt_75_150));
298  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_perp_ZPt_150_290",meZJets_u_perp_ZPt_150_290));
299  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"u_perp_ZPt_290",meZJets_u_perp_ZPt_290));
300  }
301 
302  if(!fillZPlots){
303  hTrigger = ibooker.book1D("triggerResults", "triggerResults", 500, 0, 500);
304  for (unsigned int i = 0; i<allTriggerNames_.size();i++){
305  if(i<(unsigned int)hTrigger->getNbinsX()){
306  if (!hTriggerLabelsIsSet_) {
308  }
309  }
310  }
311  if (!hTriggerLabelsIsSet_) for (int i = allTriggerNames_.size(); i<hTrigger->getNbinsX();i++){
312  hTrigger->setBinLabel(i+1, "");
313  }
314  hTriggerLabelsIsSet_ = true;
315 
316  hMEx = ibooker.book1D("MEx", "MEx", 200, -500, 500);
317  hMEy = ibooker.book1D("MEy", "MEy", 200, -500, 500);
318  hMET = ibooker.book1D("MET", "MET", 200, 0, 1000);
319  hMET_2 = ibooker.book1D("MET_2", "MET Range 2",200, 0, 2000);
320  hSumET = ibooker.book1D("SumET", "SumET", 400, 0, 4000);
321  hMETSig = ibooker.book1D("METSig", "METSig", 51, 0, 51);
322  hMETPhi = ibooker.book1D("METPhi", "METPhi", 60, -M_PI, M_PI);
323  hMET_logx = ibooker.book1D("MET_logx", "MET_logx", 40, -1, 9);
324  hSumET_logx = ibooker.book1D("SumET_logx", "SumET_logx", 40, -1, 9);
325 
326  hMEx ->setAxisTitle("MEx [GeV]", 1);
327  hMEy ->setAxisTitle("MEy [GeV]", 1);
328  hMET ->setAxisTitle("MET [GeV]", 1);
329  hMET_2 ->setAxisTitle("MET [GeV]", 1);
330  hSumET ->setAxisTitle("SumET [GeV]", 1);
331  hMETSig ->setAxisTitle("METSig", 1);
332  hMETPhi ->setAxisTitle("METPhi [rad]", 1);
333  hMET_logx ->setAxisTitle("log(MET) [GeV]", 1);
334  hSumET_logx->setAxisTitle("log(SumET) [GeV]", 1);
335 
336  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"triggerResults",hTrigger));
337  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MEx",hMEx));
338  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MEy",hMEy));
339  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET",hMET));
340  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_2",hMET_2));
341  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"SumET",hSumET));
342  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METSig",hMETSig));
343  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhi",hMETPhi));
344  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_logx",hMET_logx));
345  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"SumET_logx",hSumET_logx));
346 
347  hMET_HBHENoiseFilter = ibooker.book1D("MET_HBHENoiseFilter", "MET_HBHENoiseFiltered", 200, 0, 1000);
348  hMET_CSCTightHaloFilter = ibooker.book1D("MET_CSCTightHaloFilter", "MET_CSCTightHaloFiltered", 200, 0, 1000);
349  hMET_eeBadScFilter = ibooker.book1D("MET_eeBadScFilter", "MET_eeBadScFiltered", 200, 0, 1000);
350  hMET_HBHEIsoNoiseFilter = ibooker.book1D("MET_HBHEIsoNoiseFilter", "MET_HBHEIsoNoiseFiltered", 200, 0, 1000);
351  hMET_CSCTightHalo2015Filter = ibooker.book1D("MET_CSCTightHalo2015Filter", "MET_CSCTightHalo2015Filtered", 200, 0, 1000);
352  hMET_EcalDeadCellTriggerFilter = ibooker.book1D("MET_EcalDeadCellTriggerFilter", "MET_EcalDeadCellTriggerFiltered", 200, 0, 1000);
353  hMET_EcalDeadCellBoundaryFilter = ibooker.book1D("MET_EcalDeadCellBoundaryFilter", "MET_EcalDeadCellBoundaryFiltered", 200, 0, 1000);
354  hMET_HcalStripHaloFilter = ibooker.book1D("MET_HcalStripHaloFilter", "MET_HcalStripHaloFiltered", 200, 0, 1000);
355 
356  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_HBHENoiseFilter",hMET_HBHENoiseFilter));
357  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_CSCTightHaloFilter",hMET_CSCTightHaloFilter));
358  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_eeBadScFilter",hMET_eeBadScFilter));
359  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_HBHEIsoNoiseFilter",hMET_HBHEIsoNoiseFilter));
360  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_CSCTightHalo2015Filter",hMET_CSCTightHalo2015Filter));
361  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_EcalDeadCellTriggerFilter",hMET_EcalDeadCellTriggerFilter));
362  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_EcalDeadCellBoundaryFilter",hMET_EcalDeadCellBoundaryFilter));
363  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_HcalStripHaloFilter",hMET_HcalStripHaloFilter));
364 
365 
366  // Book NPV profiles --> would some of these profiles be interesting for other MET types too
367  //----------------------------------------------------------------------------
368  meMEx_profile = ibooker.bookProfile("MEx_profile", "met.px()", nbinsPV_, nPVMin_, nPVMax_, 200, -500, 500);
369  meMEy_profile = ibooker.bookProfile("MEy_profile", "met.py()", nbinsPV_, nPVMin_, nPVMax_, 200, -500, 500);
370  meMET_profile = ibooker.bookProfile("MET_profile", "met.pt()", nbinsPV_, nPVMin_, nPVMax_, 200, 0, 1000);
371  meSumET_profile = ibooker.bookProfile("SumET_profile", "met.sumEt()", nbinsPV_, nPVMin_, nPVMax_, 400, 0, 4000);
372  // Set NPV profiles x-axis title
373  //----------------------------------------------------------------------------
374  meMEx_profile ->setAxisTitle("nvtx", 1);
375  meMEy_profile ->setAxisTitle("nvtx", 1);
376  meMET_profile ->setAxisTitle("nvtx", 1);
377  meSumET_profile->setAxisTitle("nvtx", 1);
378 
379  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MEx_profile",meMEx_profile));
380  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MEy_profile",meMEy_profile));
381  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_profile",meMET_profile));
382  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"SumET_profile",meSumET_profile));
383 
384 
385  if(isCaloMet_){
386  hCaloHadEtInHB = ibooker.book1D("CaloHadEtInHB","CaloHadEtInHB",50,0,2000);
387  hCaloHadEtInHB->setAxisTitle("Had Et [GeV]",1);
388  hCaloHadEtInHO = ibooker.book1D("CaloHadEtInHO","CaloHadEtInHO",25,0,500);
389  hCaloHadEtInHO->setAxisTitle("Had Et [GeV]",1);
390  hCaloHadEtInHE = ibooker.book1D("CaloHadEtInHE","CaloHadEtInHE",50,0,2000);
391  hCaloHadEtInHE->setAxisTitle("Had Et [GeV]",1);
392  hCaloHadEtInHF = ibooker.book1D("CaloHadEtInHF","CaloHadEtInHF",50,0,1000);
393  hCaloHadEtInHF->setAxisTitle("Had Et [GeV]",1);
394  hCaloEmEtInHF = ibooker.book1D("CaloEmEtInHF" ,"CaloEmEtInHF" ,25,0,500);
395  hCaloEmEtInHF->setAxisTitle("EM Et [GeV]",1);
396  hCaloEmEtInEE = ibooker.book1D("CaloEmEtInEE" ,"CaloEmEtInEE" ,50,0,1000);
397  hCaloEmEtInEE->setAxisTitle("EM Et [GeV]",1);
398  hCaloEmEtInEB = ibooker.book1D("CaloEmEtInEB" ,"CaloEmEtInEB" ,50,0,2000);
399  hCaloEmEtInEB->setAxisTitle("EM Et [GeV]",1);
400 
401  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloHadEtInHO",hCaloHadEtInHO));
402  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloHadEtInHF",hCaloHadEtInHF));
403  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloHadEtInHE",hCaloHadEtInHE));
404  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloHadEtInHB",hCaloHadEtInHB));
405  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloEmEtInHF",hCaloEmEtInHF));
406  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloEmEtInEE",hCaloEmEtInEE));
407  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloEmEtInEB",hCaloEmEtInEB));
408 
409  hCaloMETPhi020 = ibooker.book1D("CaloMETPhi020", "CaloMETPhi020", 60, -M_PI, M_PI);
410  hCaloMETPhi020 ->setAxisTitle("METPhi [rad] (MET>20 GeV)", 1);
411 
412  hCaloEtFractionHadronic = ibooker.book1D("CaloEtFractionHadronic","CaloEtFractionHadronic",50,0,1);
413  hCaloEtFractionHadronic->setAxisTitle("Hadronic Et Fraction",1);
414  hCaloEmEtFraction = ibooker.book1D("CaloEmEtFraction", "CaloEmEtFraction" ,50,0,1);
415  hCaloEmEtFraction->setAxisTitle("EM Et Fraction",1);
416 
417  hCaloEmEtFraction020 = ibooker.book1D("CaloEmEtFraction020", "CaloEmEtFraction020" ,50,0,1);
418  hCaloEmEtFraction020->setAxisTitle("EM Et Fraction (MET>20 GeV)",1);
419 
420 
421  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloMETPhi020",hCaloMETPhi020));
422  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloEtFractionHadronic",hCaloEtFractionHadronic));
423  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloEmEtFraction", hCaloEmEtFraction));
424  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"CaloEmEtFraction020",hCaloEmEtFraction020));
425 
426  }
427 
428  if(isPFMet_){
429  if(fillPFCandPlots && fillCandidateMap_histos){//first bool internal checks for subdirectory filling, second bool given in cfg file, checks that we fill maps only in one module in total
430 
431  meCHF_Barrel = ibooker.book1D("PfChargedHadronEtFractionBarrel", "chargedHadronEtFractionBarrel", 50, 0, 1);
432  meCHF_EndcapPlus = ibooker.book1D("PfChargedHadronEtFractionEndcapPlus", "chargedHadronEtFractionEndcapPlus", 50, 0, 1);
433  meCHF_EndcapMinus = ibooker.book1D("PfChargedHadronEtFractionEndcapMinus", "chargedHadronEtFractionEndcapMinus", 50, 0, 1);
434  meCHF_Barrel_BXm1Empty = ibooker.book1D("PfChargedHadronEtFractionBarrel_BXm1Empty", "chargedHadronEtFractionBarrel prev empty bunch", 50, 0, 1);
435  meCHF_EndcapPlus_BXm1Empty = ibooker.book1D("PfChargedHadronEtFractionEndcapPlus_BXm1Empty", "chargedHadronEtFractionEndcapPlus prev empty bunch", 50, 0, 1);
436  meCHF_EndcapMinus_BXm1Empty = ibooker.book1D("PfChargedHadronEtFractionEndcapMinus_BXm1Empty", "chargedHadronEtFractionEndcapMinus prev empty bunch", 50, 0, 1);
437  meCHF_Barrel_BXm1Filled = ibooker.book1D("PfChargedHadronEtFractionBarrel_BXm1Filled", "chargedHadronEtFractionBarrel prev filled 2 bunches", 50, 0, 1);
438  meCHF_EndcapPlus_BXm1Filled = ibooker.book1D("PfChargedHadronEtFractionEndcapPlus_BXm1Filled", "chargedHadronEtFractionEndcapPlus prev filled bunch", 50, 0, 1);
439  meCHF_EndcapMinus_BXm1Filled = ibooker.book1D("PfChargedHadronEtFractionEndcapMinus_BXm1Filled", "chargedHadronEtFractionEndcapMinus prev filled bunch", 50, 0, 1);
440 
441  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionBarrel", meCHF_Barrel));
442  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionEndcapPlus", meCHF_EndcapPlus));
443  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionEndcapMinus", meCHF_EndcapMinus));
444  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionBarrel_BXm1Empty", meCHF_Barrel_BXm1Empty));
445  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionEndcapPlus_BXm1Empty", meCHF_EndcapPlus_BXm1Empty));
446  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionEndcapMinus_BXm1Empty", meCHF_EndcapMinus_BXm1Empty));
447  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionBarrel_BXm2BXm1Empty", meCHF_Barrel_BXm2BXm1Empty));
448  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionEndcapPlus_BXm2BXm1Empty", meCHF_EndcapPlus_BXm2BXm1Empty));
449  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionEndcapMinus_BXm2BXm1Empty", meCHF_EndcapMinus_BXm2BXm1Empty));
450  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionBarrel_BXm1Filled", meCHF_Barrel_BXm1Filled));
451  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionEndcapPlus_BXm1Filled", meCHF_EndcapPlus_BXm1Filled));
452  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionEndcapMinus_BXm1Filled", meCHF_EndcapMinus_BXm1Filled));
453  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionBarrel_BXm2BXm1Filled", meCHF_Barrel_BXm2BXm1Filled));
454  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionEndcapPlus_BXm2BXm1Filled", meCHF_EndcapPlus_BXm2BXm1Filled));
455  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFractionEndcapMinus_BXm2BXm1Filled", meCHF_EndcapMinus_BXm2BXm1Filled));
456 
457  meNHF_Barrel = ibooker.book1D("PfNeutralHadronEtFractionBarrel", "neutralHadronEtFractionBarrel", 50, 0, 1);
458  meNHF_EndcapPlus = ibooker.book1D("PfNeutralHadronEtFractionEndcapPlus", "neutralHadronEtFractionEndcapPlus", 50, 0, 1);
459  meNHF_EndcapMinus = ibooker.book1D("PfNeutralHadronEtFractionEndcapMinus", "neutralHadronEtFractionEndcapMinus", 50, 0, 1);
460  meNHF_Barrel_BXm1Empty = ibooker.book1D("PfNeutralHadronEtFractionBarrel_BXm1Empty", "neutralHadronEtFractionBarrel prev empty bunch", 50, 0, 1);
461  meNHF_EndcapPlus_BXm1Empty = ibooker.book1D("PfNeutralHadronEtFractionEndcapPlus_BXm1Empty", "neutralHadronEtFractionEndcapPlus prev empty bunch", 50, 0, 1);
462  meNHF_EndcapMinus_BXm1Empty = ibooker.book1D("PfNeutralHadronEtFractionEndcapMinus_BXm1Empty", "neutralHadronEtFractionEndcapMinus prev empty bunch", 50, 0, 1);
463  //meNHF_Barrel_BXm2BXm1Empty = ibooker.book1D("PfNeutralHadronEtFractionBarrel_BXm2BXm1Empty", "neutralHadronEtFractionBarrel prev empty 2 bunches", 50, 0, 1);
464  //meNHF_EndcapPlus_BXm2BXm1Empty = ibooker.book1D("PfNeutralHadronEtFractionEndcapPlus_BXm2BXm1Empty", "neutralHadronEtFractionEndcapPlus prev empty 2 bunches", 50, 0, 1);
465  //meNHF_EndcapMinus_BXm2BXm1Empty = ibooker.book1D("PfNeutralHadronEtFractionEndcapMinus_BXm2BXm1Empty", "neutralHadronEtFractionEndcapMinus prev empty 2 bunches", 50, 0, 1);
466  meNHF_Barrel_BXm1Filled = ibooker.book1D("PfNeutralHadronEtFractionBarrel_BXm1Filled", "neutralHadronEtFractionBarrel prev filled 2 bunches", 50, 0, 1);
467  meNHF_EndcapPlus_BXm1Filled = ibooker.book1D("PfNeutralHadronEtFractionEndcapPlus_BXm1Filled", "neutralHadronEtFractionEndcapPlus prev filled bunch", 50, 0, 1);
468  meNHF_EndcapMinus_BXm1Filled = ibooker.book1D("PfNeutralHadronEtFractionEndcapMinus_BXm1Filled", "neutralHadronEtFractionEndcapMinus prev filled bunch", 50, 0, 1);
469  //meNHF_Barrel_BXm2BXm1Filled = ibooker.book1D("PfNeutralHadronEtFractionBarrel_BXm2BXm1Filled", "neutralHadronEtFractionBarrel prev filled 2 bunches", 50, 0, 1);
470  //meNHF_EndcapPlus_BXm2BXm1Filled = ibooker.book1D("PfNeutralHadronEtFractionEndcapPlus_BXm2BXm1Filled", "neutralHadronEtFractionEndcapPlus prev filled 2 bunches", 50, 0, 1);
471  //meNHF_EndcapMinus_BXm2BXm1Filled = ibooker.book1D("PfNeutralHadronEtFractionEndcapMinus_BXm2BXm1Filled", "neutralHadronEtFractionEndcapMinus prev filled 2 bunches", 50, 0, 1);
472 
473  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionBarrel", meNHF_Barrel));
474  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionEndcapPlus", meNHF_EndcapPlus));
475  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionEndcapMinus", meNHF_EndcapMinus));
476  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionBarrel_BXm1Empty", meNHF_Barrel_BXm1Empty));
477  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionEndcapPlus_BXm1Empty", meNHF_EndcapPlus_BXm1Empty));
478  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionEndcapMinus_BXm1Empty", meNHF_EndcapMinus_BXm1Empty));
479  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionBarrel_BXm2BXm1Empty", meNHF_Barrel_BXm2BXm1Empty));
480  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionEndcapPlus_BXm2BXm1Empty", meNHF_EndcapPlus_BXm2BXm1Empty));
481  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionEndcapMinus_BXm2BXm1Empty", meNHF_EndcapMinus_BXm2BXm1Empty));
482  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionBarrel_BXm1Filled", meNHF_Barrel_BXm1Filled));
483  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionEndcapPlus_BXm1Filled", meNHF_EndcapPlus_BXm1Filled));
484  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionEndcapMinus_BXm1Filled", meNHF_EndcapMinus_BXm1Filled));
485  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionBarrel_BXm2BXm1Filled", meNHF_Barrel_BXm2BXm1Filled));
486  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionEndcapPlus_BXm2BXm1Filled", meNHF_EndcapPlus_BXm2BXm1Filled));
487  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFractionEndcapMinus_BXm2BXm1Filled", meNHF_EndcapMinus_BXm2BXm1Filled));
488 
489  mePhF_Barrel = ibooker.book1D("PfPhotonEtFractionBarrel", "photonEtFractionBarrel", 50, 0, 1);
490  mePhF_EndcapPlus = ibooker.book1D("PfPhotonEtFractionEndcapPlus", "photonEtFractionEndcapPlus", 50, 0, 1);
491  mePhF_EndcapMinus = ibooker.book1D("PfPhotonEtFractionEndcapMinus", "photonEtFractionEndcapMinus", 50, 0, 1);
492  mePhF_Barrel_BXm1Empty = ibooker.book1D("PfPhotonEtFractionBarrel_BXm1Empty", "photonEtFractionBarrel prev empty bunch", 50, 0, 1);
493  mePhF_EndcapPlus_BXm1Empty = ibooker.book1D("PfPhotonEtFractionEndcapPlus_BXm1Empty", "photonEtFractionEndcapPlus prev empty bunch", 50, 0, 1);
494  mePhF_EndcapMinus_BXm1Empty = ibooker.book1D("PfPhotonEtFractionEndcapMinus_BXm1Empty", "photonEtFractionEndcapMinus prev empty bunch", 50, 0, 1);
495  //mePhF_Barrel_BXm2BXm1Empty = ibooker.book1D("PfPhotonEtFractionBarrel_BXm2BXm1Empty", "photonEtFractionBarrel prev empty 2 bunches", 50, 0, 1);
496  //mePhF_EndcapPlus_BXm2BXm1Empty = ibooker.book1D("PfPhotonEtFractionEndcapPlus_BXm2BXm1Empty", "photonEtFractionEndcapPlus prev empty 2 bunches", 50, 0, 1);
497  //mePhF_EndcapMinus_BXm2BXm1Empty = ibooker.book1D("PfPhotonEtFractionEndcapMinus_BXm2BXm1Empty", "photonEtFractionEndcapMinus prev empty 2 bunches", 50, 0, 1);
498  mePhF_Barrel_BXm1Filled = ibooker.book1D("PfPhotonEtFractionBarrel_BXm1Filled", "photonEtFractionBarrel prev filled 2 bunches", 50, 0, 1);
499  mePhF_EndcapPlus_BXm1Filled = ibooker.book1D("PfPhotonEtFractionEndcapPlus_BXm1Filled", "photonEtFractionEndcapPlus prev filled bunch", 50, 0, 1);
500  mePhF_EndcapMinus_BXm1Filled = ibooker.book1D("PfPhotonEtFractionEndcapMinus_BXm1Filled", "photonEtFractionEndcapMinus prev filled bunch", 50, 0, 1);
501  //mePhF_Barrel_BXm2BXm1Filled = ibooker.book1D("PfPhotonEtFractionBarrel_BXm2BXm1Filled", "photonEtFractionBarrel prev filled 2 bunches", 50, 0, 1);
502  //mePhF_EndcapPlus_BXm2BXm1Filled = ibooker.book1D("PfPhotonEtFractionEndcapPlus_BXm2BXm1Filled", "photonEtFractionEndcapPlus prev filled 2 bunches", 50, 0, 1);
503  //mePhF_EndcapMinus_BXm2BXm1Filled = ibooker.book1D("PfPhotonEtFractionEndcapMinus_BXm2BXm1Filled", "photonEtFractionEndcapMinus prev filled 2 bunches", 50, 0, 1);
504 
505  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionBarrel", mePhF_Barrel));
506  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionEndcapPlus", mePhF_EndcapPlus));
507  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionEndcapMinus", mePhF_EndcapMinus));
508  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionBarrel_BXm1Empty", mePhF_Barrel_BXm1Empty));
509  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionEndcapPlus_BXm1Empty", mePhF_EndcapPlus_BXm1Empty));
510  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionEndcapMinus_BXm1Empty", mePhF_EndcapMinus_BXm1Empty));
511  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionBarrel_BXm2BXm1Empty", mePhF_Barrel_BXm2BXm1Empty));
512  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionEndcapPlus_BXm2BXm1Empty", mePhF_EndcapPlus_BXm2BXm1Empty));
513  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionEndcapMinus_BXm2BXm1Empty", mePhF_EndcapMinus_BXm2BXm1Empty));
514  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionBarrel_BXm1Filled", mePhF_Barrel_BXm1Filled));
515  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionEndcapPlus_BXm1Filled", mePhF_EndcapPlus_BXm1Filled));
516  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionEndcapMinus_BXm1Filled", mePhF_EndcapMinus_BXm1Filled));
517  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionBarrel_BXm2BXm1Filled", mePhF_Barrel_BXm2BXm1Filled));
518  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionEndcapPlus_BXm2BXm1Filled", mePhF_EndcapPlus_BXm2BXm1Filled));
519  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFractionEndcapMinus_BXm2BXm1Filled", mePhF_EndcapMinus_BXm2BXm1Filled));
520 
521  meHFHadF_Plus = ibooker.book1D("PfHFHadronEtFractionPlus", "HFHadronEtFractionPlus", 50, 0, 1);
522  meHFHadF_Minus = ibooker.book1D("PfHFHadronEtFractionMinus", "HFHadronEtFractionMinus", 50, 0, 1);
523  meHFHadF_Plus_BXm1Empty = ibooker.book1D("PfHFHadronEtFractionPlus_BXm1Empty", "HFHadronEtFractionPlus prev empty bunch", 50, 0, 1);
524  meHFHadF_Minus_BXm1Empty = ibooker.book1D("PfHFHadronEtFractionMinus_BXm1Empty", "HFHadronEtFractionMinus prev empty bunch", 50, 0, 1);
525  //meHFHadF_Plus_BXm2BXm1Empty = ibooker.book1D("PfHFHadronEtFractionPlus_BXm2BXm1Empty", "HFHadronEtFractionPlus prev empty 2 bunches", 50, 0, 1);
526  //meHFHadF_Minus_BXm2BXm1Empty = ibooker.book1D("PfHFHadronEtFractionMinus_BXm2BXm1Empty", "HFHadronEtFractionMinus prev empty 2 bunches", 50, 0, 1);
527  meHFHadF_Plus_BXm1Filled = ibooker.book1D("PfHFHadronEtFractionPlus_BXm1Filled", "HFHadronEtFractionPlus prev filled bunch", 50, 0, 1);
528  meHFHadF_Minus_BXm1Filled = ibooker.book1D("PfHFHadronEtFractionMinus_BXm1Filled", "HFHadronEtFractionMinus prev filled bunch", 50, 0, 1);
529  //meHFHadF_Plus_BXm2BXm1Filled = ibooker.book1D("PfHFHadronEtFractionPlus_BXm2BXm1Filled", "HFHadronEtFractionPlus prev filled 2 bunches", 50, 0, 1);
530  //meHFHadF_Minus_BXm2BXm1Filled = ibooker.book1D("PfHFHadronEtFractionMinus_BXm2BXm1Filled", "HFHadronEtFractionMinus prev filled 2 bunches", 50, 0, 1);
531 
532  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFractionPlus", meHFHadF_Plus));
533  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFractionMinus", meHFHadF_Minus));
534  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFractionPlus_BXm1Empty", meHFHadF_Plus_BXm1Empty));
535  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFractionMinus_BXm1Empty", meHFHadF_Minus_BXm1Empty));
536  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFractionPlus_BXm2BXm1Empty", meHFHadF_Plus_BXm2BXm1Empty));
537  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFractionMinus_BXm2BXm1Empty", meHFHadF_Minus_BXm2BXm1Empty));
538  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFractionPlus_BXm1Filled", meHFHadF_Plus_BXm1Filled));
539  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFractionMinus_BXm1Filled", meHFHadF_Minus_BXm1Filled));
540  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFractionPlus_BXm2BXm1Filled", meHFHadF_Plus_BXm2BXm1Filled));
541  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFractionMinus_BXm2BXm1Filled", meHFHadF_Minus_BXm2BXm1Filled));
542 
543  meHFEMF_Plus = ibooker.book1D("PfHFEMEtFractionPlus", "HFEMEtFractionPlus", 50, 0, 1);
544  meHFEMF_Minus = ibooker.book1D("PfHFEMEtFractionMinus", "HFEMEtFractionMinus", 50, 0, 1);
545  meHFEMF_Plus_BXm1Empty = ibooker.book1D("PfHFEMEtFractionPlus_BXm1Empty", "HFEMEtFractionPlus prev empty bunch", 50, 0, 1);
546  meHFEMF_Minus_BXm1Empty = ibooker.book1D("PfHFEMEtFractionMinus_BXm1Empty", "HFEMEtFractionMinus prev empty bunch", 50, 0, 1);
547  //meHFEMF_Plus_BXm2BXm1Empty = ibooker.book1D("PfHFEMEtFractionPlus_BXm2BXm1Empty", "HFEMEtFractionPlus prev empty 2 bunches", 50, 0, 1);
548  //meHFEMF_Minus_BXm2BXm1Empty = ibooker.book1D("PfHFEMEtFractionMinus_BXm2BXm1Empty", "HFEMEtFractionMinus prev empty 2 bunches", 50, 0, 1);
549  meHFEMF_Plus_BXm1Filled = ibooker.book1D("PfHFEMEtFractionPlus_BXm1Filled", "HFEMEtFractionPlus prev filled bunch", 50, 0, 1);
550  meHFEMF_Minus_BXm1Filled = ibooker.book1D("PfHFEMEtFractionMinus_BXm1Filled", "HFEMEtFractionMinus prev filled bunch", 50, 0, 1);
551  //meHFEMF_Plus_BXm2BXm1Filled = ibooker.book1D("PfHFEMEtFractionPlus_BXm2BXm1Filled", "HFEMEtFractionPlus prev filled 2 bunches", 50, 0, 1);
552  //meHFEMF_Minus_BXm2BXm1Filled = ibooker.book1D("PfHFEMEtFractionMinus_BXm2BXm1Filled", "HFEMEtFractionMinus prev filled 2 bunches", 50, 0, 1);
553 
554  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFractionPlus", meHFEMF_Plus));
555  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFractionMinus", meHFEMF_Minus));
556  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFractionPlus_BXm1Empty", meHFEMF_Plus_BXm1Empty));
557  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFractionMinus_BXm1Empty", meHFEMF_Minus_BXm1Empty));
558  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFractionPlus_BXm2BXm1Empty", meHFEMF_Plus_BXm2BXm1Empty));
559  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFractionMinus_BXm2BXm1Empty", meHFEMF_Minus_BXm2BXm1Empty));
560  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFractionPlus_BXm1Filled", meHFEMF_Plus_BXm1Filled));
561  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFractionMinus_BXm1Filled", meHFEMF_Minus_BXm1Filled));
562  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFractionPlus_BXm2BXm1Filled", meHFEMF_Plus_BXm2BXm1Filled));
563  //map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFractionMinus_BXm2BXm1Filled", meHFEMF_Minus_BXm2BXm1Filled));
564  /*
565  meMETPhiChargedHadronsBarrel_BXm2BXm1Filled = ibooker.book1D("METPhiChargedHadronsBarrel_BXm2BXm1Filled", "METPhi_PFChargedHadronsBarrel prev two bunches filled", 50, -M_PI,M_PI);
566  meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Filled = ibooker.book1D("METPhiChargedHadronsEndcapPlus_BXm2BXm1Filled", "METPhi_PFChargedHadronsEndcapPlus prev two bunches filled", 50, -M_PI,M_PI);
567  meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Filled = ibooker.book1D("METPhiChargedHadronsEndcapMinus_BXm2BXm1Filled","METPhi_PFChargedHadronsEndcapMinus prev two bunches filled", 50, -M_PI,M_PI);
568  meMETPhiNeutralHadronsBarrel_BXm2BXm1Filled = ibooker.book1D("METPhiNeutralHadronsBarrel_BXm2BXm1Filled", "METPhi_PFNeutralHadronsBarrel prev two bunches filled", 50, -M_PI,M_PI);
569  meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Filled = ibooker.book1D("METPhiNeutralHadronsEndcapPlus_BXm2BXm1Filled", "METPhi_PFNeutralHadronsEndcapPlus prev two bunches filled", 50, -M_PI,M_PI);
570  meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Filled = ibooker.book1D("METPhiNeutralHadronsEndcapMinus_BXm2BXm1Filled","METPhi_PFNeutralHadronsEndcapMinus prev two bunches filled", 50, -M_PI,M_PI);
571  meMETPhiPhotonsBarrel_BXm2BXm1Filled = ibooker.book1D("METPhiPhotonsBarrel_BXm2BXm1Filled", "METPhi_PFPhotonsBarrel prev two bunches filled", 50, -M_PI,M_PI);
572  meMETPhiPhotonsEndcapPlus_BXm2BXm1Filled = ibooker.book1D("METPhiPhotonsEndcapPlus_BXm2BXm1Filled", "METPhi_PFPhotonsEndcapPlus prev two bunches filled", 50, -M_PI,M_PI);
573  meMETPhiPhotonsEndcapMinus_BXm2BXm1Filled = ibooker.book1D("METPhiPhotonsEndcapMinus_BXm2BXm1Filled", "METPhi_PFPhotonsEndcapMinus prev two bunches filled", 50, -M_PI,M_PI);
574  meMETPhiHFHadronsPlus_BXm2BXm1Filled = ibooker.book1D("METPhiHFHadronsPlus_BXm2BXm1Filled", "METPhi_PFHFHadronsPlus prev two bunches filled", 50, -M_PI,M_PI);
575  meMETPhiHFHadronsMinus_BXm2BXm1Filled = ibooker.book1D("METPhiHFHadronsMinus_BXm2BXm1Filled", "METPhi_PFHFHadronsMinus prev two bunches filled", 50, -M_PI,M_PI);
576  meMETPhiHFEGammasPlus_BXm2BXm1Filled = ibooker.book1D("METPhiHFEGammasPlus_BXm2BXm1Filled", "METPhi_PFHFEGammasPlus prev two bunches filled", 50, -M_PI,M_PI);
577  meMETPhiHFEGammasMinus_BXm2BXm1Filled = ibooker.book1D("METPhiHFEGammasMinus_BXm2BXm1Filled", "METPhi_PFHFEGammasMinus prev two bunches filled", 50, -M_PI,M_PI);
578 
579  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsBarrel_BXm2BXm1Filled" ,meMETPhiChargedHadronsBarrel_BXm2BXm1Filled));
580  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsEndcapPlus_BXm2BXm1Filled" ,meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Filled));
581  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsEndcapMinus_BXm2BXm1Filled" ,meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Filled));
582  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsBarrel_BXm2BXm1Filled" ,meMETPhiNeutralHadronsBarrel_BXm2BXm1Filled));
583  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsEndcapPlus_BXm2BXm1Filled" ,meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Filled));
584  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsEndcapMinus_BXm2BXm1Filled" ,meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Filled));
585  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsBarrel_BXm2BXm1Filled" ,meMETPhiPhotonsBarrel_BXm2BXm1Filled));
586  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsEndcapPlus_BXm2BXm1Filled" ,meMETPhiPhotonsEndcapPlus_BXm2BXm1Filled));
587  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsEndcapMinus_BXm2BXm1Filled" ,meMETPhiPhotonsEndcapMinus_BXm2BXm1Filled));
588  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFHadronsPlus_BXm2BXm1Filled" ,meMETPhiHFHadronsPlus_BXm2BXm1Filled));
589  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFHadronsMinus_BXm2BXm1Filled" ,meMETPhiHFHadronsMinus_BXm2BXm1Filled));
590  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFEGammasPlus_BXm2BXm1Filled" ,meMETPhiHFEGammasPlus_BXm2BXm1Filled));
591  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFEGammasMinus_BXm2BXm1Filled" ,meMETPhiHFEGammasMinus_BXm2BXm1Filled));
592 
593  meMETPhiChargedHadronsBarrel_BXm2BXm1Empty = ibooker.book1D("METPhiChargedHadronsBarrel_BXm2BXm1Empty", "METPhi_PFChargedHadronsBarrel prev two bunches empty", 50, -M_PI,M_PI);
594  meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Empty = ibooker.book1D("METPhiChargedHadronsEndcapPlus_BXm2BXm1Empty", "METPhi_PFChargedHadronsEndcapPlus prev two bunches empty", 50, -M_PI,M_PI);
595  meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Empty = ibooker.book1D("METPhiChargedHadronsEndcapMinus_BXm2BXm1Empty","METPhi_PFChargedHadronsEndcapMinus prev two bunches empty", 50, -M_PI,M_PI);
596  meMETPhiNeutralHadronsBarrel_BXm2BXm1Empty = ibooker.book1D("METPhiNeutralHadronsBarrel_BXm2BXm1Empty", "METPhi_PFNeutralHadronsBarrel prev two bunches empty", 50, -M_PI,M_PI);
597  meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Empty = ibooker.book1D("METPhiNeutralHadronsEndcapPlus_BXm2BXm1Empty", "METPhi_PFNeutralHadronsEndcapPlus prev two bunches empty", 50, -M_PI,M_PI);
598  meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Empty = ibooker.book1D("METPhiNeutralHadronsEndcapMinus_BXm2BXm1Empty","METPhi_PFNeutralHadronsEndcapMinus prev two bunches empty", 50, -M_PI,M_PI);
599  meMETPhiPhotonsBarrel_BXm2BXm1Empty = ibooker.book1D("METPhiPhotonsBarrel_BXm2BXm1Empty", "METPhi_PFPhotonsBarrel prev two bunches empty", 50, -M_PI,M_PI);
600  meMETPhiPhotonsEndcapPlus_BXm2BXm1Empty = ibooker.book1D("METPhiPhotonsEndcapPlus_BXm2BXm1Empty", "METPhi_PFPhotonsEndcapPlus prev two bunches empty", 50, -M_PI,M_PI);
601  meMETPhiPhotonsEndcapMinus_BXm2BXm1Empty = ibooker.book1D("METPhiPhotonsEndcapMinus_BXm2BXm1Empty", "METPhi_PFPhotonsEndcapMinus prev two bunches empty", 50, -M_PI,M_PI);
602  meMETPhiHFHadronsPlus_BXm2BXm1Empty = ibooker.book1D("METPhiHFHadronsPlus_BXm2BXm1Empty", "METPhi_PFHFHadronsPlus prev two bunches empty", 50, -M_PI,M_PI);
603  meMETPhiHFHadronsMinus_BXm2BXm1Empty = ibooker.book1D("METPhiHFHadronsMinus_BXm2BXm1Empty", "METPhi_PFHFHadronsMinus prev two bunches empty", 50, -M_PI,M_PI);
604  meMETPhiHFEGammasPlus_BXm2BXm1Empty = ibooker.book1D("METPhiHFEGammasPlus_BXm2BXm1Empty", "METPhi_PFHFEGammasPlus prev two bunches empty", 50, -M_PI,M_PI);
605  meMETPhiHFEGammasMinus_BXm2BXm1Empty = ibooker.book1D("METPhiHFEGammasMinus_BXm2BXm1Empty", "METPhi_PFHFEGammasMinus prev two bunches empty", 50, -M_PI,M_PI);
606 
607  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsBarrel_BXm2BXm1Empty" ,meMETPhiChargedHadronsBarrel_BXm2BXm1Empty));
608  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsEndcapPlus_BXm2BXm1Empty" ,meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Empty));
609  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsEndcapMinus_BXm2BXm1Empty" ,meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Empty));
610  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsBarrel_BXm2BXm1Empty" ,meMETPhiNeutralHadronsBarrel_BXm2BXm1Empty));
611  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsEndcapPlus_BXm2BXm1Empty" ,meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Empty));
612  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsEndcapMinus_BXm2BXm1Empty" ,meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Empty));
613  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsBarrel_BXm2BXm1Empty" ,meMETPhiPhotonsBarrel_BXm2BXm1Empty));
614  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsEndcapPlus_BXm2BXm1Empty" ,meMETPhiPhotonsEndcapPlus_BXm2BXm1Empty));
615  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsEndcapMinus_BXm2BXm1Empty" ,meMETPhiPhotonsEndcapMinus_BXm2BXm1Empty));
616  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFHadronsPlus_BXm2BXm1Empty" ,meMETPhiHFHadronsPlus_BXm2BXm1Empty));
617  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFHadronsMinus_BXm2BXm1Empty" ,meMETPhiHFHadronsMinus_BXm2BXm1Empty));
618  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFEGammasPlus_BXm2BXm1Empty" ,meMETPhiHFEGammasPlus_BXm2BXm1Empty));
619  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFEGammasMinus_BXm2BXm1Empty" ,meMETPhiHFEGammasMinus_BXm2BXm1Empty));
620  */
621  //histos where one previous bunch was empty/filled
622  mePhotonEtFraction_BXm1Empty = ibooker.book1D("PfPhotonEtFraction_BXm1Empty", "photonEtFraction() prev empty bunch", 50, 0, 1);
623  mePhotonEtFraction_BXm1Filled = ibooker.book1D("PfPhotonEtFraction_BXm1Filled", "photonEtFraction() prev filled bunch", 50, 0, 1);
624  meNeutralHadronEtFraction_BXm1Empty = ibooker.book1D("PfNeutralHadronEtFraction_BXm1Empty", "neutralHadronEtFraction() prev empty bunch", 50, 0, 1);
625  meNeutralHadronEtFraction_BXm1Filled = ibooker.book1D("PfNeutralHadronEtFraction_BXm1Filled", "neutralHadronEtFraction() prev filled bunch", 50, 0, 1);
626  meChargedHadronEtFraction_BXm1Empty = ibooker.book1D("PfChargedHadronEtFraction_BXm1Empty", "chargedHadronEtFraction() prev empty bunch", 50, 0, 1);
627  meChargedHadronEtFraction_BXm1Filled = ibooker.book1D("PfChargedHadronEtFraction_BXm1Filled", "chargedHadronEtFraction() prev filled bunch", 50, 0, 1);
628  meMET_BXm1Empty = ibooker.book1D("MET_BXm1Empty", "MET prev empty bunch", 200, 0, 1000);
629  meMET_BXm1Filled = ibooker.book1D("MET_BXm1Filled", "MET prev filled bunch", 200, 0, 1000);
630  meSumET_BXm1Empty = ibooker.book1D("SumET_BXm1Empty", "SumET prev empty bunch", 400, 0, 4000);
631  meSumET_BXm1Filled = ibooker.book1D("SumET_BXm1Filled", "SumET prev filled bunch", 400, 0, 4000);
632 
633  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFraction_BXm1Empty" ,mePhotonEtFraction_BXm1Empty));
634  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFraction_BXm1Filled" ,mePhotonEtFraction_BXm1Filled));
635  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFraction_BXm1Empty" ,meNeutralHadronEtFraction_BXm1Empty));
636  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralEtFraction_BXm1Filled" ,meNeutralHadronEtFraction_BXm1Filled));
637  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFraction_BXm1Empty" ,meChargedHadronEtFraction_BXm1Empty));
638  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedEtFraction_BXm1Filled" ,meChargedHadronEtFraction_BXm1Filled));
639  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_BXm1Empty" ,meMET_BXm1Empty));
640  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MET_BXm1Filled" ,meMET_BXm1Filled));
641  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"SumET_BXm1Empty" ,meSumET_BXm1Empty));
642  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"SumET_BXm1Filled",meSumET_BXm1Filled));
643 
644  meMETPhiChargedHadronsBarrel_BXm1Filled = ibooker.book1D("METPhiChargedHadronsBarrel_BXm1Filled", "METPhi_PFChargedHadronsBarrel prev bunch filled", 50, -M_PI,M_PI);
645  meMETPhiChargedHadronsEndcapPlus_BXm1Filled = ibooker.book1D("METPhiChargedHadronsEndcapPlus_BXm1Filled", "METPhi_PFChargedHadronsEndcapPlus prev bunch filled", 50, -M_PI,M_PI);
646  meMETPhiChargedHadronsEndcapMinus_BXm1Filled = ibooker.book1D("METPhiChargedHadronsEndcapMinus_BXm1Filled","METPhi_PFChargedHadronsEndcapMinus prev bunch filled", 50, -M_PI,M_PI);
647  meMETPhiNeutralHadronsBarrel_BXm1Filled = ibooker.book1D("METPhiNeutralHadronsBarrel_BXm1Filled", "METPhi_PFNeutralHadronsBarrel prev bunch filled", 50, -M_PI,M_PI);
648  meMETPhiNeutralHadronsEndcapPlus_BXm1Filled = ibooker.book1D("METPhiNeutralHadronsEndcapPlus_BXm1Filled", "METPhi_PFNeutralHadronsEndcapPlus prev bunch filled", 50, -M_PI,M_PI);
649  meMETPhiNeutralHadronsEndcapMinus_BXm1Filled = ibooker.book1D("METPhiNeutralHadronsEndcapMinus_BXm1Filled","METPhi_PFNeutralHadronsEndcapMinus prev bunch filled", 50, -M_PI,M_PI);
650  meMETPhiPhotonsBarrel_BXm1Filled = ibooker.book1D("METPhiPhotonsBarrel_BXm1Filled", "METPhi_PFPhotonsBarrel prev bunch filled", 50, -M_PI,M_PI);
651  meMETPhiPhotonsEndcapPlus_BXm1Filled = ibooker.book1D("METPhiPhotonsEndcapPlus_BXm1Filled", "METPhi_PFPhotonsEndcapPlus prev bunch filled", 50, -M_PI,M_PI);
652  meMETPhiPhotonsEndcapMinus_BXm1Filled = ibooker.book1D("METPhiPhotonsEndcapMinus_BXm1Filled", "METPhi_PFPhotonsEndcapMinus prev bunch filled", 50, -M_PI,M_PI);
653  meMETPhiHFHadronsPlus_BXm1Filled = ibooker.book1D("METPhiHFHadronsPlus_BXm1Filled", "METPhi_PFHFHadronsPlus prev bunch filled", 50, -M_PI,M_PI);
654  meMETPhiHFHadronsMinus_BXm1Filled = ibooker.book1D("METPhiHFHadronsMinus_BXm1Filled", "METPhi_PFHFHadronsMinus prev bunch filled", 50, -M_PI,M_PI);
655  meMETPhiHFEGammasPlus_BXm1Filled = ibooker.book1D("METPhiHFEGammasPlus_BXm1Filled", "METPhi_PFHFEGammasPlus prev bunch filled", 50, -M_PI,M_PI);
656  meMETPhiHFEGammasMinus_BXm1Filled = ibooker.book1D("METPhiHFEGammasMinus_BXm1Filled", "METPhi_PFHFEGammasMinus prev bunch filled", 50, -M_PI,M_PI);
657 
658  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsBarrel_BXm1Filled" ,meMETPhiChargedHadronsBarrel_BXm1Filled));
659  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsEndcapPlus_BXm1Filled" ,meMETPhiChargedHadronsEndcapPlus_BXm1Filled));
660  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsEndcapMinus_BXm1Filled" ,meMETPhiChargedHadronsEndcapMinus_BXm1Filled));
661  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsBarrel_BXm1Filled" ,meMETPhiNeutralHadronsBarrel_BXm1Filled));
662  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsEndcapPlus_BXm1Filled" ,meMETPhiNeutralHadronsEndcapPlus_BXm1Filled));
663  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsEndcapMinus_BXm1Filled" ,meMETPhiNeutralHadronsEndcapMinus_BXm1Filled));
664  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsBarrel_BXm1Filled" ,meMETPhiPhotonsBarrel_BXm1Filled));
665  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsEndcapPlus_BXm1Filled" ,meMETPhiPhotonsEndcapPlus_BXm1Filled));
666  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsEndcapMinus_BXm1Filled" ,meMETPhiPhotonsEndcapMinus_BXm1Filled));
667  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFHadronsPlus_BXm1Filled" ,meMETPhiHFHadronsPlus_BXm1Filled));
668  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFHadronsMinus_BXm1Filled" ,meMETPhiHFHadronsMinus_BXm1Filled));
669  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFEGammasPlus_BXm1Filled" ,meMETPhiHFEGammasPlus_BXm1Filled));
670  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFEGammasMinus_BXm1Filled" ,meMETPhiHFEGammasMinus_BXm1Filled));
671 
672  meMETPhiChargedHadronsBarrel_BXm1Empty = ibooker.book1D("METPhiChargedHadronsBarrel_BXm1Empty", "METPhi_PFChargedHadronsBarrel prev bunch empty", 50, -M_PI,M_PI);
673  meMETPhiChargedHadronsEndcapPlus_BXm1Empty = ibooker.book1D("METPhiChargedHadronsEndcapPlus_BXm1Empty", "METPhi_PFChargedHadronsEndcapPlus prev bunch empty", 50, -M_PI,M_PI);
674  meMETPhiChargedHadronsEndcapMinus_BXm1Empty = ibooker.book1D("METPhiChargedHadronsEndcapMinus_BXm1Empty","METPhi_PFChargedHadronsEndcapMinus prev bunch empty", 50, -M_PI,M_PI);
675  meMETPhiNeutralHadronsBarrel_BXm1Empty = ibooker.book1D("METPhiNeutralHadronsBarrel_BXm1Empty", "METPhi_PFNeutralHadronsBarrel prev bunch empty", 50, -M_PI,M_PI);
676  meMETPhiNeutralHadronsEndcapPlus_BXm1Empty = ibooker.book1D("METPhiNeutralHadronsEndcapPlus_BXm1Empty", "METPhi_PFNeutralHadronsEndcapPlus prev bunch empty", 50, -M_PI,M_PI);
677  meMETPhiNeutralHadronsEndcapMinus_BXm1Empty = ibooker.book1D("METPhiNeutralHadronsEndcapMinus_BXm1Empty","METPhi_PFNeutralHadronsEndcapMinus prev bunch empty", 50, -M_PI,M_PI);
678  meMETPhiPhotonsBarrel_BXm1Empty = ibooker.book1D("METPhiPhotonsBarrel_BXm1Empty", "METPhi_PFPhotonsBarrel prev bunch empty", 50, -M_PI,M_PI);
679  meMETPhiPhotonsEndcapPlus_BXm1Empty = ibooker.book1D("METPhiPhotonsEndcapPlus_BXm1Empty", "METPhi_PFPhotonsEndcapPlus prev bunch empty", 50, -M_PI,M_PI);
680  meMETPhiPhotonsEndcapMinus_BXm1Empty = ibooker.book1D("METPhiPhotonsEndcapMinus_BXm1Empty", "METPhi_PFPhotonsEndcapMinus prev bunch empty", 50, -M_PI,M_PI);
681  meMETPhiHFHadronsPlus_BXm1Empty = ibooker.book1D("METPhiHFHadronsPlus_BXm1Empty", "METPhi_PFHFHadronsPlus prev bunch empty", 50, -M_PI,M_PI);
682  meMETPhiHFHadronsMinus_BXm1Empty = ibooker.book1D("METPhiHFHadronsMinus_BXm1Empty", "METPhi_PFHFHadronsMinus prev bunch empty", 50, -M_PI,M_PI);
683  meMETPhiHFEGammasPlus_BXm1Empty = ibooker.book1D("METPhiHFEGammasPlus_BXm1Empty", "METPhi_PFHFEGammasPlus prev bunch empty", 50, -M_PI,M_PI);
684  meMETPhiHFEGammasMinus_BXm1Empty = ibooker.book1D("METPhiHFEGammasMinus_BXm1Empty", "METPhi_PFHFEGammasMinus prev bunch empty", 50, -M_PI,M_PI);
685 
686  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsBarrel_BXm1Empty" ,meMETPhiChargedHadronsBarrel_BXm1Empty));
687  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsEndcapPlus_BXm1Empty" ,meMETPhiChargedHadronsEndcapPlus_BXm1Empty));
688  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsEndcapMinus_BXm1Empty" ,meMETPhiChargedHadronsEndcapMinus_BXm1Empty));
689  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsBarrel_BXm1Empty" ,meMETPhiNeutralHadronsBarrel_BXm1Empty));
690  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsEndcapPlus_BXm1Empty" ,meMETPhiNeutralHadronsEndcapPlus_BXm1Empty));
691  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsEndcapMinus_BXm1Empty" ,meMETPhiNeutralHadronsEndcapMinus_BXm1Empty));
692  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsBarrel_BXm1Empty" ,meMETPhiPhotonsBarrel_BXm1Empty));
693  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsEndcapPlus_BXm1Empty" ,meMETPhiPhotonsEndcapPlus_BXm1Empty));
694  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsEndcapMinus_BXm1Empty" ,meMETPhiPhotonsEndcapMinus_BXm1Empty));
695  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFHadronsPlus_BXm1Empty" ,meMETPhiHFHadronsPlus_BXm1Empty));
696  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFHadronsMinus_BXm1Empty" ,meMETPhiHFHadronsMinus_BXm1Empty));
697  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFEGammasPlus_BXm1Empty" ,meMETPhiHFEGammasPlus_BXm1Empty));
698  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFEGammasMinus_BXm1Empty" ,meMETPhiHFEGammasMinus_BXm1Empty));
699 
700  meMETPhiChargedHadronsBarrel = ibooker.book1D("METPhiChargedHadronsBarrel", "METPhi_PFChargedHadronsBarrel", 50, -M_PI,M_PI);
701  meMETPhiChargedHadronsEndcapPlus = ibooker.book1D("METPhiChargedHadronsEndcapPlus", "METPhi_PFChargedHadronsEndcapPlus", 50, -M_PI,M_PI);
702  meMETPhiChargedHadronsEndcapMinus = ibooker.book1D("METPhiChargedHadronsEndcapMinus","METPhi_PFChargedHadronsEndcapMinus", 50, -M_PI,M_PI);
703  meMETPhiNeutralHadronsBarrel = ibooker.book1D("METPhiNeutralHadronsBarrel", "METPhi_PFNeutralHadronsBarrel", 50, -M_PI,M_PI);
704  meMETPhiNeutralHadronsEndcapPlus = ibooker.book1D("METPhiNeutralHadronsEndcapPlus", "METPhi_PFNeutralHadronsEndcapPlus", 50, -M_PI,M_PI);
705  meMETPhiNeutralHadronsEndcapMinus = ibooker.book1D("METPhiNeutralHadronsEndcapMinus","METPhi_PFNeutralHadronsEndcapMinus", 50, -M_PI,M_PI);
706  meMETPhiPhotonsBarrel = ibooker.book1D("METPhiPhotonsBarrel", "METPhi_PFPhotonsBarrel", 50, -M_PI,M_PI);
707  meMETPhiPhotonsEndcapPlus = ibooker.book1D("METPhiPhotonsEndcapPlus", "METPhi_PFPhotonsEndcapPlus", 50, -M_PI,M_PI);
708  meMETPhiPhotonsEndcapMinus = ibooker.book1D("METPhiPhotonsEndcapMinus", "METPhi_PFPhotonsEndcapMinus", 50, -M_PI,M_PI);
709  meMETPhiHFHadronsPlus = ibooker.book1D("METPhiHFHadronsPlus", "METPhi_PFHFHadronsPlus", 50, -M_PI,M_PI);
710  meMETPhiHFHadronsMinus = ibooker.book1D("METPhiHFHadronsMinus", "METPhi_PFHFHadronsMinus", 50, -M_PI,M_PI);
711  meMETPhiHFEGammasPlus = ibooker.book1D("METPhiHFEGammasPlus", "METPhi_PFHFEGammasPlus", 50, -M_PI,M_PI);
712  meMETPhiHFEGammasMinus = ibooker.book1D("METPhiHFEGammasMinus", "METPhi_PFHFEGammasMinus", 50, -M_PI,M_PI);
713 
714  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsBarrel" ,meMETPhiChargedHadronsBarrel));
715  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsEndcapPlus" ,meMETPhiChargedHadronsEndcapPlus));
716  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiChargedHadronsEndcapMinus" ,meMETPhiChargedHadronsEndcapMinus));
717  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsBarrel" ,meMETPhiNeutralHadronsBarrel));
718  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsEndcapPlus" ,meMETPhiNeutralHadronsEndcapPlus));
719  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiNeutralHadronsEndcapMinus" ,meMETPhiNeutralHadronsEndcapMinus));
720  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsBarrel" ,meMETPhiPhotonsBarrel));
721  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsEndcapPlus" ,meMETPhiPhotonsEndcapPlus));
722  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiPhotonsEndcapMinus" ,meMETPhiPhotonsEndcapMinus));
723  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFHadronsPlus" ,meMETPhiHFHadronsPlus));
724  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFHadronsMinus" ,meMETPhiHFHadronsMinus));
725  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFEGammasPlus" ,meMETPhiHFEGammasPlus));
726  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METPhiHFEGammasMinus" ,meMETPhiHFEGammasMinus));
727  }
728 
729  if(fillPFCandPlots && fillCandidateMap_histos){
730  if(!profilePFCand_x_.empty()){
731  etaMinPFCand_.clear();
732  etaMaxPFCand_.clear();
733  typePFCand_.clear();
734  countsPFCand_.clear();
735  MExPFCand_.clear();
736  MEyPFCand_.clear();
737  profilePFCand_x_.clear();
738  profilePFCand_y_.clear();
739  profilePFCand_x_name_.clear();
740  profilePFCand_y_name_.clear();
741  }
742  for (std::vector<edm::ParameterSet>::const_iterator v = diagnosticsParameters_.begin(); v!=diagnosticsParameters_.end(); v++) {
743  double etaMinPFCand = v->getParameter<double>("etaMin");
744  double etaMaxPFCand = v->getParameter<double>("etaMax");
745  int nMinPFCand = v->getParameter<int>("nMin");
746  int nMaxPFCand = v->getParameter<int>("nMax");
747  int nbinsPFCand = v->getParameter<double>("nbins");
748 
749  // etaNBins_.push_back(etaNBins);
750  etaMinPFCand_.push_back(etaMinPFCand);
751  etaMaxPFCand_.push_back(etaMaxPFCand);
752  typePFCand_.push_back(v->getParameter<int>("type"));
753  countsPFCand_.push_back(0);
754  MExPFCand_.push_back(0.);
755  MEyPFCand_.push_back(0.);
756 
757  profilePFCand_x_.push_back(ibooker.bookProfile(std::string(v->getParameter<std::string>("name")).append("_Px_").c_str(), std::string(v->getParameter<std::string>("name"))+"Px", nbinsPFCand, nMinPFCand, nMaxPFCand, -300,300));
758  profilePFCand_x_name_.push_back(std::string(v->getParameter<std::string>("name")).append("_Px_"));
759  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+profilePFCand_x_name_[profilePFCand_x_name_.size()-1], profilePFCand_x_[profilePFCand_x_.size()-1]));
760  profilePFCand_y_.push_back(ibooker.bookProfile(std::string(v->getParameter<std::string>("name")).append("_Py_").c_str(), std::string(v->getParameter<std::string>("name"))+"Py", nbinsPFCand, nMinPFCand, nMaxPFCand, -300,300));
761  profilePFCand_y_name_.push_back(std::string(v->getParameter<std::string>("name")).append("_Py_"));
762  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+profilePFCand_y_name_[profilePFCand_y_name_.size()-1], profilePFCand_y_[profilePFCand_y_.size()-1]));
763  }
764  }
765  }
766  if(isMiniAODMet_){
767  if(fillPFCandPlots && fillCandidateMap_histos){//first bool internal checks for subdirectory filling, second bool given in cfg file, checks that we fill maps only in one module in total
768  if(!profilePFCand_x_.empty()){
769  etaMinPFCand_.clear();
770  etaMaxPFCand_.clear();
771  typePFCand_.clear();
772  countsPFCand_.clear();
773  profilePFCand_x_.clear();
774  profilePFCand_y_.clear();
775  }
776  for (std::vector<edm::ParameterSet>::const_iterator v = diagnosticsParameters_.begin(); v!=diagnosticsParameters_.end(); v++) {
777  double etaMinPFCand = v->getParameter<double>("etaMin");
778  double etaMaxPFCand = v->getParameter<double>("etaMax");
779 
780  etaMinPFCand_.push_back(etaMinPFCand);
781  etaMaxPFCand_.push_back(etaMaxPFCand);
782  typePFCand_.push_back(v->getParameter<int>("type"));
783  countsPFCand_.push_back(0);
784  MExPFCand_.push_back(0.);
785  MEyPFCand_.push_back(0.);
786  }
787  }
788  }
789 
790  if(isPFMet_ || isMiniAODMet_){
791  mePhotonEtFraction = ibooker.book1D("PfPhotonEtFraction", "photonEtFraction()", 50, 0, 1);
792  meNeutralHadronEtFraction = ibooker.book1D("PfNeutralHadronEtFraction", "neutralHadronEtFraction()", 50, 0, 1);
793  meChargedHadronEtFraction = ibooker.book1D("PfChargedHadronEtFraction", "chargedHadronEtFraction()", 50, 0, 1);
794  meHFHadronEtFraction = ibooker.book1D("PfHFHadronEtFraction", "HFHadronEtFraction()", 50, 0, 1);
795  meHFEMEtFraction = ibooker.book1D("PfHFEMEtFraction", "HFEMEtFraction()", 50, 0, 1);
796 
797  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFraction" ,mePhotonEtFraction));
798  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFraction",meNeutralHadronEtFraction));
799  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFraction",meChargedHadronEtFraction));
800  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFraction" ,meHFHadronEtFraction));
801  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFraction" ,meHFEMEtFraction));
802 
803  mePhotonEtFraction_profile = ibooker.bookProfile("PfPhotonEtFraction_profile", "photonEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
804  meNeutralHadronEtFraction_profile = ibooker.bookProfile("PfNeutralHadronEtFraction_profile", "neutralHadronEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
805  meChargedHadronEtFraction_profile = ibooker.bookProfile("PfChargedHadronEtFraction_profile", "chargedHadronEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
806  meHFHadronEtFraction_profile = ibooker.bookProfile("PfHFHadronEtFraction_profile", "HFHadronEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
807  meHFEMEtFraction_profile = ibooker.bookProfile("PfHFEMEtFraction_profile", "HFEMEtFraction()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1);
813 
814  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEtFraction_profile" ,mePhotonEtFraction_profile));
815  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEtFraction_profile" ,meNeutralHadronEtFraction_profile));
816  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEtFraction_profile" ,meChargedHadronEtFraction_profile));
817  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEtFraction_profile" ,meHFHadronEtFraction_profile));
818  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEtFraction_profile" ,meHFEMEtFraction_profile));
819 
820  mePhotonEt = ibooker.book1D("PfPhotonEt", "photonEt()", 50, 0, 1000);
821  meNeutralHadronEt = ibooker.book1D("PfNeutralHadronEt", "neutralHadronEt()", 50, 0, 1000);
822  meElectronEt = ibooker.book1D("PfElectronEt", "electronEt()", 50, 0, 100);
823  meChargedHadronEt = ibooker.book1D("PfChargedHadronEt", "chargedHadronEt()", 50, 0, 2000);
824  meMuonEt = ibooker.book1D("PfMuonEt", "muonEt()", 50, 0, 100);
825  meHFHadronEt = ibooker.book1D("PfHFHadronEt", "HFHadronEt()", 50, 0, 2000);
826  meHFEMEt = ibooker.book1D("PfHFEMEt", "HFEMEt()", 50, 0, 1000);
827 
828  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEt" ,mePhotonEt));
829  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEt" ,meNeutralHadronEt));
830  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfElectronEt" ,meElectronEt));
831  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEt" ,meChargedHadronEt));
832  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfMuonEt" ,meMuonEt));
833  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEt" ,meHFHadronEt));
834  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEt" ,meHFEMEt));
835 
836  mePhotonEt_profile = ibooker.bookProfile("PfPhotonEt_profile", "photonEt()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1000);
837  meNeutralHadronEt_profile = ibooker.bookProfile("PfNeutralHadronEt_profile", "neutralHadronEt()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1000);
838  meChargedHadronEt_profile = ibooker.bookProfile("PfChargedHadronEt_profile", "chargedHadronEt()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1000);
839  meHFHadronEt_profile = ibooker.bookProfile("PfHFHadronEt_profile", "HFHadronEt()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1000);
840  meHFEMEt_profile = ibooker.bookProfile("PfHFEMEt_profile", "HFEMEt()", nbinsPV_, nPVMin_, nPVMax_, 50, 0, 1000);
841 
842  mePhotonEt_profile ->setAxisTitle("nvtx", 1);
845  meHFHadronEt_profile ->setAxisTitle("nvtx", 1);
846  meHFEMEt_profile ->setAxisTitle("nvtx", 1);
847 
848  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfPhotonEt_profile" ,mePhotonEt_profile));
849  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfNeutralHadronEt_profile" ,meNeutralHadronEt_profile));
850  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfChargedHadronEt_profile" ,meChargedHadronEt_profile));
851  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFHadronEt_profile" ,meHFHadronEt_profile));
852  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"PfHFEMEt_profile" ,meHFEMEt_profile));
853  }
854 
855  if (isCaloMet_){
856  if (fill_met_high_level_histo){//now configurable in python file
857  hMExLS = ibooker.book2D("MExLS","MEx_LS",200,-200,200,250,0.,2500.);
858  hMExLS->setAxisTitle("MEx [GeV]",1);
859  hMExLS->setAxisTitle("Lumi Section",2);
860  hMExLS->getTH2F()->SetOption("colz");
861  hMEyLS = ibooker.book2D("MEyLS","MEy_LS",200,-200,200,250,0.,2500.);
862  hMEyLS->setAxisTitle("MEy [GeV]",1);
863  hMEyLS->setAxisTitle("Lumi Section",2);
864  hMEyLS->getTH2F()->SetOption("colz");
865  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MExLS",hMExLS));
866  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"MEyLS",hMEyLS));
867  }
868  }
869 
870  hMETRate = ibooker.book1D("METRate", "METRate", 200, 0, 1000);
871  map_of_MEs.insert(std::pair<std::string,MonitorElement*>(DirName+"/"+"METRate",hMETRate));
872 
873 
874  ibooker.setCurrentFolder("JetMET");
875  lumisecME = ibooker.book1D("lumisec", "lumisec", 2501, -1., 2500.);
876  map_of_MEs.insert(std::pair<std::string,MonitorElement*>("JetMET/lumisec",lumisecME));
877  }//all non Z plots (restrict Z Plots only for resolution study)
878 }
MonitorElement * meCHF_EndcapMinus_BXm1Filled
Definition: METAnalyzer.h:456
MonitorElement * meMETPhiNeutralHadronsEndcapMinus_BXm1Empty
Definition: METAnalyzer.h:407
MonitorElement * hMExLS
Definition: METAnalyzer.h:322
MonitorElement * meMETPhiNeutralHadronsEndcapMinus
Definition: METAnalyzer.h:543
MonitorElement * mePhF_EndcapMinus_BXm1Empty
Definition: METAnalyzer.h:482
MonitorElement * hSumET
Definition: METAnalyzer.h:320
MonitorElement * meMETPhiChargedHadronsEndcapPlus_BXm1Filled
Definition: METAnalyzer.h:424
MonitorElement * meNeutralHadronEtFraction
Definition: METAnalyzer.h:363
MonitorElement * meMETPhiHFHadronsPlus_BXm1Filled
Definition: METAnalyzer.h:432
MonitorElement * meNeutralHadronEtFraction_profile
Definition: METAnalyzer.h:564
MonitorElement * mePhF_EndcapMinus_BXm1Filled
Definition: METAnalyzer.h:488
MonitorElement * meMETPhiChargedHadronsEndcapPlus
Definition: METAnalyzer.h:539
MonitorElement * meHFHadF_Plus_BXm1Filled
Definition: METAnalyzer.h:499
MonitorElement * meNHF_EndcapPlus_BXm1Empty
Definition: METAnalyzer.h:465
MonitorElement * hMEy
Definition: METAnalyzer.h:304
MonitorElement * meMETPhiHFEGammasPlus
Definition: METAnalyzer.h:549
MonitorElement * hCaloMETPhi020
Definition: METAnalyzer.h:329
MonitorElement * mePhotonEt
Definition: METAnalyzer.h:362
std::vector< edm::ParameterSet > diagnosticsParameters_
Definition: METAnalyzer.h:245
MonitorElement * meChargedHadronEtFraction_profile
Definition: METAnalyzer.h:566
MonitorElement * meMETPhiPhotonsEndcapPlus_BXm1Empty
Definition: METAnalyzer.h:409
std::vector< int > typePFCand_
Definition: METAnalyzer.h:536
MonitorElement * meZJets_u_perp_ZPt_150_290
Definition: METAnalyzer.h:588
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:160
MonitorElement * meMETPhiHFHadronsMinus_BXm1Empty
Definition: METAnalyzer.h:412
MonitorElement * meMET_BXm1Filled
Definition: METAnalyzer.h:420
MonitorElement * meZJets_u_perp_ZPt_75_150
Definition: METAnalyzer.h:587
MonitorElement * hCaloHadEtInHF
Definition: METAnalyzer.h:340
std::vector< double > MExPFCand_
Definition: METAnalyzer.h:535
MonitorElement * meHFHadF_Minus_BXm1Empty
Definition: METAnalyzer.h:496
MonitorElement * meZJets_u_perp_ZPt_0_15
Definition: METAnalyzer.h:583
bool isCaloMet_
Definition: METAnalyzer.h:593
MonitorElement * meSumET_BXm1Empty
Definition: METAnalyzer.h:400
MonitorElement * meZJets_u_par_ZPt_15_30
Definition: METAnalyzer.h:575
MonitorElement * meChargedHadronEtFraction_BXm1Empty
Definition: METAnalyzer.h:398
MonitorElement * hMEx
Definition: METAnalyzer.h:303
std::vector< std::string > profilePFCand_y_name_
Definition: METAnalyzer.h:534
MonitorElement * meZJets_u_par
Definition: METAnalyzer.h:573
MonitorElement * hCaloHadEtInHE
Definition: METAnalyzer.h:339
MonitorElement * hMET_eeBadScFilter
Definition: METAnalyzer.h:312
MonitorElement * meMETPhiPhotonsEndcapPlus
Definition: METAnalyzer.h:545
MonitorElement * meZJets_u_par_ZPt_75_150
Definition: METAnalyzer.h:578
MonitorElement * meNeutralHadronEtFraction_BXm1Empty
Definition: METAnalyzer.h:397
MonitorElement * meMETPhiChargedHadronsBarrel_BXm1Empty
Definition: METAnalyzer.h:402
bool fillCandidateMap_histos
Definition: METAnalyzer.h:598
MonitorElement * meHFEMF_Minus_BXm1Empty
Definition: METAnalyzer.h:507
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::vector< double > etaMaxPFCand_
Definition: METAnalyzer.h:535
MonitorElement * meZJets_u_perp_ZPt_30_55
Definition: METAnalyzer.h:585
MonitorElement * hCaloEtFractionHadronic
Definition: METAnalyzer.h:330
MonitorElement * hMEyLS
Definition: METAnalyzer.h:323
MonitorElement * meHFHadF_Minus
Definition: METAnalyzer.h:494
MonitorElement * meMETPhiHFEGammasPlus_BXm1Filled
Definition: METAnalyzer.h:434
MonitorElement * mePhotonEtFraction_BXm1Empty
Definition: METAnalyzer.h:396
double nPVMin_
Definition: METAnalyzer.h:250
MonitorElement * meHFHadronEtFraction
Definition: METAnalyzer.h:369
MonitorElement * meMET_BXm1Empty
Definition: METAnalyzer.h:399
MonitorElement * meCHF_EndcapMinus_BXm1Empty
Definition: METAnalyzer.h:450
MonitorElement * meNHF_EndcapPlus
Definition: METAnalyzer.h:462
MonitorElement * meMETPhiPhotonsEndcapMinus_BXm1Empty
Definition: METAnalyzer.h:410
MonitorElement * hMET_logx
Definition: METAnalyzer.h:325
MonitorElement * hCaloEmEtInHF
Definition: METAnalyzer.h:341
MonitorElement * meHFEMEtFraction_profile
Definition: METAnalyzer.h:570
MonitorElement * mePhF_EndcapPlus
Definition: METAnalyzer.h:478
MonitorElement * hCaloHadEtInHO
Definition: METAnalyzer.h:338
MonitorElement * meHFEMF_Plus_BXm1Filled
Definition: METAnalyzer.h:510
MonitorElement * meChargedHadronEtFraction
Definition: METAnalyzer.h:366
MonitorElement * meMETPhiPhotonsBarrel_BXm1Empty
Definition: METAnalyzer.h:408
MonitorElement * mePhF_Barrel_BXm1Empty
Definition: METAnalyzer.h:480
MonitorElement * meMEx_profile
Definition: METAnalyzer.h:557
MonitorElement * meNHF_Barrel
Definition: METAnalyzer.h:461
MonitorElement * hMET
Definition: METAnalyzer.h:307
MonitorElement * meZJets_u_par_ZPt_290
Definition: METAnalyzer.h:580
MonitorElement * hMET_2
Definition: METAnalyzer.h:308
MonitorElement * hMET_HcalStripHaloFilter
Definition: METAnalyzer.h:317
MonitorElement * meCHF_EndcapMinus
Definition: METAnalyzer.h:447
MonitorElement * meMETPhiHFHadronsPlus_BXm1Empty
Definition: METAnalyzer.h:411
MonitorElement * hTrigger
Definition: METAnalyzer.h:301
MonitorElement * mePhF_Barrel_BXm1Filled
Definition: METAnalyzer.h:486
MonitorElement * meCHF_EndcapPlus_BXm1Filled
Definition: METAnalyzer.h:455
MonitorElement * meZJets_u_par_ZPt_55_75
Definition: METAnalyzer.h:577
MonitorElement * meMETPhiNeutralHadronsEndcapMinus_BXm1Filled
Definition: METAnalyzer.h:428
MonitorElement * mePhF_EndcapPlus_BXm1Filled
Definition: METAnalyzer.h:487
MonitorElement * meZJets_u_perp
Definition: METAnalyzer.h:582
MonitorElement * meZJets_u_par_ZPt_0_15
Definition: METAnalyzer.h:574
MonitorElement * meMETPhiNeutralHadronsBarrel_BXm1Empty
Definition: METAnalyzer.h:405
MonitorElement * lumisecME
Definition: METAnalyzer.h:300
MonitorElement * meNeutralHadronEtFraction_BXm1Filled
Definition: METAnalyzer.h:418
MonitorElement * meNHF_Barrel_BXm1Filled
Definition: METAnalyzer.h:470
MonitorElement * meMETPhiNeutralHadronsEndcapPlus_BXm1Empty
Definition: METAnalyzer.h:406
bool fill_met_high_level_histo
Definition: METAnalyzer.h:597
MonitorElement * hMETPhi
Definition: METAnalyzer.h:319
MonitorElement * hCaloEmEtInEE
Definition: METAnalyzer.h:342
MonitorElement * hMET_HBHEIsoNoiseFilter
Definition: METAnalyzer.h:315
MonitorElement * mePhF_EndcapMinus
Definition: METAnalyzer.h:479
MonitorElement * meZJets_u_perp_ZPt_55_75
Definition: METAnalyzer.h:586
MonitorElement * meMETPhiHFEGammasMinus
Definition: METAnalyzer.h:550
MonitorElement * meMuonEt
Definition: METAnalyzer.h:368
MonitorElement * meHFEMEt_profile
Definition: METAnalyzer.h:571
MonitorElement * mePhotonEtFraction_BXm1Filled
Definition: METAnalyzer.h:417
MonitorElement * hSumET_logx
Definition: METAnalyzer.h:326
MonitorElement * meNHF_EndcapPlus_BXm1Filled
Definition: METAnalyzer.h:471
MonitorElement * hMET_HBHENoiseFilter
Definition: METAnalyzer.h:310
MonitorElement * meMETPhiPhotonsEndcapMinus_BXm1Filled
Definition: METAnalyzer.h:431
MonitorElement * meZJets_u_par_ZPt_150_290
Definition: METAnalyzer.h:579
MonitorElement * meCHF_Barrel_BXm1Filled
Definition: METAnalyzer.h:454
MonitorElement * meMETPhiHFHadronsMinus_BXm1Filled
Definition: METAnalyzer.h:433
MonitorElement * meZJets_u_perp_ZPt_290
Definition: METAnalyzer.h:589
MonitorElement * meHFEMF_Minus
Definition: METAnalyzer.h:505
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
std::vector< MonitorElement * > profilePFCand_x_
Definition: METAnalyzer.h:533
MonitorElement * hCaloEmEtFraction
Definition: METAnalyzer.h:331
MonitorElement * meMETPhiChargedHadronsBarrel
Definition: METAnalyzer.h:538
MonitorElement * meNHF_Barrel_BXm1Empty
Definition: METAnalyzer.h:464
std::vector< MonitorElement * > profilePFCand_y_
Definition: METAnalyzer.h:533
MonitorElement * meChargedHadronEt
Definition: METAnalyzer.h:367
MonitorElement * meMETPhiChargedHadronsEndcapMinus_BXm1Filled
Definition: METAnalyzer.h:425
MonitorElement * hMETSig
Definition: METAnalyzer.h:306
MonitorElement * meChargedHadronEt_profile
Definition: METAnalyzer.h:567
MonitorElement * meCHF_Barrel_BXm1Empty
Definition: METAnalyzer.h:448
MonitorElement * meMETPhiNeutralHadronsEndcapPlus_BXm1Filled
Definition: METAnalyzer.h:427
std::vector< std::string > allTriggerNames_
Definition: METAnalyzer.h:205
std::vector< double > MEyPFCand_
Definition: METAnalyzer.h:535
TH2F * getTH2F() const
MonitorElement * mePhotonEtFraction
Definition: METAnalyzer.h:361
#define M_PI
MonitorElement * hMET_EcalDeadCellBoundaryFilter
Definition: METAnalyzer.h:314
MonitorElement * mePhotonEt_profile
Definition: METAnalyzer.h:563
MonitorElement * meCHF_EndcapPlus
Definition: METAnalyzer.h:446
MonitorElement * meZJets_u_perp_ZPt_15_30
Definition: METAnalyzer.h:584
MonitorElement * meZJets_u_par_ZPt_30_55
Definition: METAnalyzer.h:576
MonitorElement * meMETPhiHFEGammasMinus_BXm1Empty
Definition: METAnalyzer.h:414
MonitorElement * meElectronEt
Definition: METAnalyzer.h:365
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
MonitorElement * meMET_profile
Definition: METAnalyzer.h:559
MonitorElement * meMETPhiChargedHadronsEndcapMinus
Definition: METAnalyzer.h:540
MonitorElement * meHFHadronEt
Definition: METAnalyzer.h:370
MonitorElement * hCaloEmEtInEB
Definition: METAnalyzer.h:343
MonitorElement * meMETPhiPhotonsBarrel
Definition: METAnalyzer.h:544
MonitorElement * hCaloHadEtInHB
Definition: METAnalyzer.h:337
MonitorElement * meHFHadF_Plus_BXm1Empty
Definition: METAnalyzer.h:495
MonitorElement * meMETPhiPhotonsBarrel_BXm1Filled
Definition: METAnalyzer.h:429
double nPVMax_
Definition: METAnalyzer.h:251
MonitorElement * meHFHadF_Minus_BXm1Filled
Definition: METAnalyzer.h:500
MonitorElement * meHFHadronEtFraction_profile
Definition: METAnalyzer.h:568
MonitorElement * meNHF_EndcapMinus_BXm1Empty
Definition: METAnalyzer.h:466
MonitorElement * hMET_CSCTightHalo2015Filter
Definition: METAnalyzer.h:316
MonitorElement * meHFEMEtFraction
Definition: METAnalyzer.h:371
MonitorElement * hMET_CSCTightHaloFilter
Definition: METAnalyzer.h:311
MonitorElement * meHFEMF_Minus_BXm1Filled
Definition: METAnalyzer.h:511
MonitorElement * meMETPhiChargedHadronsEndcapMinus_BXm1Empty
Definition: METAnalyzer.h:404
MonitorElement * hCaloEmEtFraction020
Definition: METAnalyzer.h:335
MonitorElement * meHFEMF_Plus_BXm1Empty
Definition: METAnalyzer.h:506
MonitorElement * mePhF_EndcapPlus_BXm1Empty
Definition: METAnalyzer.h:481
std::vector< int > countsPFCand_
Definition: METAnalyzer.h:536
MonitorElement * meMETPhiHFHadronsPlus
Definition: METAnalyzer.h:547
MonitorElement * hMET_EcalDeadCellTriggerFilter
Definition: METAnalyzer.h:313
MonitorElement * meHFEMEt
Definition: METAnalyzer.h:372
std::vector< double > etaMinPFCand_
Definition: METAnalyzer.h:535
MonitorElement * meChargedHadronEtFraction_BXm1Filled
Definition: METAnalyzer.h:419
MonitorElement * meMETPhiHFEGammasMinus_BXm1Filled
Definition: METAnalyzer.h:435
MonitorElement * meMEy_profile
Definition: METAnalyzer.h:558
MonitorElement * meMETPhiPhotonsEndcapPlus_BXm1Filled
Definition: METAnalyzer.h:430
MonitorElement * meHFEMF_Plus
Definition: METAnalyzer.h:504
std::vector< std::string > profilePFCand_x_name_
Definition: METAnalyzer.h:534
MonitorElement * meSumET_profile
Definition: METAnalyzer.h:560
int getNbinsX() const
get # of bins in X-axis
MonitorElement * meMETPhiHFEGammasPlus_BXm1Empty
Definition: METAnalyzer.h:413
MonitorElement * meMETPhiNeutralHadronsBarrel
Definition: METAnalyzer.h:541
bool hTriggerLabelsIsSet_
Definition: METAnalyzer.h:296
MonitorElement * meCHF_Barrel
Definition: METAnalyzer.h:445
bool isMiniAODMet_
Definition: METAnalyzer.h:595
MonitorElement * meHFHadronEt_profile
Definition: METAnalyzer.h:569
MonitorElement * meMETPhiPhotonsEndcapMinus
Definition: METAnalyzer.h:546
MonitorElement * hMETRate
Definition: METAnalyzer.h:242
MonitorElement * meNeutralHadronEt_profile
Definition: METAnalyzer.h:565
MonitorElement * meHFHadF_Plus
Definition: METAnalyzer.h:493
MonitorElement * meCHF_EndcapPlus_BXm1Empty
Definition: METAnalyzer.h:449
MonitorElement * mePhF_Barrel
Definition: METAnalyzer.h:477
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * mePhotonEtFraction_profile
Definition: METAnalyzer.h:562
MonitorElement * meMETPhiChargedHadronsEndcapPlus_BXm1Empty
Definition: METAnalyzer.h:403
MonitorElement * meMETPhiNeutralHadronsBarrel_BXm1Filled
Definition: METAnalyzer.h:426
MonitorElement * meMETPhiHFHadronsMinus
Definition: METAnalyzer.h:548
MonitorElement * meMETPhiChargedHadronsBarrel_BXm1Filled
Definition: METAnalyzer.h:423
MonitorElement * meNHF_EndcapMinus
Definition: METAnalyzer.h:463
MonitorElement * meSumET_BXm1Filled
Definition: METAnalyzer.h:421
MonitorElement * meNHF_EndcapMinus_BXm1Filled
Definition: METAnalyzer.h:472
MonitorElement * meMETPhiNeutralHadronsEndcapPlus
Definition: METAnalyzer.h:542
MonitorElement * meNeutralHadronEt
Definition: METAnalyzer.h:364
void METAnalyzer::dqmBeginRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
override

Initialize run-based parameters.

Definition at line 881 of file METAnalyzer.cc.

References gather_cfg::cout, runEdmFileComparison::found, edm::EventSetup::get(), L1GtTriggerMenu::gtTechnicalTriggerMap(), mps_fire::i, edm::ESHandle< T >::product(), cond::persistency::search(), electronDataDiscovery::search2(), and AlCaHLTBitMon_QueryRunRegistry::string.

882 {
884  iSetup.get<L1GtTriggerMenuRcd>().get(menuRcd) ;
885  const L1GtTriggerMenu* menu = menuRcd.product();
886  for (CItAlgo techTrig = menu->gtTechnicalTriggerMap().begin(); techTrig != menu->gtTechnicalTriggerMap().end(); ++techTrig) {
887  if ((techTrig->second).algoName() == m_l1algoname_) {
888  m_bitAlgTechTrig_=(techTrig->second).algoBitNumber();
889  break;
890  }
891  }
892 
893 // std::cout << "Run " << iRun.run() << " hltconfig.init "
894 // << hltConfig_.init(iRun,iSetup,triggerResultsLabel_.process(),changed_) << " length: "<<hltConfig_.triggerNames().size()<<" changed "<<changed_<<std::endl;
895  bool changed(true);
896  if (hltConfig_.init(iRun,iSetup,triggerResultsLabel_.process(),changed)) {
897  if (changed) {
898  //hltConfig_.dump("ProcessName");
899  //hltConfig_.dump("GlobalTag");
900  //hltConfig_.dump("TableName");
901 // hltConfig_.dump("Streams");
902 // hltConfig_.dump("Datasets");
903 // hltConfig_.dump("PrescaleTable");
904 // hltConfig_.dump("ProcessPSet");
905  }
906  } else {
907  if (verbose_) std::cout << "HLTEventAnalyzerAOD::analyze:"
908  << " config extraction failure with process name "
909  << triggerResultsLabel_.process() << std::endl;
910  }
911 
912  allTriggerNames_.clear();
913  for (unsigned int i = 0; i<hltConfig_.size();i++) {
915  }
916 // std::cout<<"Length: "<<allTriggerNames_.size()<<std::endl;
917 
918  triggerSelectedSubFolders_ = parameters.getParameter<edm::VParameterSet>("triggerSelectedSubFolders");
919  for ( std::vector<GenericTriggerEventFlag *>::const_iterator it = triggerFolderEventFlag_.begin(); it!= triggerFolderEventFlag_.end(); it++) {
920  int pos = it - triggerFolderEventFlag_.begin();
921  if ((*it)->on()) {
922  (*it)->initRun( iRun, iSetup );
923  if (triggerSelectedSubFolders_[pos].exists(std::string("hltDBKey"))) {
924  if ((*it)->expressionsFromDB((*it)->hltDBKey(), iSetup)[0] != "CONFIG_ERROR")
925  triggerFolderExpr_[pos] = (*it)->expressionsFromDB((*it)->hltDBKey(), iSetup);
926  }
927  }
928  }
929  if(isMiniAODMet_){
930  bool changed_filter=true;
931  std::vector<int>initializeFilter(8,-1);//we have 8 filters at the moment
932  miniaodFilterIndex_=initializeFilter;
933  if (FilterhltConfig_.init(iRun,iSetup,METFilterMiniAODLabel_.process(),changed_filter)){
935  for(unsigned int i=0;i<FilterhltConfig_.size();i++){
936  std::string search=FilterhltConfig_.triggerName(i).substr(5);//actual label of filter, the first 5 items are Flag_, so stripped off
937  std::string search2=HBHENoiseStringMiniAOD;//all filters end with DQM, which is not in the flag --> ONLY not for HBHEFilters
938  std::size_t found=search2.find(search);
939  if(found!=std::string::npos){
941  }
942  search2=CSCHaloResultTag_.label().substr(0,CSCHaloResultTag_.label().size()-3);
943  found=search2.find(search);
944  if(found!=std::string::npos){
946  }
947  search2=eeBadScFilterTag_.label().substr(0,eeBadScFilterTag_.label().size()-3);
948  found=search2.find(search);
949  if(found!=std::string::npos){
951  }
953  found=search2.find(search);
954  if(found!=std::string::npos){
956  }
957  search2=CSCHalo2015ResultTag_.label().substr(0,CSCHalo2015ResultTag_.label().size()-3);
958  found=search2.find(search);
959  if(found!=std::string::npos){
961  }
962  search2=EcalDeadCellTriggerTag_.label().substr(0,EcalDeadCellTriggerTag_.label().size()-3);
963  found=search2.find(search);
964  if(found!=std::string::npos){
966  }
967  search2=EcalDeadCellBoundaryTag_.label().substr(0,EcalDeadCellBoundaryTag_.label().size()-3);
968  found=search2.find(search);
969  if(found!=std::string::npos){
971  }
972  search2=HcalStripHaloTag_.label().substr(0,HcalStripHaloTag_.label().size()-3);
973  found=search2.find(search);
974  if(found!=std::string::npos){
976  }
977  }
978  }else if(FilterhltConfig_.init(iRun,iSetup,METFilterMiniAODLabel2_.process(),changed_filter)){
980  for(unsigned int i=0;i<FilterhltConfig_.size();i++){
981  std::string search=FilterhltConfig_.triggerName(i).substr(5);//actual label of filter, the first 5 items are Flag_, so stripped off
982  std::string search2=HBHENoiseStringMiniAOD;//all filters end with DQM, which is not in the flag --> ONLY not for HBHEFilters
983  std::size_t found=search2.find(search);
984  if(found!=std::string::npos){
986  }
987  search2=CSCHaloResultTag_.label().substr(0,CSCHaloResultTag_.label().size()-3);
988  found=search2.find(search);
989  if(found!=std::string::npos){
991  }
992  search2=eeBadScFilterTag_.label().substr(0,eeBadScFilterTag_.label().size()-3);
993  found=search2.find(search);
994  if(found!=std::string::npos){
996  }
998  found=search2.find(search);
999  if(found!=std::string::npos){
1001  }
1002  search2=CSCHalo2015ResultTag_.label().substr(0,CSCHalo2015ResultTag_.label().size()-3);
1003  found=search2.find(search);
1004  if(found!=std::string::npos){
1006  }
1007  search2=EcalDeadCellTriggerTag_.label().substr(0,EcalDeadCellTriggerTag_.label().size()-3);
1008  found=search2.find(search);
1009  if(found!=std::string::npos){
1011  }
1012  search2=EcalDeadCellBoundaryTag_.label().substr(0,EcalDeadCellBoundaryTag_.label().size()-3);
1013  found=search2.find(search);
1014  if(found!=std::string::npos){
1016  }
1017  search2=HcalStripHaloTag_.label().substr(0,HcalStripHaloTag_.label().size()-3);
1018  found=search2.find(search);
1019  if(found!=std::string::npos){
1021  }
1022  }
1023  }else{
1024  edm::LogWarning("MiniAOD METAN Filter HLT OBject version")<<"nothing found with both RECO and reRECO label"<<std::endl;
1025  }
1026  }
1027 }
unsigned int size() const
number of trigger paths in trigger table
edm::InputTag CSCHaloResultTag_
Definition: METAnalyzer.h:169
HLTConfigProvider hltConfig_
Definition: METAnalyzer.h:198
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< T >::const_iterator search(const cond::Time_t &val, const std::vector< T > &container)
Definition: IOVProxy.cc:314
std::vector< ParameterSet > VParameterSet
Definition: ParameterSet.h:33
HLTConfigProvider FilterhltConfig_
Definition: METAnalyzer.h:199
edm::InputTag EcalDeadCellTriggerTag_
Definition: METAnalyzer.h:173
std::vector< GenericTriggerEventFlag * > triggerFolderEventFlag_
Definition: METAnalyzer.h:214
std::string HBHENoiseStringMiniAOD
Definition: METAnalyzer.h:208
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
std::string HBHEIsoNoiseStringMiniAOD
Definition: METAnalyzer.h:209
std::vector< int > miniaodFilterIndex_
Definition: METAnalyzer.h:162
std::vector< std::vector< std::string > > triggerFolderExpr_
Definition: METAnalyzer.h:215
edm::InputTag CSCHalo2015ResultTag_
Definition: METAnalyzer.h:171
edm::InputTag eeBadScFilterTag_
Definition: METAnalyzer.h:175
edm::InputTag HcalStripHaloTag_
Definition: METAnalyzer.h:179
std::string m_l1algoname_
Definition: METAnalyzer.h:193
std::vector< std::string > allTriggerNames_
Definition: METAnalyzer.h:205
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
edm::InputTag triggerResultsLabel_
Definition: METAnalyzer.h:200
edm::InputTag EcalDeadCellBoundaryTag_
Definition: METAnalyzer.h:177
std::string const & label() const
Definition: InputTag.h:36
std::string const & process() const
Definition: InputTag.h:40
edm::InputTag METFilterMiniAODLabel2_
Definition: METAnalyzer.h:159
edm::VParameterSet triggerSelectedSubFolders_
Definition: METAnalyzer.h:213
T get() const
Definition: EventSetup.h:63
int miniaodfilterdec
Definition: METAnalyzer.h:163
const AlgorithmMap & gtTechnicalTriggerMap() const
get / set the technical trigger map
edm::InputTag METFilterMiniAODLabel_
Definition: METAnalyzer.h:157
bool isMiniAODMet_
Definition: METAnalyzer.h:595
T const * product() const
Definition: ESHandle.h:86
int m_bitAlgTechTrig_
Definition: METAnalyzer.h:194
void METAnalyzer::endRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
override

Finish up a run.

Definition at line 1030 of file METAnalyzer.cc.

References cmsPerfPublish::DirName, TrackerOfflineValidation_Dqm_cff::dirName, MonitorElement::getRootObject(), MonitorElement::getTH1F(), mps_fire::i, and AlCaHLTBitMon_QueryRunRegistry::string.

1031 {
1032 
1033  //
1034  //--- Check the time length of the Run from the lumi section plots
1035 
1036 
1037  TH1F* tlumisec;
1038 
1039  MonitorElement *meLumiSec = map_dijet_MEs["aaa"];
1040  meLumiSec = map_dijet_MEs["JetMET/lumisec"];
1041 
1042  int totlsec=0;
1043  int totlssecsum=0;
1044  double totltime=0.;
1045  if (meLumiSec && meLumiSec->getRootObject() ) {
1046  tlumisec = meLumiSec->getTH1F();
1047  //check overflow bin (if we have more than 2500 LS in a run)
1048  //lumisec is filled every time the analyze section is processed
1049  //we know an LS is present only once in a run: normalize how many events we had on average
1050  //if lumi fluctuates strongly might be unreliable for overflow bin though
1051  for (int i=0; i< (tlumisec->GetNbinsX()); i++){
1052  if (tlumisec->GetBinContent(i)!=0){
1053  totlsec+=1;
1054  totlssecsum+=tlumisec->GetBinContent(i);
1055  }
1056  }
1057  int num_per_ls=(double)totlssecsum/(double)totlsec;
1058  totlsec=totlsec+tlumisec->GetBinContent(tlumisec->GetNbinsX()+1)/(double)num_per_ls;
1059  totltime = double(totlsec*90); // one lumi sec ~ 90 (sec)
1060  }
1061 
1062  if (totltime==0.) totltime=1.;
1063 
1065  //dbe_->setCurrentFolder(dirName);
1066 
1067 
1068 
1069  //below is the original METAnalyzer formulation
1070 
1071  for (std::vector<std::string>::const_iterator ic = folderNames_.begin(); ic != folderNames_.end(); ic++) {
1073  DirName = dirName+*ic;
1074  makeRatePlot(DirName,totltime);
1075  for ( std::vector<GenericTriggerEventFlag *>::const_iterator it = triggerFolderEventFlag_.begin(); it!= triggerFolderEventFlag_.end(); it++) {
1076  int pos = it - triggerFolderEventFlag_.begin();
1077  if ((*it)->on()) {
1078  makeRatePlot(DirName+"/"+triggerFolderLabels_[pos],totltime);
1079  }
1080  }
1081  }
1082 
1083 }
std::map< std::string, MonitorElement * > map_dijet_MEs
Definition: METAnalyzer.h:591
TH1F * getTH1F() const
TObject * getRootObject() const
std::string FolderName_
Definition: METAnalyzer.h:142
std::vector< GenericTriggerEventFlag * > triggerFolderEventFlag_
Definition: METAnalyzer.h:214
void makeRatePlot(std::string, double)
edm::InputTag metCollectionLabel_
Definition: METAnalyzer.h:144
std::vector< std::string > folderNames_
Definition: METAnalyzer.h:288
std::string const & label() const
Definition: InputTag.h:36
std::vector< std::string > triggerFolderLabels_
Definition: METAnalyzer.h:216
void METAnalyzer::fillMESet ( const edm::Event ,
std::string  ,
const reco::MET ,
const pat::MET ,
const reco::PFMET ,
const reco::CaloMET ,
const reco::Candidate::PolarLorentzVector ,
std::map< std::string, MonitorElement * > &  ,
std::vector< bool >  ,
std::vector< bool >   
)

Definition at line 1671 of file METAnalyzer.cc.

References mps_fire::i, and AlCaHLTBitMon_QueryRunRegistry::string.

1673 {
1674  bool bLumiSecPlot=fill_met_high_level_histo;
1675  bool fillPFCandidatePlots=false;
1676  if (DirName.find("Cleaned")!=std::string::npos) {
1677  fillPFCandidatePlots=true;
1678  fillMonitorElement(iEvent, DirName, std::string(""), met, patmet, pfmet, calomet, zCand, map_of_MEs,bLumiSecPlot,fillPFCandidatePlots,techTriggerCase,METFilterDecision);
1679  for (unsigned int i = 0; i<triggerFolderLabels_.size(); i++) {
1680  fillPFCandidatePlots=false;
1681  if (triggerFolderDecisions_[i]){
1682  fillMonitorElement(iEvent, DirName, triggerFolderLabels_[i], met, patmet, pfmet, calomet, zCand, map_of_MEs,bLumiSecPlot,fillPFCandidatePlots,techTriggerCase,METFilterDecision);
1683  }
1684  }
1685  }else if (DirName.find("DiJet")!=std::string::npos) {
1686  fillMonitorElement(iEvent, DirName, std::string(""), met, patmet, pfmet, calomet, zCand, map_of_MEs,bLumiSecPlot,fillPFCandidatePlots,techTriggerCase,METFilterDecision);
1687  for (unsigned int i = 0; i<triggerFolderLabels_.size(); i++) {
1688  if (triggerFolderDecisions_[i]) fillMonitorElement(iEvent, DirName, triggerFolderLabels_[i], met, patmet, pfmet, calomet, zCand, map_of_MEs,bLumiSecPlot,fillPFCandidatePlots,techTriggerCase,METFilterDecision);
1689  }
1690  }else if (DirName.find("ZJets")!=std::string::npos) {
1691  fillMonitorElement(iEvent, DirName, std::string(""), met, patmet, pfmet, calomet, zCand, map_of_MEs,bLumiSecPlot,fillPFCandidatePlots,techTriggerCase,METFilterDecision);
1692  }else{
1693  fillMonitorElement(iEvent, DirName, std::string(""), met, patmet, pfmet, calomet, zCand, map_of_MEs,bLumiSecPlot,fillPFCandidatePlots,techTriggerCase,METFilterDecision);
1694  }
1695 
1696 
1697 }
std::vector< int > triggerFolderDecisions_
Definition: METAnalyzer.h:217
int iEvent
Definition: GenABIO.cc:230
bool fill_met_high_level_histo
Definition: METAnalyzer.h:597
void fillMonitorElement(const edm::Event &, std::string, std::string, const reco::MET &, const pat::MET &, const reco::PFMET &, const reco::CaloMET &, const reco::Candidate::PolarLorentzVector &, std::map< std::string, MonitorElement * > &, bool, bool, std::vector< bool >, std::vector< bool >)
met
===> hadronic RAZOR
std::vector< std::string > triggerFolderLabels_
Definition: METAnalyzer.h:216
void METAnalyzer::fillMonitorElement ( const edm::Event ,
std::string  ,
std::string  ,
const reco::MET ,
const pat::MET ,
const reco::PFMET ,
const reco::CaloMET ,
const reco::Candidate::PolarLorentzVector ,
std::map< std::string, MonitorElement * > &  ,
bool  ,
bool  ,
std::vector< bool >  ,
std::vector< bool >   
)

Definition at line 1700 of file METAnalyzer.cc.

References EnergyCorrector::c, pat::MET::ChargedEMEtFraction(), pat::MET::ChargedHadEtFraction(), reco::PFMET::chargedHadronEt(), reco::PFMET::chargedHadronEtFraction(), reco::PFMET::electronEt(), reco::CaloMET::emEtFraction(), reco::CaloMET::emEtInEB(), reco::CaloMET::emEtInEE(), reco::CaloMET::emEtInHF(), reco::LeafCandidate::et(), reco::LeafCandidate::eta(), reco::CaloMET::etFractionHadronic(), HcalObjRepresent::Fill(), edm::Event::getByToken(), reco::CaloMET::hadEtInHB(), reco::CaloMET::hadEtInHE(), reco::CaloMET::hadEtInHF(), reco::CaloMET::hadEtInHO(), reco::PFMET::HFEMEt(), reco::PFMET::HFEMEtFraction(), reco::PFMET::HFHadronEt(), reco::PFMET::HFHadronEtFraction(), mps_fire::i, edm::EventBase::luminosityBlock(), reco::MET::mEtSig(), reco::PFMET::muonEt(), pat::MET::MuonEtFraction(), pat::MET::NeutralEMFraction(), pat::MET::NeutralHadEtFraction(), reco::PFMET::neutralHadronEt(), reco::PFMET::neutralHadronEtFraction(), pfLinker_cff::particleFlow, reco::PFCandidate::particleId(), reco::LeafCandidate::phi(), reco::PFMET::photonEt(), reco::PFMET::photonEtFraction(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), mathSSE::sqrt(), reco::MET::sumEt(), pat::MET::Type6EtFraction(), and pat::MET::Type7EtFraction().

1703 {
1704  bool do_only_Z_histograms=false;
1705  if(DirName.find("ZJets")!=std::string::npos) {//do Z plots only
1706  do_only_Z_histograms=true;
1707  //\vec{p}_{T}^{Z}+vec{u}_{T}+\vec{MET}=0
1708 
1709  double u_x=-met.px()-zCand.Px();
1710  double u_y=-met.py()-zCand.Py();
1711 
1712  //protection for VERY special case where Z-Pt==0
1713  double u_par=0;
1714  double u_perp=sqrt(u_x*u_x + u_y*u_y);
1715  double e_Z_x=0;
1716  double e_Z_y=0;
1717  if(zCand.Pt()!=0){
1718  e_Z_x = zCand.Px()/zCand.Pt();
1719  e_Z_y = zCand.Py()/zCand.Pt();
1720  }
1721  u_par=u_x*e_Z_x+u_y*e_Z_y;
1722  u_perp= -e_Z_y * u_x + e_Z_x*u_y;
1723 
1724  meZJets_u_par = map_of_MEs[DirName+"/"+"u_parallel_Z_inc"]; if ( meZJets_u_par && meZJets_u_par->getRootObject()) meZJets_u_par ->Fill(u_par);
1725  if(zCand.Pt()<15){
1726  meZJets_u_par_ZPt_0_15 = map_of_MEs[DirName+"/"+"u_parallel_ZPt_0_15"]; if ( meZJets_u_par_ZPt_0_15 && meZJets_u_par_ZPt_0_15->getRootObject()) meZJets_u_par_ZPt_0_15 ->Fill(u_par);
1727  }else if(zCand.Pt()<30){
1728  meZJets_u_par_ZPt_15_30 = map_of_MEs[DirName+"/"+"u_parallel_ZPt_15_30"]; if ( meZJets_u_par_ZPt_15_30 && meZJets_u_par_ZPt_15_30->getRootObject()) meZJets_u_par_ZPt_15_30 ->Fill(u_par);
1729  }else if(zCand.Pt()<55){
1730  meZJets_u_par_ZPt_30_55 = map_of_MEs[DirName+"/"+"u_parallel_ZPt_30_55"]; if ( meZJets_u_par_ZPt_30_55 && meZJets_u_par_ZPt_30_55->getRootObject()) meZJets_u_par_ZPt_30_55 ->Fill(u_par);
1731  }else if(zCand.Pt()<75){
1732  meZJets_u_par_ZPt_55_75 = map_of_MEs[DirName+"/"+"u_parallel_ZPt_55_75"]; if ( meZJets_u_par_ZPt_55_75 && meZJets_u_par_ZPt_55_75->getRootObject()) meZJets_u_par_ZPt_55_75 ->Fill(u_par);
1733  }else if(zCand.Pt()<150){
1735  }else if(zCand.Pt()<290){
1737  }else{
1738  meZJets_u_par_ZPt_290 = map_of_MEs[DirName+"/"+"u_parallel_ZPt_290"]; if ( meZJets_u_par_ZPt_290 && meZJets_u_par_ZPt_290->getRootObject()) meZJets_u_par_ZPt_290 ->Fill(u_par);
1739  }
1740 
1741  meZJets_u_perp = map_of_MEs[DirName+"/"+"u_perp_Z_inc"]; if ( meZJets_u_perp && meZJets_u_perp->getRootObject()) meZJets_u_perp ->Fill(u_perp);
1742  if(zCand.Pt()<15){
1744  }else if(zCand.Pt()<30){
1746  }else if(zCand.Pt()<55){
1748  }else if(zCand.Pt()<75){
1750  }else if(zCand.Pt()<150){
1752  }else if(zCand.Pt()<290){
1754  }else{
1756  }
1757 
1758 
1759  }
1760  if(!do_only_Z_histograms){
1761  // Reconstructed MET Information
1762  double SumET = met.sumEt();
1763  double METSig = met.mEtSig();
1764  //double Ez = met.e_longitudinal();
1765  double MET = met.pt();
1766  double MEx = met.px();
1767  double MEy = met.py();
1768  double METPhi = met.phi();
1769  //
1770  int myLuminosityBlock;
1771  myLuminosityBlock = iEvent.luminosityBlock();
1772  //
1773 
1774  if (subFolderName!=""){
1775  DirName = DirName +"/"+subFolderName;
1776  }
1777 
1778  hTrigger = map_of_MEs[DirName+"/triggerResults"];
1779  if (hTrigger && hTrigger->getRootObject()) {
1780  for (unsigned int i = 0; i<allTriggerDecisions_.size();i++){
1781  if(i<(unsigned int)hTrigger->getNbinsX()){
1783  }
1784  }
1785  }
1786 
1787 
1788  hMEx = map_of_MEs[DirName+"/"+"MEx"]; if (hMEx && hMEx->getRootObject()) hMEx ->Fill(MEx);
1789  hMEy = map_of_MEs[DirName+"/"+"MEy"]; if (hMEy && hMEy->getRootObject()) hMEy ->Fill(MEy);
1790  hMET = map_of_MEs[DirName+"/"+"MET"]; if (hMET && hMET->getRootObject()) hMET ->Fill(MET);
1791  hMET_2 = map_of_MEs[DirName+"/"+"MET_2"]; if (hMET_2 && hMET_2->getRootObject()) hMET_2 ->Fill(MET);
1792 
1793  //hMET_HBHENoiseFilter = ibooker.book1D("MET_HBHENoiseFilter", "MET_HBHENoiseFiltered", 200, 0, 1000);
1794  //hMET_CSCTightHaloFilter = ibooker.book1D("MET_CSCTightHaloFilter", "MET_CSCTightHaloFiltered", 200, 0, 1000);
1795  //hMET_eeBadScFilter = ibooker.book1D("MET_eeBadScFilter", "MET_eeBadScFiltered", 200, 0, 1000);
1796  //hMET_HBHEIsoNoiseFilter = ibooker.book1D("MET_HBHEIsoNoiseFilter", "MET_HBHEIsoNoiseFiltered", 200, 0, 1000);
1797  //hMET_CSCTightHalo2015Filter = ibooker.book1D("MET_CSCTightHalo2015Filter", "MET_CSCTightHalo2015Filtered", 200, 0, 1000);
1798  //hMET_EcalDeadCellTriggerFilter = ibooker.book1D("MET_EcalDeadCellTriggerFilter", "MET_EcalDeadCellTriggerFiltered", 200, 0, 1000);
1799  //hMET_EcalDeadCellBoundaryFilter = ibooker.book1D("MET_EcalDeadCellBoundaryFilter", "MET_EcalDeadCellBoundaryFiltered", 200, 0, 1000);
1800  //hMET_HcalStripHaloFilter = ibooker.book1D("MET_HcalStripHaloFilter", "MET_HcalStripHaloFiltered", 200, 0, 1000);
1801 
1802 
1803  bool HBHENoiseFilterResult=false;
1804  bool CSCTightHaloFilterResult=false;
1805  bool eeBadScFilterResult=false;
1806  bool HBHEIsoNoiseFilterResult=false;
1807  bool CSCTightHalo2015FilterResult=false;
1808  bool EcalDeadCellTriggerFilterResult=false;
1809  bool EcalDeadCellBoundaryFilterResult=false;
1810  bool HcalStripHaloFilterResult=false;
1811  HBHENoiseFilterResult = METFilterDecision[0];
1812  if(HBHENoiseFilterResult){
1813  hMET_HBHENoiseFilter = map_of_MEs[DirName+"/"+"MET_HBHENoiseFilter"]; if (hMET_HBHENoiseFilter && hMET_HBHENoiseFilter->getRootObject()) hMET_HBHENoiseFilter ->Fill(MET);
1814  }
1815  CSCTightHaloFilterResult = METFilterDecision[1];
1816  if(CSCTightHaloFilterResult){
1818  }
1819  eeBadScFilterResult = METFilterDecision[2];
1820  if(eeBadScFilterResult){
1821  hMET_eeBadScFilter = map_of_MEs[DirName+"/"+"MET_eeBadScFilter"]; if (hMET_eeBadScFilter && hMET_eeBadScFilter->getRootObject()) hMET_eeBadScFilter ->Fill(MET);
1822  }
1823  HBHEIsoNoiseFilterResult = METFilterDecision[3];
1824  if(HBHEIsoNoiseFilterResult){
1826  }
1827  CSCTightHalo2015FilterResult = METFilterDecision[4];
1828  if(CSCTightHalo2015FilterResult){
1830  }
1831  EcalDeadCellTriggerFilterResult = METFilterDecision[5];
1832  if(EcalDeadCellTriggerFilterResult){
1834  }
1835  EcalDeadCellBoundaryFilterResult = METFilterDecision[6];
1836  if(EcalDeadCellBoundaryFilterResult){
1838  }
1839  HcalStripHaloFilterResult = METFilterDecision[7];
1840  if(HcalStripHaloFilterResult){
1842  }
1843  hMETPhi = map_of_MEs[DirName+"/"+"METPhi"]; if (hMETPhi && hMETPhi->getRootObject()) hMETPhi ->Fill(METPhi);
1844  hSumET = map_of_MEs[DirName+"/"+"SumET"]; if (hSumET && hSumET->getRootObject()) hSumET ->Fill(SumET);
1845  hMETSig = map_of_MEs[DirName+"/"+"METSig"]; if (hMETSig && hMETSig->getRootObject()) hMETSig ->Fill(METSig);
1846  hMET_logx = map_of_MEs[DirName+"/"+"MET_logx"]; if (hMET_logx && hMET_logx->getRootObject()) hMET_logx->Fill(log10(MET));
1847  hSumET_logx = map_of_MEs[DirName+"/"+"SumET_logx"]; if (hSumET_logx && hSumET_logx->getRootObject()) hSumET_logx->Fill(log10(SumET));
1848 
1849  // Fill NPV profiles
1850  //--------------------------------------------------------------------------
1851  meMEx_profile = map_of_MEs[DirName + "/MEx_profile"];
1852  meMEy_profile = map_of_MEs[DirName + "/MEy_profile"];
1853  meMET_profile = map_of_MEs[DirName + "/MET_profile"];
1854  meSumET_profile = map_of_MEs[DirName + "/SumET_profile"];
1855 
1856  if (meMEx_profile && meMEx_profile ->getRootObject()) meMEx_profile ->Fill(numPV_, MEx);
1857  if (meMEy_profile && meMEy_profile ->getRootObject()) meMEy_profile ->Fill(numPV_, MEy);
1858  if (meMET_profile && meMET_profile ->getRootObject()) meMET_profile ->Fill(numPV_, MET);
1860 
1861  if(isCaloMet_){
1862  //const reco::CaloMETCollection *calometcol = calometcoll.product();
1863  //const reco::CaloMET *calomet;
1864  //calomet = &(calometcol->front());
1865 
1866  double caloEtFractionHadronic = calomet.etFractionHadronic();
1867  double caloEmEtFraction = calomet.emEtFraction();
1868 
1869  double caloHadEtInHB = calomet.hadEtInHB();
1870  double caloHadEtInHO = calomet.hadEtInHO();
1871  double caloHadEtInHE = calomet.hadEtInHE();
1872  double caloHadEtInHF = calomet.hadEtInHF();
1873  double caloEmEtInEB = calomet.emEtInEB();
1874  double caloEmEtInEE = calomet.emEtInEE();
1875  double caloEmEtInHF = calomet.emEtInHF();
1876 
1877  hCaloHadEtInHB = map_of_MEs[DirName+"/"+"CaloHadEtInHB"]; if (hCaloHadEtInHB && hCaloHadEtInHB->getRootObject()) hCaloHadEtInHB->Fill(caloHadEtInHB);
1878  hCaloHadEtInHO = map_of_MEs[DirName+"/"+"CaloHadEtInHO"]; if (hCaloHadEtInHO && hCaloHadEtInHO->getRootObject()) hCaloHadEtInHO->Fill(caloHadEtInHO);
1879  hCaloHadEtInHE = map_of_MEs[DirName+"/"+"CaloHadEtInHE"]; if (hCaloHadEtInHE && hCaloHadEtInHE->getRootObject()) hCaloHadEtInHE->Fill(caloHadEtInHE);
1880  hCaloHadEtInHF = map_of_MEs[DirName+"/"+"CaloHadEtInHF"]; if (hCaloHadEtInHF && hCaloHadEtInHF->getRootObject()) hCaloHadEtInHF->Fill(caloHadEtInHF);
1881  hCaloEmEtInEB = map_of_MEs[DirName+"/"+"CaloEmEtInEB"]; if (hCaloEmEtInEB && hCaloEmEtInEB->getRootObject()) hCaloEmEtInEB->Fill(caloEmEtInEB);
1882  hCaloEmEtInEE = map_of_MEs[DirName+"/"+"CaloEmEtInEE"]; if (hCaloEmEtInEE && hCaloEmEtInEE->getRootObject()) hCaloEmEtInEE->Fill(caloEmEtInEE);
1883  hCaloEmEtInHF = map_of_MEs[DirName+"/"+"CaloEmEtInHF"]; if (hCaloEmEtInHF && hCaloEmEtInHF->getRootObject()) hCaloEmEtInHF->Fill(caloEmEtInHF);
1884 
1885  hCaloMETPhi020 = map_of_MEs[DirName+"/"+"CaloMETPhi020"]; if (MET> 20. && hCaloMETPhi020 && hCaloMETPhi020->getRootObject()) { hCaloMETPhi020->Fill(METPhi);}
1886 
1887 
1888  hCaloEtFractionHadronic = map_of_MEs[DirName+"/"+"CaloEtFractionHadronic"]; if (hCaloEtFractionHadronic && hCaloEtFractionHadronic->getRootObject()) hCaloEtFractionHadronic->Fill(caloEtFractionHadronic);
1889  hCaloEmEtFraction = map_of_MEs[DirName+"/"+"CaloEmEtFraction"]; if (hCaloEmEtFraction && hCaloEmEtFraction->getRootObject()) hCaloEmEtFraction->Fill(caloEmEtFraction);
1890  hCaloEmEtFraction020 = map_of_MEs[DirName+"/"+"CaloEmEtFraction020"]; if (MET> 20. && hCaloEmEtFraction020 && hCaloEmEtFraction020->getRootObject()) hCaloEmEtFraction020->Fill(caloEmEtFraction);
1891  }
1892  if(isPFMet_){
1893 
1894  if(fillPFCandidatePlots && fillCandidateMap_histos){
1895  for (unsigned int i=0;i<countsPFCand_.size();i++) {
1896  countsPFCand_[i]=0;
1897  MExPFCand_[i]=0.;
1898  MEyPFCand_[i]=0.;
1899  }
1900 
1901  // typedef std::vector<reco::PFCandidate> pfCand;
1903  iEvent.getByToken(pflowToken_, particleFlow);
1904 
1905  float pt_sum_CHF_Barrel=0;
1906  float pt_sum_CHF_Endcap_plus=0;
1907  float pt_sum_CHF_Endcap_minus=0;
1908  float pt_sum_NHF_Barrel=0;
1909  float pt_sum_NHF_Endcap_plus=0;
1910  float pt_sum_NHF_Endcap_minus=0;
1911  float pt_sum_PhF_Barrel=0;
1912  float pt_sum_PhF_Endcap_plus=0;
1913  float pt_sum_PhF_Endcap_minus=0;
1914  float pt_sum_HFH_plus=0;
1915  float pt_sum_HFH_minus=0;
1916  float pt_sum_HFE_plus=0;
1917  float pt_sum_HFE_minus=0;
1918 
1919  float px_chargedHadronsBarrel=0;
1920  float py_chargedHadronsBarrel=0;
1921  float px_chargedHadronsEndcapPlus=0;
1922  float py_chargedHadronsEndcapPlus=0;
1923  float px_chargedHadronsEndcapMinus=0;
1924  float py_chargedHadronsEndcapMinus=0;
1925  float px_neutralHadronsBarrel=0;
1926  float py_neutralHadronsBarrel=0;
1927  float px_neutralHadronsEndcapPlus=0;
1928  float py_neutralHadronsEndcapPlus=0;
1929  float px_neutralHadronsEndcapMinus=0;
1930  float py_neutralHadronsEndcapMinus=0;
1931  float px_PhotonsBarrel=0;
1932  float py_PhotonsBarrel=0;
1933  float px_PhotonsEndcapPlus=0;
1934  float py_PhotonsEndcapPlus=0;
1935  float px_PhotonsEndcapMinus=0;
1936  float py_PhotonsEndcapMinus=0;
1937  float px_HFHadronsPlus=0;
1938  float py_HFHadronsPlus=0;
1939  float px_HFHadronsMinus=0;
1940  float py_HFHadronsMinus=0;
1941  float px_HFEGammasPlus=0;
1942  float py_HFEGammasPlus=0;
1943  float px_HFEGammasMinus=0;
1944  float py_HFEGammasMinus=0;
1945  for (unsigned int i = 0; i < particleFlow->size(); i++) {
1946  const reco::PFCandidate& c = particleFlow->at(i);
1947  if(c.particleId()==1){//charged hadrons
1948  //endcap minus
1949  if(c.eta()>(-3.0)&& c.eta()<(-1.392)){
1950  px_chargedHadronsEndcapMinus-=c.px();
1951  py_chargedHadronsEndcapMinus-=c.py();
1952  pt_sum_CHF_Endcap_minus+=c.et();
1953  }else if(c.eta()>=(-1.392)&& c.eta()<=1.392){//barrel
1954  px_chargedHadronsBarrel-=c.px();
1955  py_chargedHadronsBarrel-=c.py();
1956  pt_sum_CHF_Barrel+=c.et();
1957  }else if(c.eta()>1.392 && c.eta()<3.0){//endcap plus
1958  px_chargedHadronsEndcapPlus-=c.px();
1959  py_chargedHadronsEndcapPlus-=c.py();
1960  pt_sum_CHF_Endcap_plus+=c.et();
1961  }
1962  }
1963  if(c.particleId()==5){//neutral hadrons
1964  //endcap minus
1965  if(c.eta()>(-3.0)&& c.eta()<(-1.392)){
1966  px_neutralHadronsEndcapMinus-=c.px();
1967  py_neutralHadronsEndcapMinus-=c.py();
1968  pt_sum_NHF_Endcap_minus+=c.et();
1969  }else if(c.eta()>=(-1.392)&& c.eta()<=1.392){
1970  px_neutralHadronsBarrel-=c.px();
1971  py_neutralHadronsBarrel-=c.py();
1972  pt_sum_NHF_Barrel+=c.et();
1973  }else if(c.eta()>1.392 && c.eta()<3.0){
1974  px_neutralHadronsEndcapPlus-=c.px();
1975  py_neutralHadronsEndcapPlus-=c.py();
1976  pt_sum_NHF_Endcap_plus+=c.et();
1977  }
1978  }
1979  if(c.particleId()==4){//photons
1980  //endcap minus
1981  if(c.eta()>(-3.0)&& c.eta()<(-1.479)){
1982  px_PhotonsEndcapMinus-=c.px();
1983  py_PhotonsEndcapMinus-=c.py();
1984  pt_sum_PhF_Endcap_minus+=c.et();
1985  }else if(c.eta()>=(-1.479)&& c.eta()<=1.479){
1986  px_PhotonsBarrel-=c.px();
1987  py_PhotonsBarrel-=c.py();
1988  pt_sum_PhF_Barrel+=c.et();
1989  }else if(c.eta()>1.479 && c.eta()<3.0){
1990  px_PhotonsEndcapPlus-=c.px();
1991  py_PhotonsEndcapPlus-=c.py();
1992  pt_sum_PhF_Endcap_plus+=c.et();
1993  }
1994  }
1995  if(c.particleId()==6){//HFHadrons
1996  //forward minus
1997  if(c.eta()>(-5.20)&& c.eta()<-2.901376){
1998  pt_sum_HFH_minus+=c.et();
1999  px_HFHadronsMinus-=c.px();
2000  py_HFHadronsMinus-=c.py();
2001  }else if(c.eta()>2.901376 && c.eta()<5.20){//forward plus
2002  px_HFHadronsPlus-=c.px();
2003  py_HFHadronsPlus-=c.py();
2004  pt_sum_HFH_plus+=c.et();
2005  }
2006  }
2007  if(c.particleId()==7){//HFEGammas
2008  //forward minus
2009  if(c.eta()>(-5.20)&& c.eta()<-2.901376){
2010  pt_sum_HFE_minus+=c.et();
2011  px_HFEGammasMinus-=c.px();
2012  py_HFEGammasMinus-=c.py();
2013  }else if(c.eta()>2.901376 && c.eta()<5.20){//forward plus
2014  px_HFEGammasPlus-=c.px();
2015  py_HFEGammasPlus-=c.py();
2016  pt_sum_HFE_plus+=c.et();
2017  }
2018  }
2019  for (unsigned int j=0; j<typePFCand_.size(); j++) {
2020  if (c.particleId()==typePFCand_[j]) {
2021  //second check for endcap, if inside barrel Max and Min symmetric around 0
2022  if ( ((c.eta()>etaMinPFCand_[j]) && (c.eta()<etaMaxPFCand_[j])) || ((c.eta()> (-etaMaxPFCand_[j])) && (c.eta()< (-etaMinPFCand_[j]))) ){
2023  countsPFCand_[j]+=1;
2024  MExPFCand_[j]-=c.px();
2025  MEyPFCand_[j]-=c.py();
2026  }
2027  }
2028  }
2029  }
2030 
2031  for (unsigned int j=0; j<countsPFCand_.size(); j++) {
2032  profilePFCand_x_[j] = map_of_MEs[DirName + "/"+profilePFCand_x_name_[j]];
2033  if(profilePFCand_x_[j] && profilePFCand_x_[j]->getRootObject()) profilePFCand_x_[j]->Fill(countsPFCand_[j], MExPFCand_[j]);
2034  profilePFCand_y_[j] = map_of_MEs[DirName + "/"+profilePFCand_y_name_[j]];
2035  if(profilePFCand_y_[j] && profilePFCand_y_[j]->getRootObject()) profilePFCand_y_[j]->Fill(countsPFCand_[j], MEyPFCand_[j]);
2036  }
2037  meCHF_Barrel=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionBarrel"]; if(meCHF_Barrel && meCHF_Barrel->getRootObject()) meCHF_Barrel->Fill(pt_sum_CHF_Barrel/pfmet.sumEt());
2038  meCHF_EndcapPlus=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionEndcapPlus"]; if(meCHF_EndcapPlus && meCHF_EndcapPlus->getRootObject()) meCHF_EndcapPlus->Fill(pt_sum_CHF_Endcap_plus/pfmet.sumEt());
2039  meCHF_EndcapMinus=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionEndcapMinus"]; if(meCHF_EndcapMinus && meCHF_EndcapMinus->getRootObject()) meCHF_EndcapMinus->Fill(pt_sum_CHF_Endcap_minus/pfmet.sumEt());
2040  meNHF_Barrel=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionBarrel"]; if(meNHF_Barrel && meNHF_Barrel->getRootObject()) meNHF_Barrel->Fill(pt_sum_NHF_Barrel/pfmet.sumEt());
2041  meNHF_EndcapPlus=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionEndcapPlus"]; if(meNHF_EndcapPlus && meNHF_EndcapPlus->getRootObject()) meNHF_EndcapPlus->Fill(pt_sum_NHF_Endcap_plus/pfmet.sumEt());
2042  meNHF_EndcapMinus=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionEndcapMinus"]; if(meNHF_EndcapMinus && meNHF_EndcapMinus->getRootObject()) meNHF_EndcapMinus->Fill(pt_sum_NHF_Endcap_minus/pfmet.sumEt());
2043  mePhF_Barrel=map_of_MEs[DirName+"/"+"PfPhotonEtFractionBarrel"]; if(mePhF_Barrel && mePhF_Barrel->getRootObject()) mePhF_Barrel->Fill(pt_sum_PhF_Barrel/pfmet.sumEt());
2044  mePhF_EndcapPlus=map_of_MEs[DirName+"/"+"PfPhotonEtFractionEndcapPlus"]; if(mePhF_EndcapPlus && mePhF_EndcapPlus->getRootObject()) mePhF_EndcapPlus->Fill(pt_sum_PhF_Endcap_plus/pfmet.sumEt());
2045  mePhF_EndcapMinus=map_of_MEs[DirName+"/"+"PfPhotonEtFractionEndcapMinus"]; if(mePhF_EndcapMinus && mePhF_EndcapMinus->getRootObject()) mePhF_EndcapMinus->Fill(pt_sum_PhF_Endcap_minus/pfmet.sumEt());
2046  meHFHadF_Plus=map_of_MEs[DirName+"/"+"PfHFHadronEtFractionPlus"]; if(meHFHadF_Plus && meHFHadF_Plus->getRootObject()) meHFHadF_Plus->Fill(pt_sum_HFH_plus/pfmet.sumEt());
2047  meHFHadF_Minus=map_of_MEs[DirName+"/"+"PfHFHadronEtFractionMinus"]; if(meHFHadF_Minus && meHFHadF_Minus->getRootObject()) meHFHadF_Minus->Fill(pt_sum_HFH_minus/pfmet.sumEt());
2048  meHFEMF_Plus=map_of_MEs[DirName+"/"+"PfHFEMEtFractionPlus"]; if(meHFEMF_Plus && meHFEMF_Plus->getRootObject()) meHFEMF_Plus->Fill(pt_sum_HFE_plus/pfmet.sumEt());
2049  meHFEMF_Minus=map_of_MEs[DirName+"/"+"PfHFEMEtFractionMinus"]; if(meHFEMF_Minus && meHFEMF_Minus->getRootObject()) meHFEMF_Minus->Fill(pt_sum_HFE_minus/pfmet.sumEt());
2050  //sanity check if we have any type of the respective species in the events
2051  //else don't fill phi, as else we have a results of a biased peak at 0
2052  //if pt_sum of species part is 0, obviously that would be the case
2053  if(pt_sum_CHF_Barrel){
2054  meMETPhiChargedHadronsBarrel = map_of_MEs[DirName+"/"+"METPhiChargedHadronsBarrel"];if(meMETPhiChargedHadronsBarrel && meMETPhiChargedHadronsBarrel ->getRootObject())meMETPhiChargedHadronsBarrel->Fill(atan2(py_chargedHadronsBarrel,px_chargedHadronsBarrel));
2055  }
2056  if(pt_sum_CHF_Endcap_plus){
2057  meMETPhiChargedHadronsEndcapPlus = map_of_MEs[DirName+"/"+"METPhiChargedHadronsEndcapPlus"];if(meMETPhiChargedHadronsEndcapPlus && meMETPhiChargedHadronsEndcapPlus ->getRootObject())meMETPhiChargedHadronsEndcapPlus->Fill(atan2(py_chargedHadronsEndcapPlus,px_chargedHadronsEndcapPlus));
2058  }
2059  if(pt_sum_CHF_Endcap_minus){
2060  meMETPhiChargedHadronsEndcapMinus = map_of_MEs[DirName+"/"+"METPhiChargedHadronsEndcapMinus"];if(meMETPhiChargedHadronsEndcapMinus && meMETPhiChargedHadronsEndcapMinus ->getRootObject())meMETPhiChargedHadronsEndcapMinus->Fill(atan2(py_chargedHadronsEndcapMinus,px_chargedHadronsEndcapMinus));
2061  }
2062  if(pt_sum_NHF_Barrel){
2063  meMETPhiNeutralHadronsBarrel = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsBarrel"];if(meMETPhiNeutralHadronsBarrel && meMETPhiNeutralHadronsBarrel ->getRootObject())meMETPhiNeutralHadronsBarrel->Fill(atan2(py_neutralHadronsBarrel,px_neutralHadronsBarrel));
2064  }
2065  if(pt_sum_NHF_Endcap_plus){
2066  meMETPhiNeutralHadronsEndcapPlus = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsEndcapPlus"];if(meMETPhiNeutralHadronsEndcapPlus && meMETPhiNeutralHadronsEndcapPlus ->getRootObject())meMETPhiNeutralHadronsEndcapPlus->Fill(atan2(py_neutralHadronsEndcapPlus,px_neutralHadronsEndcapPlus));
2067  }
2068  if(pt_sum_NHF_Endcap_minus){
2069  meMETPhiNeutralHadronsEndcapMinus = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsEndcapMinus"];if(meMETPhiNeutralHadronsEndcapMinus && meMETPhiNeutralHadronsEndcapMinus ->getRootObject())meMETPhiNeutralHadronsEndcapMinus->Fill(atan2(py_neutralHadronsEndcapMinus,px_neutralHadronsEndcapMinus));
2070  }
2071  if(pt_sum_PhF_Barrel){
2072  meMETPhiPhotonsBarrel = map_of_MEs[DirName+"/"+"METPhiPhotonsBarrel"];if(meMETPhiPhotonsBarrel && meMETPhiPhotonsBarrel ->getRootObject())meMETPhiPhotonsBarrel->Fill(atan2(py_PhotonsBarrel,px_PhotonsBarrel));
2073  }
2074  if(pt_sum_PhF_Endcap_plus){
2075  meMETPhiPhotonsEndcapPlus = map_of_MEs[DirName+"/"+"METPhiPhotonsEndcapPlus"];if(meMETPhiPhotonsEndcapPlus && meMETPhiPhotonsEndcapPlus ->getRootObject())meMETPhiPhotonsEndcapPlus->Fill(atan2(py_PhotonsEndcapPlus,px_PhotonsEndcapPlus));
2076  }
2077  if(pt_sum_PhF_Endcap_minus){
2078  meMETPhiPhotonsEndcapMinus = map_of_MEs[DirName+"/"+"METPhiPhotonsEndcapMinus"];if(meMETPhiPhotonsEndcapMinus && meMETPhiPhotonsEndcapMinus ->getRootObject())meMETPhiPhotonsEndcapMinus->Fill(atan2(py_PhotonsEndcapMinus,px_PhotonsEndcapMinus));
2079  }
2080  if(pt_sum_HFH_plus){
2081  meMETPhiHFHadronsPlus = map_of_MEs[DirName+"/"+"METPhiHFHadronsPlus"];if(meMETPhiHFHadronsPlus && meMETPhiHFHadronsPlus ->getRootObject())meMETPhiHFHadronsPlus->Fill(atan2(py_HFHadronsPlus,px_HFHadronsPlus));
2082  }
2083  if(pt_sum_HFH_minus){
2084  meMETPhiHFHadronsMinus = map_of_MEs[DirName+"/"+"METPhiHFHadronsMinus"];if(meMETPhiHFHadronsMinus && meMETPhiHFHadronsMinus ->getRootObject())meMETPhiHFHadronsMinus->Fill(atan2(py_HFHadronsMinus,px_HFHadronsMinus));
2085  }
2086  if(pt_sum_HFE_plus){
2087  meMETPhiHFEGammasPlus = map_of_MEs[DirName+"/"+"METPhiHFEGammasPlus"];if(meMETPhiHFEGammasPlus && meMETPhiHFEGammasPlus ->getRootObject())meMETPhiHFEGammasPlus->Fill(atan2(py_HFEGammasPlus,px_HFEGammasPlus));
2088  }
2089  if(pt_sum_HFE_minus){
2090  meMETPhiHFEGammasMinus = map_of_MEs[DirName+"/"+"METPhiHFEGammasMinus"];if(meMETPhiHFEGammasMinus && meMETPhiHFEGammasMinus ->getRootObject())meMETPhiHFEGammasMinus->Fill(atan2(py_HFEGammasMinus,px_HFEGammasMinus));
2091  }
2092  //fill other diagnostic plots based on trigger decision
2093  /*if(techTriggerCase[0]){//techTriggerResultBx0 && techTriggerResultBxM2 && techTriggerResultBxM1 -> both previous bunches filled
2094  meCHF_Barrel_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionBarrel_BXm2BXm1Filled"]; if(meCHF_Barrel_BXm2BXm1Filled && meCHF_Barrel_BXm2BXm1Filled->getRootObject()) meCHF_Barrel_BXm2BXm1Filled->Fill(pt_sum_CHF_Barrel/pfmet.sumEt());
2095  meCHF_EndcapPlus_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionEndcapPlus_BXm2BXm1Filled"]; if(meCHF_EndcapPlus_BXm2BXm1Filled && meCHF_EndcapPlus_BXm2BXm1Filled->getRootObject()) meCHF_EndcapPlus_BXm2BXm1Filled->Fill(pt_sum_CHF_Endcap_plus/pfmet.sumEt());
2096  meCHF_EndcapMinus_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionEndcapMinus_BXm2BXm1Filled"]; if(meCHF_EndcapMinus_BXm2BXm1Filled && meCHF_EndcapMinus_BXm2BXm1Filled->getRootObject()) meCHF_EndcapMinus_BXm2BXm1Filled->Fill(pt_sum_CHF_Endcap_minus/pfmet.sumEt());
2097  meNHF_Barrel_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionBarrel_BXm2BXm1Filled"]; if(meNHF_Barrel_BXm2BXm1Filled && meNHF_Barrel_BXm2BXm1Filled->getRootObject()) meNHF_Barrel_BXm2BXm1Filled->Fill(pt_sum_NHF_Barrel/pfmet.sumEt());
2098  meNHF_EndcapPlus_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionEndcapPlus_BXm2BXm1Filled"]; if(meNHF_EndcapPlus_BXm2BXm1Filled && meNHF_EndcapPlus_BXm2BXm1Filled->getRootObject()) meNHF_EndcapPlus_BXm2BXm1Filled->Fill(pt_sum_NHF_Endcap_plus/pfmet.sumEt());
2099  meNHF_EndcapMinus_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionEndcapMinus_BXm2BXm1Filled"]; if(meNHF_EndcapMinus_BXm2BXm1Filled && meNHF_EndcapMinus_BXm2BXm1Filled->getRootObject()) meNHF_EndcapMinus_BXm2BXm1Filled->Fill(pt_sum_NHF_Endcap_minus/pfmet.sumEt());
2100  mePhF_Barrel_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfPhotonEtFractionBarrel_BXm2BXm1Filled"]; if(mePhF_Barrel_BXm2BXm1Filled && mePhF_Barrel_BXm2BXm1Filled->getRootObject()) mePhF_Barrel_BXm2BXm1Filled->Fill(pt_sum_PhF_Barrel/pfmet.sumEt());
2101  mePhF_EndcapPlus_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfPhotonEtFractionEndcapPlus_BXm2BXm1Filled"]; if(mePhF_EndcapPlus_BXm2BXm1Filled && mePhF_EndcapPlus_BXm2BXm1Filled->getRootObject()) mePhF_EndcapPlus_BXm2BXm1Filled->Fill(pt_sum_PhF_Endcap_plus/pfmet.sumEt());
2102  mePhF_EndcapMinus_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfPhotonEtFractionEndcapMinus_BXm2BXm1Filled"]; if(mePhF_EndcapMinus_BXm2BXm1Filled && mePhF_EndcapMinus_BXm2BXm1Filled->getRootObject()) mePhF_EndcapMinus_BXm2BXm1Filled->Fill(pt_sum_PhF_Endcap_minus/pfmet.sumEt());
2103  meHFHadF_Plus_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfHFHadronEtFractionPlus_BXm2BXm1Filled"]; if(meHFHadF_Plus_BXm2BXm1Filled && meHFHadF_Plus_BXm2BXm1Filled->getRootObject()) meHFHadF_Plus_BXm2BXm1Filled->Fill(pt_sum_HFH_plus/pfmet.sumEt());
2104  meHFHadF_Minus_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfHFHadronEtFractionMinus_BXm2BXm1Filled"]; if(meHFHadF_Minus_BXm2BXm1Filled && meHFHadF_Minus_BXm2BXm1Filled->getRootObject()) meHFHadF_Minus_BXm2BXm1Filled->Fill(pt_sum_HFH_minus/pfmet.sumEt());
2105  meHFEMF_Plus_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfHFEMEtFractionPlus_BXm2BXm1Filled"]; if(meHFEMF_Plus_BXm2BXm1Filled && meHFEMF_Plus_BXm2BXm1Filled->getRootObject()) meHFEMF_Plus_BXm2BXm1Filled->Fill(pt_sum_HFE_plus/pfmet.sumEt());
2106  meHFEMF_Minus_BXm2BXm1Filled=map_of_MEs[DirName+"/"+"PfHFEMEtFractionMinus_BXm2BXm1Filled"]; if(meHFEMF_Minus_BXm2BXm1Filled && meHFEMF_Minus_BXm2BXm1Filled->getRootObject()) meHFEMF_Minus_BXm2BXm1Filled->Fill(pt_sum_HFE_minus/pfmet.sumEt());
2107  mePhotonEtFraction_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PfPhotonEtFraction_BXm2BXm1Filled"]; if ( mePhotonEtFraction_BXm2BXm1Filled && mePhotonEtFraction_BXm2BXm1Filled ->getRootObject()) mePhotonEtFraction_BXm2BXm1Filled ->Fill(pfmet.photonEtFraction());
2108  meNeutralHadronEtFraction_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PfNeutralHadronEtFraction_BXm2BXm1Filled"]; if ( meNeutralHadronEtFraction_BXm2BXm1Filled && meNeutralHadronEtFraction_BXm2BXm1Filled ->getRootObject()) meNeutralHadronEtFraction_BXm2BXm1Filled ->Fill(pfmet.neutralHadronEtFraction());
2109  meChargedHadronEtFraction_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"PfChargedHadronEtFraction_BXm2BXm1Filled"]; if ( meChargedHadronEtFraction_BXm2BXm1Filled && meChargedHadronEtFraction_BXm2BXm1Filled ->getRootObject()) meChargedHadronEtFraction_BXm2BXm1Filled ->Fill(pfmet.chargedHadronEtFraction());
2110  meMET_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"MET_BXm2BXm1Filled"]; if ( meMET_BXm2BXm1Filled && meMET_BXm2BXm1Filled ->getRootObject()) meMET_BXm2BXm1Filled ->Fill(pfmet.pt());
2111  meSumET_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"SumET_BXm2BXm1Filled"]; if ( meSumET_BXm2BXm1Filled && meSumET_BXm2BXm1Filled ->getRootObject()) meSumET_BXm2BXm1Filled ->Fill(pfmet.sumEt());
2112  if(pt_sum_CHF_Barrel){
2113  meMETPhiChargedHadronsBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiChargedHadronsBarrel_BXm2BXm1Filled"];if(meMETPhiChargedHadronsBarrel_BXm2BXm1Filled && meMETPhiChargedHadronsBarrel_BXm2BXm1Filled ->getRootObject())meMETPhiChargedHadronsBarrel_BXm2BXm1Filled->Fill(atan2(py_chargedHadronsBarrel,px_chargedHadronsBarrel));
2114  }
2115  if(pt_sum_CHF_Endcap_plus){
2116  meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiChargedHadronsEndcapPlus_BXm2BXm1Filled"];if(meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Filled && meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Filled ->getRootObject())meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Filled->Fill(atan2(py_chargedHadronsEndcapPlus,px_chargedHadronsEndcapPlus));
2117  }
2118  if(pt_sum_CHF_Endcap_minus){
2119  meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiChargedHadronsEndcapMinus_BXm2BXm1Filled"];if(meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Filled && meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Filled ->getRootObject())meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Filled->Fill(atan2(py_chargedHadronsEndcapMinus,px_chargedHadronsEndcapMinus));
2120  }
2121  if(pt_sum_NHF_Barrel){
2122  meMETPhiNeutralHadronsBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsBarrel_BXm2BXm1Filled"];if(meMETPhiNeutralHadronsBarrel_BXm2BXm1Filled && meMETPhiNeutralHadronsBarrel_BXm2BXm1Filled ->getRootObject())meMETPhiNeutralHadronsBarrel_BXm2BXm1Filled->Fill(atan2(py_neutralHadronsBarrel,px_neutralHadronsBarrel));
2123  }
2124  if(pt_sum_NHF_Endcap_plus){
2125  meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsEndcapPlus_BXm2BXm1Filled"];if(meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Filled && meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Filled ->getRootObject())meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Filled->Fill(atan2(py_neutralHadronsEndcapPlus,px_neutralHadronsEndcapPlus));
2126  }
2127  if(pt_sum_NHF_Endcap_minus){
2128  meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsEndcapMinus_BXm2BXm1Filled"];if(meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Filled && meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Filled ->getRootObject())meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Filled->Fill(atan2(py_neutralHadronsEndcapMinus,px_neutralHadronsEndcapMinus));
2129  }
2130  if(pt_sum_PhF_Barrel){
2131  meMETPhiPhotonsBarrel_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiPhotonsBarrel_BXm2BXm1Filled"];if(meMETPhiPhotonsBarrel_BXm2BXm1Filled && meMETPhiPhotonsBarrel_BXm2BXm1Filled ->getRootObject())meMETPhiPhotonsBarrel_BXm2BXm1Filled->Fill(atan2(py_PhotonsBarrel,px_PhotonsBarrel));
2132  }
2133  if(pt_sum_PhF_Endcap_plus){
2134  meMETPhiPhotonsEndcapPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiPhotonsEndcapPlus_BXm2BXm1Filled"];if(meMETPhiPhotonsEndcapPlus_BXm2BXm1Filled && meMETPhiPhotonsEndcapPlus_BXm2BXm1Filled ->getRootObject())meMETPhiPhotonsEndcapPlus_BXm2BXm1Filled->Fill(atan2(py_PhotonsEndcapPlus,px_PhotonsEndcapPlus));
2135  }
2136  if(pt_sum_PhF_Endcap_minus){
2137  meMETPhiPhotonsEndcapMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiPhotonsEndcapMinus_BXm2BXm1Filled"];if(meMETPhiPhotonsEndcapMinus_BXm2BXm1Filled && meMETPhiPhotonsEndcapMinus_BXm2BXm1Filled ->getRootObject())meMETPhiPhotonsEndcapMinus_BXm2BXm1Filled->Fill(atan2(py_PhotonsEndcapMinus,px_PhotonsEndcapMinus));
2138  }
2139  if(pt_sum_HFH_plus){
2140  meMETPhiHFHadronsPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiHFHadronsPlus_BXm2BXm1Filled"];if(meMETPhiHFHadronsPlus_BXm2BXm1Filled && meMETPhiHFHadronsPlus_BXm2BXm1Filled ->getRootObject())meMETPhiHFHadronsPlus_BXm2BXm1Filled->Fill(atan2(py_HFHadronsPlus,px_HFHadronsPlus));
2141  }
2142  if(pt_sum_HFH_minus){
2143  meMETPhiHFHadronsMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiHFHadronsMinus_BXm2BXm1Filled"];if(meMETPhiHFHadronsMinus_BXm2BXm1Filled && meMETPhiHFHadronsMinus_BXm2BXm1Filled ->getRootObject())meMETPhiHFHadronsMinus_BXm2BXm1Filled->Fill(atan2(py_HFHadronsMinus,px_HFHadronsMinus));
2144  }
2145  if(pt_sum_HFE_plus){
2146  meMETPhiHFEGammasPlus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiHFEGammasPlus_BXm2BXm1Filled"];if(meMETPhiHFEGammasPlus_BXm2BXm1Filled && meMETPhiHFEGammasPlus_BXm2BXm1Filled ->getRootObject())meMETPhiHFEGammasPlus_BXm2BXm1Filled->Fill(atan2(py_HFEGammasPlus,px_HFEGammasPlus));
2147  }
2148  if(pt_sum_HFE_minus){
2149  meMETPhiHFEGammasMinus_BXm2BXm1Filled = map_of_MEs[DirName+"/"+"METPhiHFEGammasMinus_BXm2BXm1Filled"];if(meMETPhiHFEGammasMinus_BXm2BXm1Filled && meMETPhiHFEGammasMinus_BXm2BXm1Filled ->getRootObject())meMETPhiHFEGammasMinus_BXm2BXm1Filled->Fill(atan2(py_HFEGammasMinus,px_HFEGammasMinus));
2150  }
2151  }*/
2152  if(techTriggerCase[1]){//techTriggerResultBx0 && techTriggerResultBxM1 -> previous bunch filled
2153  meCHF_Barrel_BXm1Filled=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionBarrel_BXm1Filled"]; if(meCHF_Barrel_BXm1Filled && meCHF_Barrel_BXm1Filled->getRootObject()) meCHF_Barrel_BXm1Filled->Fill(pt_sum_CHF_Barrel/pfmet.sumEt());
2154  meCHF_EndcapPlus_BXm1Filled=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionEndcapPlus_BXm1Filled"]; if(meCHF_EndcapPlus_BXm1Filled && meCHF_EndcapPlus_BXm1Filled->getRootObject()) meCHF_EndcapPlus_BXm1Filled->Fill(pt_sum_CHF_Endcap_plus/pfmet.sumEt());
2155  meCHF_EndcapMinus_BXm1Filled=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionEndcapMinus_BXm1Filled"]; if(meCHF_EndcapMinus_BXm1Filled && meCHF_EndcapMinus_BXm1Filled->getRootObject()) meCHF_EndcapMinus_BXm1Filled->Fill(pt_sum_CHF_Endcap_minus/pfmet.sumEt());
2156  meNHF_Barrel_BXm1Filled=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionBarrel_BXm1Filled"]; if(meNHF_Barrel_BXm1Filled && meNHF_Barrel_BXm1Filled->getRootObject()) meNHF_Barrel_BXm1Filled->Fill(pt_sum_NHF_Barrel/pfmet.sumEt());
2157  meNHF_EndcapPlus_BXm1Filled=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionEndcapPlus_BXm1Filled"]; if(meNHF_EndcapPlus_BXm1Filled && meNHF_EndcapPlus_BXm1Filled->getRootObject()) meNHF_EndcapPlus_BXm1Filled->Fill(pt_sum_NHF_Endcap_plus/pfmet.sumEt());
2158  meNHF_EndcapMinus_BXm1Filled=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionEndcapMinus_BXm1Filled"]; if(meNHF_EndcapMinus_BXm1Filled && meNHF_EndcapMinus_BXm1Filled->getRootObject()) meNHF_EndcapMinus_BXm1Filled->Fill(pt_sum_NHF_Endcap_minus/pfmet.sumEt());
2159  mePhF_Barrel_BXm1Filled=map_of_MEs[DirName+"/"+"PfPhotonEtFractionBarrel_BXm1Filled"]; if(mePhF_Barrel_BXm1Filled && mePhF_Barrel_BXm1Filled->getRootObject()) mePhF_Barrel_BXm1Filled->Fill(pt_sum_PhF_Barrel/pfmet.sumEt());
2160  mePhF_EndcapPlus_BXm1Filled=map_of_MEs[DirName+"/"+"PfPhotonEtFractionEndcapPlus_BXm1Filled"]; if(mePhF_EndcapPlus_BXm1Filled && mePhF_EndcapPlus_BXm1Filled->getRootObject()) mePhF_EndcapPlus_BXm1Filled->Fill(pt_sum_PhF_Endcap_plus/pfmet.sumEt());
2161  mePhF_EndcapMinus_BXm1Filled=map_of_MEs[DirName+"/"+"PfPhotonEtFractionEndcapMinus_BXm1Filled"]; if(mePhF_EndcapMinus_BXm1Filled && mePhF_EndcapMinus_BXm1Filled->getRootObject()) mePhF_EndcapMinus_BXm1Filled->Fill(pt_sum_PhF_Endcap_minus/pfmet.sumEt());
2162  meHFHadF_Plus_BXm1Filled=map_of_MEs[DirName+"/"+"PfHFHadronEtFractionPlus_BXm1Filled"]; if(meHFHadF_Plus_BXm1Filled && meHFHadF_Plus_BXm1Filled->getRootObject()) meHFHadF_Plus_BXm1Filled->Fill(pt_sum_HFH_plus/pfmet.sumEt());
2163  meHFHadF_Minus_BXm1Filled=map_of_MEs[DirName+"/"+"PfHFHadronEtFractionMinus_BXm1Filled"]; if(meHFHadF_Minus_BXm1Filled && meHFHadF_Minus_BXm1Filled->getRootObject()) meHFHadF_Minus_BXm1Filled->Fill(pt_sum_HFH_minus/pfmet.sumEt());
2164  meHFEMF_Plus_BXm1Filled=map_of_MEs[DirName+"/"+"PfHFEMEtFractionPlus_BXm1Filled"]; if(meHFEMF_Plus_BXm1Filled && meHFEMF_Plus_BXm1Filled->getRootObject()) meHFEMF_Plus_BXm1Filled->Fill(pt_sum_HFE_plus/pfmet.sumEt());
2165  meHFEMF_Minus_BXm1Filled=map_of_MEs[DirName+"/"+"PfHFEMEtFractionMinus_BXm1Filled"]; if(meHFEMF_Minus_BXm1Filled && meHFEMF_Minus_BXm1Filled->getRootObject()) meHFEMF_Minus_BXm1Filled->Fill(pt_sum_HFE_minus/pfmet.sumEt());
2166  mePhotonEtFraction_BXm1Filled = map_of_MEs[DirName+"/"+"PfPhotonEtFraction_BXm1Filled"]; if ( mePhotonEtFraction_BXm1Filled && mePhotonEtFraction_BXm1Filled ->getRootObject()) mePhotonEtFraction_BXm1Filled ->Fill(pfmet.photonEtFraction());
2167  meNeutralHadronEtFraction_BXm1Filled = map_of_MEs[DirName+"/"+"PfNeutralHadronEtFraction_BXm1Filled"]; if ( meNeutralHadronEtFraction_BXm1Filled && meNeutralHadronEtFraction_BXm1Filled ->getRootObject()) meNeutralHadronEtFraction_BXm1Filled ->Fill(pfmet.neutralHadronEtFraction());
2168  meChargedHadronEtFraction_BXm1Filled = map_of_MEs[DirName+"/"+"PfChargedHadronEtFraction_BXm1Filled"]; if ( meChargedHadronEtFraction_BXm1Filled && meChargedHadronEtFraction_BXm1Filled ->getRootObject()) meChargedHadronEtFraction_BXm1Filled ->Fill(pfmet.chargedHadronEtFraction());
2169  meMET_BXm1Filled = map_of_MEs[DirName+"/"+"MET_BXm1Filled"]; if ( meMET_BXm1Filled && meMET_BXm1Filled ->getRootObject()) meMET_BXm1Filled ->Fill(pfmet.pt());
2170  meSumET_BXm1Filled = map_of_MEs[DirName+"/"+"SumET_BXm1Filled"]; if ( meSumET_BXm1Filled && meSumET_BXm1Filled ->getRootObject()) meSumET_BXm1Filled ->Fill(pfmet.sumEt());
2171  if(pt_sum_CHF_Barrel){
2172  meMETPhiChargedHadronsBarrel_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiChargedHadronsBarrel_BXm1Filled"];if(meMETPhiChargedHadronsBarrel_BXm1Filled && meMETPhiChargedHadronsBarrel_BXm1Filled ->getRootObject())meMETPhiChargedHadronsBarrel_BXm1Filled->Fill(atan2(py_chargedHadronsBarrel,px_chargedHadronsBarrel));
2173  }
2174  if(pt_sum_CHF_Endcap_plus){
2175  meMETPhiChargedHadronsEndcapPlus_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiChargedHadronsEndcapPlus_BXm1Filled"];if(meMETPhiChargedHadronsEndcapPlus_BXm1Filled && meMETPhiChargedHadronsEndcapPlus_BXm1Filled ->getRootObject())meMETPhiChargedHadronsEndcapPlus_BXm1Filled->Fill(atan2(py_chargedHadronsEndcapPlus,px_chargedHadronsEndcapPlus));
2176  }
2177  if(pt_sum_CHF_Endcap_minus){
2178  meMETPhiChargedHadronsEndcapMinus_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiChargedHadronsEndcapMinus_BXm1Filled"];if(meMETPhiChargedHadronsEndcapMinus_BXm1Filled && meMETPhiChargedHadronsEndcapMinus_BXm1Filled ->getRootObject())meMETPhiChargedHadronsEndcapMinus_BXm1Filled->Fill(atan2(py_chargedHadronsEndcapMinus,px_chargedHadronsEndcapMinus));
2179  }
2180  if(pt_sum_NHF_Barrel){
2181  meMETPhiNeutralHadronsBarrel_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsBarrel_BXm1Filled"];if(meMETPhiNeutralHadronsBarrel_BXm1Filled && meMETPhiNeutralHadronsBarrel_BXm1Filled ->getRootObject())meMETPhiNeutralHadronsBarrel_BXm1Filled->Fill(atan2(py_neutralHadronsBarrel,px_neutralHadronsBarrel));
2182  }
2183  if(pt_sum_NHF_Endcap_plus){
2184  meMETPhiNeutralHadronsEndcapPlus_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsEndcapPlus_BXm1Filled"];if(meMETPhiNeutralHadronsEndcapPlus_BXm1Filled && meMETPhiNeutralHadronsEndcapPlus_BXm1Filled ->getRootObject())meMETPhiNeutralHadronsEndcapPlus_BXm1Filled->Fill(atan2(py_neutralHadronsEndcapPlus,px_neutralHadronsEndcapPlus));
2185  }
2186  if(pt_sum_NHF_Endcap_minus){
2187  meMETPhiNeutralHadronsEndcapMinus_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsEndcapMinus_BXm1Filled"];if(meMETPhiNeutralHadronsEndcapMinus_BXm1Filled && meMETPhiNeutralHadronsEndcapMinus_BXm1Filled ->getRootObject())meMETPhiNeutralHadronsEndcapMinus_BXm1Filled->Fill(atan2(py_neutralHadronsEndcapMinus,px_neutralHadronsEndcapMinus));
2188  }
2189  if(pt_sum_PhF_Barrel){
2190  meMETPhiPhotonsBarrel_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiPhotonsBarrel_BXm1Filled"];if(meMETPhiPhotonsBarrel_BXm1Filled && meMETPhiPhotonsBarrel_BXm1Filled ->getRootObject())meMETPhiPhotonsBarrel_BXm1Filled->Fill(atan2(py_PhotonsBarrel,px_PhotonsBarrel));
2191  }
2192  if(pt_sum_PhF_Endcap_plus){
2193  meMETPhiPhotonsEndcapPlus_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiPhotonsEndcapPlus_BXm1Filled"];if(meMETPhiPhotonsEndcapPlus_BXm1Filled && meMETPhiPhotonsEndcapPlus_BXm1Filled ->getRootObject())meMETPhiPhotonsEndcapPlus_BXm1Filled->Fill(atan2(py_PhotonsEndcapPlus,px_PhotonsEndcapPlus));
2194  }
2195  if(pt_sum_PhF_Endcap_minus){
2196  meMETPhiPhotonsEndcapMinus_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiPhotonsEndcapMinus_BXm1Filled"];if(meMETPhiPhotonsEndcapMinus_BXm1Filled && meMETPhiPhotonsEndcapMinus_BXm1Filled ->getRootObject())meMETPhiPhotonsEndcapMinus_BXm1Filled->Fill(atan2(py_PhotonsEndcapMinus,px_PhotonsEndcapMinus));
2197  }
2198  if(pt_sum_HFH_plus){
2199  meMETPhiHFHadronsPlus_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiHFHadronsPlus_BXm1Filled"];if(meMETPhiHFHadronsPlus_BXm1Filled && meMETPhiHFHadronsPlus_BXm1Filled ->getRootObject())meMETPhiHFHadronsPlus_BXm1Filled->Fill(atan2(py_HFHadronsPlus,px_HFHadronsPlus));
2200  }
2201  if(pt_sum_HFH_minus){
2202  meMETPhiHFHadronsMinus_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiHFHadronsMinus_BXm1Filled"];if(meMETPhiHFHadronsMinus_BXm1Filled && meMETPhiHFHadronsMinus_BXm1Filled ->getRootObject())meMETPhiHFHadronsMinus_BXm1Filled->Fill(atan2(py_HFHadronsMinus,px_HFHadronsMinus));
2203  }
2204  if(pt_sum_HFE_plus){
2205  meMETPhiHFEGammasPlus_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiHFEGammasPlus_BXm1Filled"];if(meMETPhiHFEGammasPlus_BXm1Filled && meMETPhiHFEGammasPlus_BXm1Filled ->getRootObject())meMETPhiHFEGammasPlus_BXm1Filled->Fill(atan2(py_HFEGammasPlus,px_HFEGammasPlus));
2206  }
2207  if(pt_sum_HFE_minus){
2208  meMETPhiHFEGammasMinus_BXm1Filled = map_of_MEs[DirName+"/"+"METPhiHFEGammasMinus_BXm1Filled"];if(meMETPhiHFEGammasMinus_BXm1Filled && meMETPhiHFEGammasMinus_BXm1Filled ->getRootObject())meMETPhiHFEGammasMinus_BXm1Filled->Fill(atan2(py_HFEGammasMinus,px_HFEGammasMinus));
2209  }
2210  }
2211  /*if(techTriggerCase[3]){//techTriggerResultBx0 && !techTriggerResultBxM2 && !techTriggerResultBxM1 ->previous two bunches empty
2212  meCHF_Barrel_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionBarrel_BXm2BXm1Empty"]; if(meCHF_Barrel_BXm2BXm1Empty && meCHF_Barrel_BXm2BXm1Empty->getRootObject()) meCHF_Barrel_BXm2BXm1Empty->Fill(pt_sum_CHF_Barrel/pfmet.sumEt());
2213  meCHF_EndcapPlus_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionEndcapPlus_BXm2BXm1Empty"]; if(meCHF_EndcapPlus_BXm2BXm1Empty && meCHF_EndcapPlus_BXm2BXm1Empty->getRootObject()) meCHF_EndcapPlus_BXm2BXm1Empty->Fill(pt_sum_CHF_Endcap_plus/pfmet.sumEt());
2214  meCHF_EndcapMinus_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionEndcapMinus_BXm2BXm1Empty"]; if(meCHF_EndcapMinus_BXm2BXm1Empty && meCHF_EndcapMinus_BXm2BXm1Empty->getRootObject()) meCHF_EndcapMinus_BXm2BXm1Empty->Fill(pt_sum_CHF_Endcap_minus/pfmet.sumEt());
2215  meNHF_Barrel_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionBarrel_BXm2BXm1Empty"]; if(meNHF_Barrel_BXm2BXm1Empty && meNHF_Barrel_BXm2BXm1Empty->getRootObject()) meNHF_Barrel_BXm2BXm1Empty->Fill(pt_sum_NHF_Barrel/pfmet.sumEt());
2216  meNHF_EndcapPlus_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionEndcapPlus_BXm2BXm1Empty"]; if(meNHF_EndcapPlus_BXm2BXm1Empty && meNHF_EndcapPlus_BXm2BXm1Empty->getRootObject()) meNHF_EndcapPlus_BXm2BXm1Empty->Fill(pt_sum_NHF_Endcap_plus/pfmet.sumEt());
2217  meNHF_EndcapMinus_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionEndcapMinus_BXm2BXm1Empty"]; if(meNHF_EndcapMinus_BXm2BXm1Empty && meNHF_EndcapMinus_BXm2BXm1Empty->getRootObject()) meNHF_EndcapMinus_BXm2BXm1Empty->Fill(pt_sum_NHF_Endcap_minus/pfmet.sumEt());
2218  mePhF_Barrel_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfPhotonEtFractionBarrel_BXm2BXm1Empty"]; if(mePhF_Barrel_BXm2BXm1Empty && mePhF_Barrel_BXm2BXm1Empty->getRootObject()) mePhF_Barrel_BXm2BXm1Empty->Fill(pt_sum_PhF_Barrel/pfmet.sumEt());
2219  mePhF_EndcapPlus_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfPhotonEtFractionEndcapPlus_BXm2BXm1Empty"]; if(mePhF_EndcapPlus_BXm2BXm1Empty && mePhF_EndcapPlus_BXm2BXm1Empty->getRootObject()) mePhF_EndcapPlus_BXm2BXm1Empty->Fill(pt_sum_PhF_Endcap_plus/pfmet.sumEt());
2220  mePhF_EndcapMinus_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfPhotonEtFractionEndcapMinus_BXm2BXm1Empty"]; if(mePhF_EndcapMinus_BXm2BXm1Empty && mePhF_EndcapMinus_BXm2BXm1Empty->getRootObject()) mePhF_EndcapMinus_BXm2BXm1Empty->Fill(pt_sum_PhF_Endcap_minus/pfmet.sumEt());
2221  meHFHadF_Plus_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfHFHadronEtFractionPlus_BXm2BXm1Empty"]; if(meHFHadF_Plus_BXm2BXm1Empty && meHFHadF_Plus_BXm2BXm1Empty->getRootObject()) meHFHadF_Plus_BXm2BXm1Empty->Fill(pt_sum_HFH_plus/pfmet.sumEt());
2222  meHFHadF_Minus_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfHFHadronEtFractionMinus_BXm2BXm1Empty"]; if(meHFHadF_Minus_BXm2BXm1Empty && meHFHadF_Minus_BXm2BXm1Empty->getRootObject()) meHFHadF_Minus_BXm2BXm1Empty->Fill(pt_sum_HFH_minus/pfmet.sumEt());
2223  meHFEMF_Plus_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfHFEMEtFractionPlus_BXm2BXm1Empty"]; if(meHFEMF_Plus_BXm2BXm1Empty && meHFEMF_Plus_BXm2BXm1Empty->getRootObject()) meHFEMF_Plus_BXm2BXm1Empty->Fill(pt_sum_HFE_plus/pfmet.sumEt());
2224  meHFEMF_Minus_BXm2BXm1Empty=map_of_MEs[DirName+"/"+"PfHFEMEtFractionMinus_BXm2BXm1Empty"]; if(meHFEMF_Minus_BXm2BXm1Empty && meHFEMF_Minus_BXm2BXm1Empty->getRootObject()) meHFEMF_Minus_BXm2BXm1Empty->Fill(pt_sum_HFE_minus/pfmet.sumEt());
2225  mePhotonEtFraction_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PfPhotonEtFraction_BXm2BXm1Empty"]; if ( mePhotonEtFraction_BXm2BXm1Empty && mePhotonEtFraction_BXm2BXm1Empty ->getRootObject()) mePhotonEtFraction_BXm2BXm1Empty ->Fill(pfmet.photonEtFraction());
2226  meNeutralHadronEtFraction_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PfNeutralHadronEtFraction_BXm2BXm1Empty"]; if ( meNeutralHadronEtFraction_BXm2BXm1Empty && meNeutralHadronEtFraction_BXm2BXm1Empty ->getRootObject()) meNeutralHadronEtFraction_BXm2BXm1Empty ->Fill(pfmet.neutralHadronEtFraction());
2227  meChargedHadronEtFraction_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"PfChargedHadronEtFraction_BXm2BXm1Empty"]; if ( meChargedHadronEtFraction_BXm2BXm1Empty && meChargedHadronEtFraction_BXm2BXm1Empty ->getRootObject()) meChargedHadronEtFraction_BXm2BXm1Empty ->Fill(pfmet.chargedHadronEtFraction());
2228  meMET_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"MET_BXm2BXm1Empty"]; if ( meMET_BXm2BXm1Empty && meMET_BXm2BXm1Empty ->getRootObject()) meMET_BXm2BXm1Empty ->Fill(pfmet.pt());
2229  meSumET_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"SumET_BXm2BXm1Empty"]; if ( meSumET_BXm2BXm1Empty && meSumET_BXm2BXm1Empty ->getRootObject()) meSumET_BXm2BXm1Empty ->Fill(pfmet.sumEt());
2230  if(pt_sum_CHF_Barrel){
2231  meMETPhiChargedHadronsBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiChargedHadronsBarrel_BXm2BXm1Empty"];if(meMETPhiChargedHadronsBarrel_BXm2BXm1Empty && meMETPhiChargedHadronsBarrel_BXm2BXm1Empty ->getRootObject())meMETPhiChargedHadronsBarrel_BXm2BXm1Empty->Fill(atan2(py_chargedHadronsBarrel,px_chargedHadronsBarrel));
2232  }
2233  if(pt_sum_CHF_Endcap_plus){
2234  meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiChargedHadronsEndcapPlus_BXm2BXm1Empty"];if(meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Empty && meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Empty ->getRootObject())meMETPhiChargedHadronsEndcapPlus_BXm2BXm1Empty->Fill(atan2(py_chargedHadronsEndcapPlus,px_chargedHadronsEndcapPlus));
2235  }
2236  if(pt_sum_CHF_Endcap_minus){
2237  meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiChargedHadronsEndcapMinus_BXm2BXm1Empty"];if(meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Empty && meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Empty ->getRootObject())meMETPhiChargedHadronsEndcapMinus_BXm2BXm1Empty->Fill(atan2(py_chargedHadronsEndcapMinus,px_chargedHadronsEndcapMinus));
2238  }
2239  if(pt_sum_NHF_Barrel){
2240  meMETPhiNeutralHadronsBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsBarrel_BXm2BXm1Empty"];if(meMETPhiNeutralHadronsBarrel_BXm2BXm1Empty && meMETPhiNeutralHadronsBarrel_BXm2BXm1Empty ->getRootObject())meMETPhiNeutralHadronsBarrel_BXm2BXm1Empty->Fill(atan2(py_neutralHadronsBarrel,px_neutralHadronsBarrel));
2241  }
2242  if(pt_sum_NHF_Endcap_plus){
2243  meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsEndcapPlus_BXm2BXm1Empty"];if(meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Empty && meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Empty ->getRootObject())meMETPhiNeutralHadronsEndcapPlus_BXm2BXm1Empty->Fill(atan2(py_neutralHadronsEndcapPlus,px_neutralHadronsEndcapPlus));
2244  }
2245  if(pt_sum_NHF_Endcap_minus){
2246  meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsEndcapMinus_BXm2BXm1Empty"];if(meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Empty && meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Empty ->getRootObject())meMETPhiNeutralHadronsEndcapMinus_BXm2BXm1Empty->Fill(atan2(py_neutralHadronsEndcapMinus,px_neutralHadronsEndcapMinus));
2247  }
2248  if(pt_sum_PhF_Barrel){
2249  meMETPhiPhotonsBarrel_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiPhotonsBarrel_BXm2BXm1Empty"];if(meMETPhiPhotonsBarrel_BXm2BXm1Empty && meMETPhiPhotonsBarrel_BXm2BXm1Empty ->getRootObject())meMETPhiPhotonsBarrel_BXm2BXm1Empty->Fill(atan2(py_PhotonsBarrel,px_PhotonsBarrel));
2250  }
2251  if(pt_sum_PhF_Endcap_plus){
2252  meMETPhiPhotonsEndcapPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiPhotonsEndcapPlus_BXm2BXm1Empty"];if(meMETPhiPhotonsEndcapPlus_BXm2BXm1Empty && meMETPhiPhotonsEndcapPlus_BXm2BXm1Empty ->getRootObject())meMETPhiPhotonsEndcapPlus_BXm2BXm1Empty->Fill(atan2(py_PhotonsEndcapPlus,px_PhotonsEndcapPlus));
2253  }
2254  if(pt_sum_PhF_Endcap_minus){
2255  meMETPhiPhotonsEndcapMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiPhotonsEndcapMinus_BXm2BXm1Empty"];if(meMETPhiPhotonsEndcapMinus_BXm2BXm1Empty && meMETPhiPhotonsEndcapMinus_BXm2BXm1Empty ->getRootObject())meMETPhiPhotonsEndcapMinus_BXm2BXm1Empty->Fill(atan2(py_PhotonsEndcapMinus,px_PhotonsEndcapMinus));
2256  }
2257  if(pt_sum_HFH_plus){
2258  meMETPhiHFHadronsPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiHFHadronsPlus_BXm2BXm1Empty"];if(meMETPhiHFHadronsPlus_BXm2BXm1Empty && meMETPhiHFHadronsPlus_BXm2BXm1Empty ->getRootObject())meMETPhiHFHadronsPlus_BXm2BXm1Empty->Fill(atan2(py_HFHadronsPlus,px_HFHadronsPlus));
2259  }
2260  if(pt_sum_HFH_minus){
2261  meMETPhiHFHadronsMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiHFHadronsMinus_BXm2BXm1Empty"];if(meMETPhiHFHadronsMinus_BXm2BXm1Empty && meMETPhiHFHadronsMinus_BXm2BXm1Empty ->getRootObject())meMETPhiHFHadronsMinus_BXm2BXm1Empty->Fill(atan2(py_HFHadronsMinus,px_HFHadronsMinus));
2262  }
2263  if(pt_sum_HFE_plus){
2264  meMETPhiHFEGammasPlus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiHFEGammasPlus_BXm2BXm1Empty"];if(meMETPhiHFEGammasPlus_BXm2BXm1Empty && meMETPhiHFEGammasPlus_BXm2BXm1Empty ->getRootObject())meMETPhiHFEGammasPlus_BXm2BXm1Empty->Fill(atan2(py_HFEGammasPlus,px_HFEGammasPlus));
2265  }
2266  if(pt_sum_HFE_minus){
2267  meMETPhiHFEGammasMinus_BXm2BXm1Empty = map_of_MEs[DirName+"/"+"METPhiHFEGammasMinus_BXm2BXm1Empty"];if(meMETPhiHFEGammasMinus_BXm2BXm1Empty && meMETPhiHFEGammasMinus_BXm2BXm1Empty ->getRootObject())meMETPhiHFEGammasMinus_BXm2BXm1Empty->Fill(atan2(py_HFEGammasMinus,px_HFEGammasMinus));
2268  }
2269  }*/
2270  if(techTriggerCase[2]){//techTriggerResultBx0 && !techTriggerResultBxM1 --> previous bunch empty
2271  meCHF_Barrel_BXm1Empty=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionBarrel_BXm1Empty"]; if(meCHF_Barrel_BXm1Empty && meCHF_Barrel_BXm1Empty->getRootObject()) meCHF_Barrel_BXm1Empty->Fill(pt_sum_CHF_Barrel/pfmet.sumEt());
2272  meCHF_EndcapPlus_BXm1Empty=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionEndcapPlus_BXm1Empty"]; if(meCHF_EndcapPlus_BXm1Empty && meCHF_EndcapPlus_BXm1Empty->getRootObject()) meCHF_EndcapPlus_BXm1Empty->Fill(pt_sum_CHF_Endcap_plus/pfmet.sumEt());
2273  meCHF_EndcapMinus_BXm1Empty=map_of_MEs[DirName+"/"+"PfChargedHadronEtFractionEndcapMinus_BXm1Empty"]; if(meCHF_EndcapMinus_BXm1Empty && meCHF_EndcapMinus_BXm1Empty->getRootObject()) meCHF_EndcapMinus_BXm1Empty->Fill(pt_sum_CHF_Endcap_minus/pfmet.sumEt());
2274  meNHF_Barrel_BXm1Empty=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionBarrel_BXm1Empty"]; if(meNHF_Barrel_BXm1Empty && meNHF_Barrel_BXm1Empty->getRootObject()) meNHF_Barrel_BXm1Empty->Fill(pt_sum_NHF_Barrel/pfmet.sumEt());
2275  meNHF_EndcapPlus_BXm1Empty=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionEndcapPlus_BXm1Empty"]; if(meNHF_EndcapPlus_BXm1Empty && meNHF_EndcapPlus_BXm1Empty->getRootObject()) meNHF_EndcapPlus_BXm1Empty->Fill(pt_sum_NHF_Endcap_plus/pfmet.sumEt());
2276  meNHF_EndcapMinus_BXm1Empty=map_of_MEs[DirName+"/"+"PfNeutralHadronEtFractionEndcapMinus_BXm1Empty"]; if(meNHF_EndcapMinus_BXm1Empty && meNHF_EndcapMinus_BXm1Empty->getRootObject()) meNHF_EndcapMinus_BXm1Empty->Fill(pt_sum_NHF_Endcap_minus/pfmet.sumEt());
2277  mePhF_Barrel_BXm1Empty=map_of_MEs[DirName+"/"+"PfPhotonEtFractionBarrel_BXm1Empty"]; if(mePhF_Barrel_BXm1Empty && mePhF_Barrel_BXm1Empty->getRootObject()) mePhF_Barrel_BXm1Empty->Fill(pt_sum_PhF_Barrel/pfmet.sumEt());
2278  mePhF_EndcapPlus_BXm1Empty=map_of_MEs[DirName+"/"+"PfPhotonEtFractionEndcapPlus_BXm1Empty"]; if(mePhF_EndcapPlus_BXm1Empty && mePhF_EndcapPlus_BXm1Empty->getRootObject()) mePhF_EndcapPlus_BXm1Empty->Fill(pt_sum_PhF_Endcap_plus/pfmet.sumEt());
2279  mePhF_EndcapMinus_BXm1Empty=map_of_MEs[DirName+"/"+"PfPhotonEtFractionEndcapMinus_BXm1Empty"]; if(mePhF_EndcapMinus_BXm1Empty && mePhF_EndcapMinus_BXm1Empty->getRootObject()) mePhF_EndcapMinus_BXm1Empty->Fill(pt_sum_PhF_Endcap_minus/pfmet.sumEt());
2280  meHFHadF_Plus_BXm1Empty=map_of_MEs[DirName+"/"+"PfHFHadronEtFractionPlus_BXm1Empty"]; if(meHFHadF_Plus_BXm1Empty && meHFHadF_Plus_BXm1Empty->getRootObject()) meHFHadF_Plus_BXm1Empty->Fill(pt_sum_HFH_plus/pfmet.sumEt());
2281  meHFHadF_Minus_BXm1Empty=map_of_MEs[DirName+"/"+"PfHFHadronEtFractionMinus_BXm1Empty"]; if(meHFHadF_Minus_BXm1Empty && meHFHadF_Minus_BXm1Empty->getRootObject()) meHFHadF_Minus_BXm1Empty->Fill(pt_sum_HFH_minus/pfmet.sumEt());
2282  meHFEMF_Plus_BXm1Empty=map_of_MEs[DirName+"/"+"PfHFEMEtFractionPlus_BXm1Empty"]; if(meHFEMF_Plus_BXm1Empty && meHFEMF_Plus_BXm1Empty->getRootObject()) meHFEMF_Plus_BXm1Empty->Fill(pt_sum_HFE_plus/pfmet.sumEt());
2283  meHFEMF_Minus_BXm1Empty=map_of_MEs[DirName+"/"+"PfHFEMEtFractionMinus_BXm1Empty"]; if(meHFEMF_Minus_BXm1Empty && meHFEMF_Minus_BXm1Empty->getRootObject()) meHFEMF_Minus_BXm1Empty->Fill(pt_sum_HFE_minus/pfmet.sumEt());
2284  mePhotonEtFraction_BXm1Empty = map_of_MEs[DirName+"/"+"PfPhotonEtFraction_BXm1Empty"]; if ( mePhotonEtFraction_BXm1Empty && mePhotonEtFraction_BXm1Empty ->getRootObject()) mePhotonEtFraction_BXm1Empty ->Fill(pfmet.photonEtFraction());
2285  meNeutralHadronEtFraction_BXm1Empty = map_of_MEs[DirName+"/"+"PfNeutralHadronEtFraction_BXm1Empty"]; if ( meNeutralHadronEtFraction_BXm1Empty && meNeutralHadronEtFraction_BXm1Empty ->getRootObject()) meNeutralHadronEtFraction_BXm1Empty ->Fill(pfmet.neutralHadronEtFraction());
2286  meChargedHadronEtFraction_BXm1Empty = map_of_MEs[DirName+"/"+"PfChargedHadronEtFraction_BXm1Empty"]; if ( meChargedHadronEtFraction_BXm1Empty && meChargedHadronEtFraction_BXm1Empty ->getRootObject()) meChargedHadronEtFraction_BXm1Empty ->Fill(pfmet.chargedHadronEtFraction());
2287  meMET_BXm1Empty = map_of_MEs[DirName+"/"+"MET_BXm1Empty"]; if ( meMET_BXm1Empty && meMET_BXm1Empty ->getRootObject()) meMET_BXm1Empty ->Fill(pfmet.pt());
2288  meSumET_BXm1Empty = map_of_MEs[DirName+"/"+"SumET_BXm1Empty"]; if ( meSumET_BXm1Empty && meSumET_BXm1Empty ->getRootObject()) meSumET_BXm1Empty ->Fill(pfmet.sumEt());
2289  if(pt_sum_CHF_Barrel){
2290  meMETPhiChargedHadronsBarrel_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiChargedHadronsBarrel_BXm1Empty"];if(meMETPhiChargedHadronsBarrel_BXm1Empty && meMETPhiChargedHadronsBarrel_BXm1Empty ->getRootObject())meMETPhiChargedHadronsBarrel_BXm1Empty->Fill(atan2(py_chargedHadronsBarrel,px_chargedHadronsBarrel));
2291  }
2292  if(pt_sum_CHF_Endcap_plus){
2293  meMETPhiChargedHadronsEndcapPlus_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiChargedHadronsEndcapPlus_BXm1Empty"];if(meMETPhiChargedHadronsEndcapPlus_BXm1Empty && meMETPhiChargedHadronsEndcapPlus_BXm1Empty ->getRootObject())meMETPhiChargedHadronsEndcapPlus_BXm1Empty->Fill(atan2(py_chargedHadronsEndcapPlus,px_chargedHadronsEndcapPlus));
2294  }
2295  if(pt_sum_CHF_Endcap_minus){
2296  meMETPhiChargedHadronsEndcapMinus_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiChargedHadronsEndcapMinus_BXm1Empty"];if(meMETPhiChargedHadronsEndcapMinus_BXm1Empty && meMETPhiChargedHadronsEndcapMinus_BXm1Empty ->getRootObject())meMETPhiChargedHadronsEndcapMinus_BXm1Empty->Fill(atan2(py_chargedHadronsEndcapMinus,px_chargedHadronsEndcapMinus));
2297  }
2298  if(pt_sum_NHF_Barrel){
2299  meMETPhiNeutralHadronsBarrel_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsBarrel_BXm1Empty"];if(meMETPhiNeutralHadronsBarrel_BXm1Empty && meMETPhiNeutralHadronsBarrel_BXm1Empty ->getRootObject())meMETPhiNeutralHadronsBarrel_BXm1Empty->Fill(atan2(py_neutralHadronsBarrel,px_neutralHadronsBarrel));
2300  }
2301  if(pt_sum_NHF_Endcap_plus){
2302  meMETPhiNeutralHadronsEndcapPlus_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsEndcapPlus_BXm1Empty"];if(meMETPhiNeutralHadronsEndcapPlus_BXm1Empty && meMETPhiNeutralHadronsEndcapPlus_BXm1Empty ->getRootObject())meMETPhiNeutralHadronsEndcapPlus_BXm1Empty->Fill(atan2(py_neutralHadronsEndcapPlus,px_neutralHadronsEndcapPlus));
2303  }
2304  if(pt_sum_NHF_Endcap_minus){
2305  meMETPhiNeutralHadronsEndcapMinus_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiNeutralHadronsEndcapMinus_BXm1Empty"];if(meMETPhiNeutralHadronsEndcapMinus_BXm1Empty && meMETPhiNeutralHadronsEndcapMinus_BXm1Empty ->getRootObject())meMETPhiNeutralHadronsEndcapMinus_BXm1Empty->Fill(atan2(py_neutralHadronsEndcapMinus,px_neutralHadronsEndcapMinus));
2306  }
2307  if(pt_sum_PhF_Barrel){
2308  meMETPhiPhotonsBarrel_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiPhotonsBarrel_BXm1Empty"];if(meMETPhiPhotonsBarrel_BXm1Empty && meMETPhiPhotonsBarrel_BXm1Empty ->getRootObject())meMETPhiPhotonsBarrel_BXm1Empty->Fill(atan2(py_PhotonsBarrel,px_PhotonsBarrel));
2309  }
2310  if(pt_sum_PhF_Endcap_plus){
2311  meMETPhiPhotonsEndcapPlus_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiPhotonsEndcapPlus_BXm1Empty"];if(meMETPhiPhotonsEndcapPlus_BXm1Empty && meMETPhiPhotonsEndcapPlus_BXm1Empty ->getRootObject())meMETPhiPhotonsEndcapPlus_BXm1Empty->Fill(atan2(py_PhotonsEndcapPlus,px_PhotonsEndcapPlus));
2312  }
2313  if(pt_sum_PhF_Endcap_minus){
2314  meMETPhiPhotonsEndcapMinus_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiPhotonsEndcapMinus_BXm1Empty"];if(meMETPhiPhotonsEndcapMinus_BXm1Empty && meMETPhiPhotonsEndcapMinus_BXm1Empty ->getRootObject())meMETPhiPhotonsEndcapMinus_BXm1Empty->Fill(atan2(py_PhotonsEndcapMinus,px_PhotonsEndcapMinus));
2315  }
2316  if(pt_sum_HFH_plus){
2317  meMETPhiHFHadronsPlus_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiHFHadronsPlus_BXm1Empty"];if(meMETPhiHFHadronsPlus_BXm1Empty && meMETPhiHFHadronsPlus_BXm1Empty ->getRootObject())meMETPhiHFHadronsPlus_BXm1Empty->Fill(atan2(py_HFHadronsPlus,px_HFHadronsPlus));
2318  }
2319  if(pt_sum_HFH_minus){
2320  meMETPhiHFHadronsMinus_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiHFHadronsMinus_BXm1Empty"];if(meMETPhiHFHadronsMinus_BXm1Empty && meMETPhiHFHadronsMinus_BXm1Empty ->getRootObject())meMETPhiHFHadronsMinus_BXm1Empty->Fill(atan2(py_HFHadronsMinus,px_HFHadronsMinus));
2321  }
2322  if(pt_sum_HFE_plus){
2323  meMETPhiHFEGammasPlus_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiHFEGammasPlus_BXm1Empty"];if(meMETPhiHFEGammasPlus_BXm1Empty && meMETPhiHFEGammasPlus_BXm1Empty ->getRootObject())meMETPhiHFEGammasPlus_BXm1Empty->Fill(atan2(py_HFEGammasPlus,px_HFEGammasPlus)); \
2324  }
2325  if(pt_sum_HFE_minus){
2326  meMETPhiHFEGammasMinus_BXm1Empty = map_of_MEs[DirName+"/"+"METPhiHFEGammasMinus_BXm1Empty"];if(meMETPhiHFEGammasMinus_BXm1Empty && meMETPhiHFEGammasMinus_BXm1Empty ->getRootObject())meMETPhiHFEGammasMinus_BXm1Empty->Fill(atan2(py_HFEGammasMinus,px_HFEGammasMinus));
2327  }
2328  }
2329 
2330  }//fill candidate plots only then
2331 
2332  // PFMET getters
2333  //----------------------------------------------------------------------------
2334  double pfPhotonEtFraction = pfmet.photonEtFraction();
2335  double pfPhotonEt = pfmet.photonEt();
2336  double pfNeutralHadronEtFraction = pfmet.neutralHadronEtFraction();
2337  double pfNeutralHadronEt = pfmet.neutralHadronEt();
2338  double pfElectronEt = pfmet.electronEt();
2339  double pfChargedHadronEtFraction = pfmet.chargedHadronEtFraction();
2340  double pfChargedHadronEt = pfmet.chargedHadronEt();
2341  double pfMuonEt = pfmet.muonEt();
2342  double pfHFHadronEtFraction = pfmet.HFHadronEtFraction();
2343  double pfHFHadronEt = pfmet.HFHadronEt();
2344  double pfHFEMEtFraction = pfmet.HFEMEtFraction();
2345  double pfHFEMEt = pfmet.HFEMEt();
2346  mePhotonEtFraction = map_of_MEs[DirName + "/PfPhotonEtFraction"];
2347  mePhotonEt = map_of_MEs[DirName + "/PfPhotonEt"];
2348  meNeutralHadronEtFraction = map_of_MEs[DirName + "/PfNeutralHadronEtFraction"];
2349  meNeutralHadronEt = map_of_MEs[DirName + "/PfNeutralHadronEt"];
2350  meElectronEt = map_of_MEs[DirName + "/PfElectronEt"];
2351  meChargedHadronEtFraction = map_of_MEs[DirName + "/PfChargedHadronEtFraction"];
2352  meChargedHadronEt = map_of_MEs[DirName + "/PfChargedHadronEt"];
2353  meMuonEt = map_of_MEs[DirName + "/PfMuonEt"];
2354  meHFHadronEtFraction = map_of_MEs[DirName + "/PfHFHadronEtFraction"];
2355  meHFHadronEt = map_of_MEs[DirName + "/PfHFHadronEt"];
2356  meHFEMEtFraction = map_of_MEs[DirName + "/PfHFEMEtFraction"];
2357  meHFEMEt = map_of_MEs[DirName + "/PfHFEMEt"];
2358 
2359  if (mePhotonEtFraction && mePhotonEtFraction ->getRootObject()) mePhotonEtFraction ->Fill(pfPhotonEtFraction);
2360  if (mePhotonEt && mePhotonEt ->getRootObject()) mePhotonEt ->Fill(pfPhotonEt);
2362  if (meNeutralHadronEt && meNeutralHadronEt ->getRootObject()) meNeutralHadronEt ->Fill(pfNeutralHadronEt);
2363  if (meElectronEt && meElectronEt ->getRootObject()) meElectronEt ->Fill(pfElectronEt);
2365  if (meChargedHadronEt && meChargedHadronEt ->getRootObject()) meChargedHadronEt ->Fill(pfChargedHadronEt);
2366  if (meMuonEt && meMuonEt ->getRootObject()) meMuonEt ->Fill(pfMuonEt);
2367  if (meHFHadronEtFraction && meHFHadronEtFraction ->getRootObject()) meHFHadronEtFraction ->Fill(pfHFHadronEtFraction);
2368  if (meHFHadronEt && meHFHadronEt ->getRootObject()) meHFHadronEt ->Fill(pfHFHadronEt);
2369  if (meHFEMEtFraction && meHFEMEtFraction ->getRootObject()) meHFEMEtFraction ->Fill(pfHFEMEtFraction);
2370  if (meHFEMEt && meHFEMEt ->getRootObject()) meHFEMEt ->Fill(pfHFEMEt);
2371 
2372  //NPV profiles
2373 
2374  mePhotonEtFraction_profile = map_of_MEs[DirName + "/PfPhotonEtFraction_profile"];
2375  mePhotonEt_profile = map_of_MEs[DirName + "/PfPhotonEt_profile"];
2376  meNeutralHadronEtFraction_profile = map_of_MEs[DirName + "/PfNeutralHadronEtFraction_profile"];
2377  meNeutralHadronEt_profile = map_of_MEs[DirName + "/PfNeutralHadronEt_profile"];
2378  meChargedHadronEtFraction_profile = map_of_MEs[DirName + "/PfChargedHadronEtFraction_profile"];
2379  meChargedHadronEt_profile = map_of_MEs[DirName + "/PfChargedHadronEt_profile"];
2380  meHFHadronEtFraction_profile = map_of_MEs[DirName + "/PfHFHadronEtFraction_profile"];
2381  meHFHadronEt_profile = map_of_MEs[DirName + "/PfHFHadronEt_profile"];
2382  meHFEMEtFraction_profile = map_of_MEs[DirName + "/PfHFEMEtFraction_profile"];
2383  meHFEMEt_profile = map_of_MEs[DirName + "/PfHFEMEt_profile"];
2384 
2385  if (mePhotonEtFraction_profile && mePhotonEtFraction_profile ->getRootObject()) mePhotonEtFraction_profile ->Fill(numPV_, pfPhotonEtFraction);
2386  if (mePhotonEt_profile && mePhotonEt_profile ->getRootObject()) mePhotonEt_profile ->Fill(numPV_, pfPhotonEt);
2388  if (meNeutralHadronEt_profile && meNeutralHadronEt_profile ->getRootObject()) meNeutralHadronEt_profile ->Fill(numPV_, pfNeutralHadronEt);
2390  if (meChargedHadronEt_profile && meChargedHadronEt_profile ->getRootObject()) meChargedHadronEt_profile ->Fill(numPV_, pfChargedHadronEt);
2391  if (meHFHadronEtFraction_profile && meHFHadronEtFraction_profile ->getRootObject()) meHFHadronEtFraction_profile ->Fill(numPV_, pfHFHadronEtFraction);
2392  if (meHFHadronEt_profile && meHFHadronEt_profile ->getRootObject()) meHFHadronEt_profile ->Fill(numPV_, pfHFHadronEt);
2393  if (meHFEMEtFraction_profile && meHFEMEtFraction_profile ->getRootObject()) meHFEMEtFraction_profile ->Fill(numPV_, pfHFEMEtFraction);
2394  if (meHFEMEt_profile && meHFEMEt_profile ->getRootObject()) meHFEMEt_profile ->Fill(numPV_, pfHFEMEt);
2395  }
2396 
2397  if(isMiniAODMet_){
2398  mePhotonEtFraction = map_of_MEs[DirName + "/PfPhotonEtFraction"];
2399  meNeutralHadronEtFraction = map_of_MEs[DirName + "/PfNeutralHadronEtFraction"];
2400  meChargedHadronEtFraction = map_of_MEs[DirName + "/PfChargedHadronEtFraction"];
2401  meHFHadronEtFraction = map_of_MEs[DirName + "/PfHFHadronEtFraction"];
2402  meHFEMEtFraction = map_of_MEs[DirName + "/PfHFEMEtFraction"];
2403 
2404  if (mePhotonEtFraction && mePhotonEtFraction ->getRootObject()) mePhotonEtFraction ->Fill(patmet.NeutralEMFraction());
2407  if (meHFHadronEtFraction && meHFHadronEtFraction ->getRootObject()) meHFHadronEtFraction ->Fill(patmet.Type6EtFraction());//HFHadrons
2408  if (meHFEMEtFraction && meHFEMEtFraction ->getRootObject()) meHFEMEtFraction ->Fill(patmet.Type7EtFraction());
2409 
2410  //NPV profiles
2411  mePhotonEtFraction_profile = map_of_MEs[DirName + "/PfPhotonEtFraction_profile"];
2412  meNeutralHadronEtFraction_profile = map_of_MEs[DirName + "/PfNeutralHadronEtFraction_profile"];
2413  meChargedHadronEtFraction_profile = map_of_MEs[DirName + "/PfChargedHadronEtFraction_profile"];
2414  meHFHadronEtFraction_profile = map_of_MEs[DirName + "/PfHFHadronEtFraction_profile"];
2415  meHFEMEtFraction_profile = map_of_MEs[DirName + "/PfHFEMEtFraction_profile"];
2416 
2417  if (mePhotonEtFraction_profile && mePhotonEtFraction_profile ->getRootObject()) mePhotonEtFraction_profile ->Fill(numPV_, patmet.NeutralEMFraction());
2420  if (meHFHadronEtFraction_profile && meHFHadronEtFraction_profile ->getRootObject()) meHFHadronEtFraction_profile ->Fill(numPV_, patmet.Type6EtFraction());
2421  if (meHFEMEtFraction_profile && meHFEMEtFraction_profile ->getRootObject()) meHFEMEtFraction_profile ->Fill(numPV_, patmet.Type7EtFraction());
2422 
2423  mePhotonEt = map_of_MEs[DirName + "/PfPhotonEt"];
2424  meNeutralHadronEt = map_of_MEs[DirName + "/PfNeutralHadronEt"];
2425  meChargedHadronEt = map_of_MEs[DirName + "/PfChargedHadronEt"];
2426  meHFHadronEt = map_of_MEs[DirName + "/PfHFHadronEt"];
2427  meHFEMEt = map_of_MEs[DirName + "/PfHFEMEt"];
2428  meMuonEt = map_of_MEs[DirName + "/PfMuonEt"];
2429  meElectronEt = map_of_MEs[DirName + "/PfElectronEt"];
2430 
2431  if (mePhotonEt && mePhotonEt ->getRootObject()) mePhotonEt ->Fill(patmet.NeutralEMFraction()*patmet.sumEt());
2432  if (meNeutralHadronEt && meNeutralHadronEt->getRootObject()) meNeutralHadronEt->Fill(patmet.NeutralHadEtFraction()*patmet.sumEt());
2433  if (meChargedHadronEt && meChargedHadronEt->getRootObject()) meChargedHadronEt->Fill(patmet.ChargedHadEtFraction()*patmet.sumEt());
2434  if (meHFHadronEt && meHFHadronEt ->getRootObject()) meHFHadronEt ->Fill(patmet.Type6EtFraction()*patmet.sumEt());//HFHadrons
2435  if (meHFEMEt && meHFEMEt ->getRootObject()) meHFEMEt ->Fill(patmet.Type7EtFraction()*patmet.sumEt());
2436  if (meMuonEt && meMuonEt ->getRootObject()) meMuonEt ->Fill(patmet.MuonEtFraction()*patmet.sumEt());
2437  if (meElectronEt && meElectronEt ->getRootObject()) meElectronEt ->Fill(patmet.ChargedEMEtFraction()*patmet.sumEt());
2438 
2439  //NPV profiles
2440  mePhotonEt_profile = map_of_MEs[DirName + "/PfPhotonEt_profile"];
2441  meNeutralHadronEt_profile = map_of_MEs[DirName + "/PfNeutralHadronEt_profile"];
2442  meChargedHadronEt_profile = map_of_MEs[DirName + "/PfChargedHadronEt_profile"];
2443  meHFHadronEt_profile = map_of_MEs[DirName + "/PfHFHadronEt_profile"];
2444  meHFEMEt_profile = map_of_MEs[DirName + "/PfHFEMEt_profile"];
2445 
2446  if (mePhotonEt_profile && mePhotonEt_profile ->getRootObject()) mePhotonEt_profile ->Fill(numPV_, patmet.NeutralEMFraction()*patmet.sumEt());
2447  if (meNeutralHadronEt_profile && meNeutralHadronEt_profile->getRootObject()) meNeutralHadronEt_profile->Fill(numPV_, patmet.NeutralHadEtFraction()*patmet.sumEt());
2448  if (meChargedHadronEt_profile && meChargedHadronEt_profile->getRootObject()) meChargedHadronEt_profile->Fill(numPV_, patmet.ChargedHadEtFraction()*patmet.sumEt());
2449  if (meHFHadronEt_profile && meHFHadronEt_profile ->getRootObject()) meHFHadronEt_profile ->Fill(numPV_, patmet.Type6EtFraction()*patmet.sumEt());
2450  if (meHFEMEt_profile && meHFEMEt_profile ->getRootObject()) meHFEMEt_profile ->Fill(numPV_, patmet.Type7EtFraction()*patmet.sumEt());
2451  }
2452 
2453  if (isCaloMet_){
2454  //if (bLumiSecPlot){//get from config level
2456  hMExLS = map_of_MEs[DirName+"/"+"MExLS"]; if (hMExLS && hMExLS->getRootObject()) hMExLS->Fill(MEx,myLuminosityBlock);
2457  hMEyLS = map_of_MEs[DirName+"/"+"MEyLS"]; if (hMEyLS && hMEyLS->getRootObject()) hMEyLS->Fill(MEy,myLuminosityBlock);
2458  }
2459  }
2460  }//check if we only wanna do Z plots
2461 }
MonitorElement * meCHF_EndcapMinus_BXm1Filled
Definition: METAnalyzer.h:456
MonitorElement * meMETPhiNeutralHadronsEndcapMinus_BXm1Empty
Definition: METAnalyzer.h:407
MonitorElement * hMExLS
Definition: METAnalyzer.h:322
MonitorElement * meMETPhiNeutralHadronsEndcapMinus
Definition: METAnalyzer.h:543
MonitorElement * mePhF_EndcapMinus_BXm1Empty
Definition: METAnalyzer.h:482
MonitorElement * hSumET
Definition: METAnalyzer.h:320
MonitorElement * meMETPhiChargedHadronsEndcapPlus_BXm1Filled
Definition: METAnalyzer.h:424
MonitorElement * meNeutralHadronEtFraction
Definition: METAnalyzer.h:363
MonitorElement * meMETPhiHFHadronsPlus_BXm1Filled
Definition: METAnalyzer.h:432
MonitorElement * meNeutralHadronEtFraction_profile
Definition: METAnalyzer.h:564
double eta() const final
momentum pseudorapidity
MonitorElement * mePhF_EndcapMinus_BXm1Filled
Definition: METAnalyzer.h:488
MonitorElement * meMETPhiChargedHadronsEndcapPlus
Definition: METAnalyzer.h:539
std::vector< int > allTriggerDecisions_
Definition: METAnalyzer.h:206
MonitorElement * meHFHadF_Plus_BXm1Filled
Definition: METAnalyzer.h:499
MonitorElement * meNHF_EndcapPlus_BXm1Empty
Definition: METAnalyzer.h:465
MonitorElement * hMEy
Definition: METAnalyzer.h:304
MonitorElement * meMETPhiHFEGammasPlus
Definition: METAnalyzer.h:549
MonitorElement * hCaloMETPhi020
Definition: METAnalyzer.h:329
MonitorElement * mePhotonEt
Definition: METAnalyzer.h:362
MonitorElement * meChargedHadronEtFraction_profile
Definition: METAnalyzer.h:566
MonitorElement * meMETPhiPhotonsEndcapPlus_BXm1Empty
Definition: METAnalyzer.h:409
std::vector< int > typePFCand_
Definition: METAnalyzer.h:536
MonitorElement * meZJets_u_perp_ZPt_150_290
Definition: METAnalyzer.h:588
MonitorElement * meMETPhiHFHadronsMinus_BXm1Empty
Definition: METAnalyzer.h:412
MonitorElement * meMET_BXm1Filled
Definition: METAnalyzer.h:420
MonitorElement * meZJets_u_perp_ZPt_75_150
Definition: METAnalyzer.h:587
MonitorElement * hCaloHadEtInHF
Definition: METAnalyzer.h:340
TObject * getRootObject() const
std::vector< double > MExPFCand_
Definition: METAnalyzer.h:535
MonitorElement * meHFHadF_Minus_BXm1Empty
Definition: METAnalyzer.h:496
MonitorElement * meZJets_u_perp_ZPt_0_15
Definition: METAnalyzer.h:583
bool isCaloMet_
Definition: METAnalyzer.h:593
MonitorElement * meSumET_BXm1Empty
Definition: METAnalyzer.h:400
double px() const final
x coordinate of momentum vector
MonitorElement * meZJets_u_par_ZPt_15_30
Definition: METAnalyzer.h:575
MonitorElement * meChargedHadronEtFraction_BXm1Empty
Definition: METAnalyzer.h:398
MonitorElement * hMEx
Definition: METAnalyzer.h:303
std::vector< std::string > profilePFCand_y_name_
Definition: METAnalyzer.h:534
MonitorElement * meZJets_u_par
Definition: METAnalyzer.h:573
MonitorElement * hCaloHadEtInHE
Definition: METAnalyzer.h:339
MonitorElement * hMET_eeBadScFilter
Definition: METAnalyzer.h:312
MonitorElement * meMETPhiPhotonsEndcapPlus
Definition: METAnalyzer.h:545
MonitorElement * meZJets_u_par_ZPt_75_150
Definition: METAnalyzer.h:578
MonitorElement * meNeutralHadronEtFraction_BXm1Empty
Definition: METAnalyzer.h:397
MonitorElement * meMETPhiChargedHadronsBarrel_BXm1Empty
Definition: METAnalyzer.h:402
bool fillCandidateMap_histos
Definition: METAnalyzer.h:598
MonitorElement * meHFEMF_Minus_BXm1Empty
Definition: METAnalyzer.h:507
std::vector< double > etaMaxPFCand_
Definition: METAnalyzer.h:535
MonitorElement * meZJets_u_perp_ZPt_30_55
Definition: METAnalyzer.h:585
MonitorElement * hCaloEtFractionHadronic
Definition: METAnalyzer.h:330
MonitorElement * hMEyLS
Definition: METAnalyzer.h:323
MonitorElement * meHFHadF_Minus
Definition: METAnalyzer.h:494
MonitorElement * meMETPhiHFEGammasPlus_BXm1Filled
Definition: METAnalyzer.h:434
MonitorElement * mePhotonEtFraction_BXm1Empty
Definition: METAnalyzer.h:396
MonitorElement * meHFHadronEtFraction
Definition: METAnalyzer.h:369
MonitorElement * meMET_BXm1Empty
Definition: METAnalyzer.h:399
MonitorElement * meCHF_EndcapMinus_BXm1Empty
Definition: METAnalyzer.h:450
MonitorElement * meNHF_EndcapPlus
Definition: METAnalyzer.h:462
MonitorElement * meMETPhiPhotonsEndcapMinus_BXm1Empty
Definition: METAnalyzer.h:410
MonitorElement * hMET_logx
Definition: METAnalyzer.h:325
MonitorElement * hCaloEmEtInHF
Definition: METAnalyzer.h:341
MonitorElement * meHFEMEtFraction_profile
Definition: METAnalyzer.h:570
MonitorElement * mePhF_EndcapPlus
Definition: METAnalyzer.h:478
MonitorElement * hCaloHadEtInHO
Definition: METAnalyzer.h:338
MonitorElement * meHFEMF_Plus_BXm1Filled
Definition: METAnalyzer.h:510
MonitorElement * meChargedHadronEtFraction
Definition: METAnalyzer.h:366
MonitorElement * meMETPhiPhotonsBarrel_BXm1Empty
Definition: METAnalyzer.h:408
MonitorElement * mePhF_Barrel_BXm1Empty
Definition: METAnalyzer.h:480
MonitorElement * meMEx_profile
Definition: METAnalyzer.h:557
MonitorElement * meNHF_Barrel
Definition: METAnalyzer.h:461
MonitorElement * hMET
Definition: METAnalyzer.h:307
MonitorElement * meZJets_u_par_ZPt_290
Definition: METAnalyzer.h:580
MonitorElement * hMET_2
Definition: METAnalyzer.h:308
MonitorElement * hMET_HcalStripHaloFilter
Definition: METAnalyzer.h:317
MonitorElement * meCHF_EndcapMinus
Definition: METAnalyzer.h:447
MonitorElement * meMETPhiHFHadronsPlus_BXm1Empty
Definition: METAnalyzer.h:411
MonitorElement * hTrigger
Definition: METAnalyzer.h:301
void Fill(long long x)
MonitorElement * mePhF_Barrel_BXm1Filled
Definition: METAnalyzer.h:486
MonitorElement * meCHF_EndcapPlus_BXm1Filled
Definition: METAnalyzer.h:455
MonitorElement * meZJets_u_par_ZPt_55_75
Definition: METAnalyzer.h:577
MonitorElement * meMETPhiNeutralHadronsEndcapMinus_BXm1Filled
Definition: METAnalyzer.h:428
MonitorElement * mePhF_EndcapPlus_BXm1Filled
Definition: METAnalyzer.h:487
MonitorElement * meZJets_u_perp
Definition: METAnalyzer.h:582
MonitorElement * meZJets_u_par_ZPt_0_15
Definition: METAnalyzer.h:574
MonitorElement * meMETPhiNeutralHadronsBarrel_BXm1Empty
Definition: METAnalyzer.h:405
int iEvent
Definition: GenABIO.cc:230
MonitorElement * meNeutralHadronEtFraction_BXm1Filled
Definition: METAnalyzer.h:418
MonitorElement * meNHF_Barrel_BXm1Filled
Definition: METAnalyzer.h:470
MonitorElement * meMETPhiNeutralHadronsEndcapPlus_BXm1Empty
Definition: METAnalyzer.h:406
bool fill_met_high_level_histo
Definition: METAnalyzer.h:597
MonitorElement * hMETPhi
Definition: METAnalyzer.h:319
MonitorElement * hCaloEmEtInEE
Definition: METAnalyzer.h:342
MonitorElement * hMET_HBHEIsoNoiseFilter
Definition: METAnalyzer.h:315
MonitorElement * mePhF_EndcapMinus
Definition: METAnalyzer.h:479
MonitorElement * meZJets_u_perp_ZPt_55_75
Definition: METAnalyzer.h:586
MonitorElement * meMETPhiHFEGammasMinus
Definition: METAnalyzer.h:550
MonitorElement * meMuonEt
Definition: METAnalyzer.h:368
double et() const final
transverse energy
MonitorElement * meHFEMEt_profile
Definition: METAnalyzer.h:571
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: MET.h:42
MonitorElement * mePhotonEtFraction_BXm1Filled
Definition: METAnalyzer.h:417
MonitorElement * hSumET_logx
Definition: METAnalyzer.h:326
T sqrt(T t)
Definition: SSEVec.h:18
MonitorElement * meNHF_EndcapPlus_BXm1Filled
Definition: METAnalyzer.h:471
MonitorElement * hMET_HBHENoiseFilter
Definition: METAnalyzer.h:310
MonitorElement * meMETPhiPhotonsEndcapMinus_BXm1Filled
Definition: METAnalyzer.h:431
MonitorElement * meZJets_u_par_ZPt_150_290
Definition: METAnalyzer.h:579
MonitorElement * meCHF_Barrel_BXm1Filled
Definition: METAnalyzer.h:454
MonitorElement * meMETPhiHFHadronsMinus_BXm1Filled
Definition: METAnalyzer.h:433
MonitorElement * meZJets_u_perp_ZPt_290
Definition: METAnalyzer.h:589
MonitorElement * meHFEMF_Minus
Definition: METAnalyzer.h:505
std::vector< MonitorElement * > profilePFCand_x_
Definition: METAnalyzer.h:533
MonitorElement * hCaloEmEtFraction
Definition: METAnalyzer.h:331
MonitorElement * meMETPhiChargedHadronsBarrel
Definition: METAnalyzer.h:538
MonitorElement * meNHF_Barrel_BXm1Empty
Definition: METAnalyzer.h:464
std::vector< MonitorElement * > profilePFCand_y_
Definition: METAnalyzer.h:533
MonitorElement * meChargedHadronEt
Definition: METAnalyzer.h:367
MonitorElement * meMETPhiChargedHadronsEndcapMinus_BXm1Filled
Definition: METAnalyzer.h:425
MonitorElement * hMETSig
Definition: METAnalyzer.h:306
MonitorElement * meChargedHadronEt_profile
Definition: METAnalyzer.h:567
MonitorElement * meCHF_Barrel_BXm1Empty
Definition: METAnalyzer.h:448
MonitorElement * meMETPhiNeutralHadronsEndcapPlus_BXm1Filled
Definition: METAnalyzer.h:427
std::vector< double > MEyPFCand_
Definition: METAnalyzer.h:535
MonitorElement * mePhotonEtFraction
Definition: METAnalyzer.h:361
MonitorElement * hMET_EcalDeadCellBoundaryFilter
Definition: METAnalyzer.h:314
MonitorElement * mePhotonEt_profile
Definition: METAnalyzer.h:563
MonitorElement * meCHF_EndcapPlus
Definition: METAnalyzer.h:446
MonitorElement * meZJets_u_perp_ZPt_15_30
Definition: METAnalyzer.h:584
MonitorElement * meZJets_u_par_ZPt_30_55
Definition: METAnalyzer.h:576
MonitorElement * meMETPhiHFEGammasMinus_BXm1Empty
Definition: METAnalyzer.h:414
MonitorElement * meElectronEt
Definition: METAnalyzer.h:365
MonitorElement * meMET_profile
Definition: METAnalyzer.h:559
MonitorElement * meMETPhiChargedHadronsEndcapMinus
Definition: METAnalyzer.h:540
met
===> hadronic RAZOR
MonitorElement * meHFHadronEt
Definition: METAnalyzer.h:370
MonitorElement * hCaloEmEtInEB
Definition: METAnalyzer.h:343
MonitorElement * meMETPhiPhotonsBarrel
Definition: METAnalyzer.h:544
MonitorElement * hCaloHadEtInHB
Definition: METAnalyzer.h:337
MonitorElement * meHFHadF_Plus_BXm1Empty
Definition: METAnalyzer.h:495
MonitorElement * meMETPhiPhotonsBarrel_BXm1Filled
Definition: METAnalyzer.h:429
edm::EDGetTokenT< std::vector< reco::PFCandidate > > pflowToken_
Definition: METAnalyzer.h:552
double py() const final
y coordinate of momentum vector
MonitorElement * meHFHadF_Minus_BXm1Filled
Definition: METAnalyzer.h:500
MonitorElement * meHFHadronEtFraction_profile
Definition: METAnalyzer.h:568
MonitorElement * meNHF_EndcapMinus_BXm1Empty
Definition: METAnalyzer.h:466
MonitorElement * hMET_CSCTightHalo2015Filter
Definition: METAnalyzer.h:316
MonitorElement * meHFEMEtFraction
Definition: METAnalyzer.h:371
MonitorElement * hMET_CSCTightHaloFilter
Definition: METAnalyzer.h:311
MonitorElement * meHFEMF_Minus_BXm1Filled
Definition: METAnalyzer.h:511
MonitorElement * meMETPhiChargedHadronsEndcapMinus_BXm1Empty
Definition: METAnalyzer.h:404
MonitorElement * hCaloEmEtFraction020
Definition: METAnalyzer.h:335
MonitorElement * meHFEMF_Plus_BXm1Empty
Definition: METAnalyzer.h:506
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
MonitorElement * mePhF_EndcapPlus_BXm1Empty
Definition: METAnalyzer.h:481
std::vector< int > countsPFCand_
Definition: METAnalyzer.h:536
MonitorElement * meMETPhiHFHadronsPlus
Definition: METAnalyzer.h:547
MonitorElement * hMET_EcalDeadCellTriggerFilter
Definition: METAnalyzer.h:313
MonitorElement * meHFEMEt
Definition: METAnalyzer.h:372
std::vector< double > etaMinPFCand_
Definition: METAnalyzer.h:535
MonitorElement * meChargedHadronEtFraction_BXm1Filled
Definition: METAnalyzer.h:419
MonitorElement * meMETPhiHFEGammasMinus_BXm1Filled
Definition: METAnalyzer.h:435
MonitorElement * meMEy_profile
Definition: METAnalyzer.h:558
MonitorElement * meMETPhiPhotonsEndcapPlus_BXm1Filled
Definition: METAnalyzer.h:430
MonitorElement * meHFEMF_Plus
Definition: METAnalyzer.h:504
std::vector< std::string > profilePFCand_x_name_
Definition: METAnalyzer.h:534
MonitorElement * meSumET_profile
Definition: METAnalyzer.h:560
int getNbinsX() const
get # of bins in X-axis
MonitorElement * meMETPhiHFEGammasPlus_BXm1Empty
Definition: METAnalyzer.h:413
MonitorElement * meMETPhiNeutralHadronsBarrel
Definition: METAnalyzer.h:541
MonitorElement * meCHF_Barrel
Definition: METAnalyzer.h:445
virtual ParticleType particleId() const
Definition: PFCandidate.h:374
bool isMiniAODMet_
Definition: METAnalyzer.h:595
MonitorElement * meHFHadronEt_profile
Definition: METAnalyzer.h:569
MonitorElement * meMETPhiPhotonsEndcapMinus
Definition: METAnalyzer.h:546
MonitorElement * meNeutralHadronEt_profile
Definition: METAnalyzer.h:565
MonitorElement * meHFHadF_Plus
Definition: METAnalyzer.h:493
MonitorElement * meCHF_EndcapPlus_BXm1Empty
Definition: METAnalyzer.h:449
MonitorElement * mePhF_Barrel
Definition: METAnalyzer.h:477
MonitorElement * mePhotonEtFraction_profile
Definition: METAnalyzer.h:562
MonitorElement * meMETPhiChargedHadronsEndcapPlus_BXm1Empty
Definition: METAnalyzer.h:403
MonitorElement * meMETPhiNeutralHadronsBarrel_BXm1Filled
Definition: METAnalyzer.h:426
MonitorElement * meMETPhiHFHadronsMinus
Definition: METAnalyzer.h:548
MonitorElement * meMETPhiChargedHadronsBarrel_BXm1Filled
Definition: METAnalyzer.h:423
MonitorElement * meNHF_EndcapMinus
Definition: METAnalyzer.h:463
MonitorElement * meSumET_BXm1Filled
Definition: METAnalyzer.h:421
MonitorElement * meNHF_EndcapMinus_BXm1Filled
Definition: METAnalyzer.h:472
MonitorElement * meMETPhiNeutralHadronsEndcapPlus
Definition: METAnalyzer.h:542
MonitorElement * meNeutralHadronEt
Definition: METAnalyzer.h:364
void METAnalyzer::makeRatePlot ( std::string  DirName,
double  totltime 
)

Definition at line 1087 of file METAnalyzer.cc.

References MonitorElement::getRootObject(), MonitorElement::getTH1F(), mps_fire::i, and MonitorElement::setBinContent().

1088 {
1089 
1090  //dbe_->setCurrentFolder(DirName);
1091  MonitorElement *meMET = map_dijet_MEs[DirName+"/"+"MET"];
1092  MonitorElement *mMETRate = map_dijet_MEs[DirName+"/"+"METRate"];
1093 
1094  TH1F* tMET;
1095  TH1F* tMETRate;
1096 
1097  if ( meMET && mMETRate){
1098  if ( meMET->getRootObject() && mMETRate->getRootObject()) {
1099  tMET = meMET->getTH1F();
1100 
1101  // Integral plot & convert number of events to rate (hz)
1102  tMETRate = (TH1F*) tMET->Clone("METRateHist");
1103  for (int i = tMETRate->GetNbinsX()-1; i>=0; i--){
1104  mMETRate->setBinContent(i+1,tMETRate->GetBinContent(i+2)+tMET->GetBinContent(i+1));
1105  }
1106  for (int i = 0; i<tMETRate->GetNbinsX(); i++){
1107  mMETRate->setBinContent(i+1,tMETRate->GetBinContent(i+1)/double(totltime));
1108  }
1109  }
1110  }
1111 
1112 }
std::map< std::string, MonitorElement * > map_dijet_MEs
Definition: METAnalyzer.h:591
void setBinContent(int binx, double content)
set content of bin (1-D)
TH1F * getTH1F() const
TObject * getRootObject() const

Member Data Documentation

std::vector< int > METAnalyzer::allTriggerDecisions_
private

Definition at line 206 of file METAnalyzer.h.

std::vector<std::string > METAnalyzer::allTriggerNames_
private

Definition at line 205 of file METAnalyzer.h.

math::XYZPoint METAnalyzer::beamSpot_
private

Definition at line 290 of file METAnalyzer.h.

bool METAnalyzer::bypassAllDCSChecks_
private

Definition at line 258 of file METAnalyzer.h.

bool METAnalyzer::bypassAllPVChecks_
private

Definition at line 257 of file METAnalyzer.h.

edm::EDGetTokenT<reco::CaloJetCollection> METAnalyzer::caloJetsToken_
private

Definition at line 152 of file METAnalyzer.h.

edm::EDGetTokenT<reco::CaloMETCollection> METAnalyzer::caloMetToken_
private

Definition at line 184 of file METAnalyzer.h.

edm::ParameterSet METAnalyzer::cleaningParameters_
private

Definition at line 244 of file METAnalyzer.h.

std::vector<int> METAnalyzer::countsPFCand_
private

Definition at line 536 of file METAnalyzer.h.

edm::InputTag METAnalyzer::CSCHalo2015ResultTag_
private

Definition at line 171 of file METAnalyzer.h.

edm::EDGetTokenT<bool> METAnalyzer::CSCHalo2015ResultToken_
private

Definition at line 172 of file METAnalyzer.h.

edm::InputTag METAnalyzer::CSCHaloResultTag_
private

Definition at line 169 of file METAnalyzer.h.

edm::EDGetTokenT<bool> METAnalyzer::CSCHaloResultToken_
private

Definition at line 170 of file METAnalyzer.h.

JetMETDQMDCSFilter* METAnalyzer::DCSFilter_
private

Definition at line 286 of file METAnalyzer.h.

std::vector<edm::ParameterSet> METAnalyzer::diagnosticsParameters_
private

Definition at line 245 of file METAnalyzer.h.

edm::InputTag METAnalyzer::EcalDeadCellBoundaryTag_
private

Definition at line 177 of file METAnalyzer.h.

edm::EDGetTokenT<bool> METAnalyzer::EcalDeadCellBoundaryToken_
private

Definition at line 178 of file METAnalyzer.h.

edm::InputTag METAnalyzer::EcalDeadCellTriggerTag_
private

Definition at line 173 of file METAnalyzer.h.

edm::EDGetTokenT<bool> METAnalyzer::EcalDeadCellTriggerToken_
private

Definition at line 174 of file METAnalyzer.h.

edm::InputTag METAnalyzer::eeBadScFilterTag_
private

Definition at line 175 of file METAnalyzer.h.

edm::EDGetTokenT<bool> METAnalyzer::eeBadScFilterToken_
private

Definition at line 176 of file METAnalyzer.h.

std::vector<double> METAnalyzer::etaMaxPFCand_
private

Definition at line 535 of file METAnalyzer.h.

std::vector<double> METAnalyzer::etaMinPFCand_
private

Definition at line 535 of file METAnalyzer.h.

std::vector<int> METAnalyzer::etaNBinsPFCand_
private

Definition at line 536 of file METAnalyzer.h.

bool METAnalyzer::fill_met_high_level_histo
private

Definition at line 597 of file METAnalyzer.h.

bool METAnalyzer::fillCandidateMap_histos
private

Definition at line 598 of file METAnalyzer.h.

HLTConfigProvider METAnalyzer::FilterhltConfig_
private

Definition at line 199 of file METAnalyzer.h.

std::string METAnalyzer::FolderName_
private

Definition at line 142 of file METAnalyzer.h.

std::vector<std::string> METAnalyzer::folderNames_
private

Definition at line 288 of file METAnalyzer.h.

edm::InputTag METAnalyzer::gtTag_
private

Definition at line 148 of file METAnalyzer.h.

edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> METAnalyzer::gtToken_
private

Definition at line 151 of file METAnalyzer.h.

edm::EDGetTokenT<bool> METAnalyzer::hbheIsoNoiseFilterResultToken_
private

Definition at line 168 of file METAnalyzer.h.

std::string METAnalyzer::HBHEIsoNoiseStringMiniAOD
private

Definition at line 209 of file METAnalyzer.h.

edm::InputTag METAnalyzer::hbheNoiseFilterResultTag_
private

Definition at line 165 of file METAnalyzer.h.

edm::EDGetTokenT<bool> METAnalyzer::hbheNoiseFilterResultToken_
private

Definition at line 166 of file METAnalyzer.h.

edm::InputTag METAnalyzer::hbheNoiseIsoFilterResultTag_
private

Definition at line 167 of file METAnalyzer.h.

std::string METAnalyzer::HBHENoiseStringMiniAOD
private

Definition at line 208 of file METAnalyzer.h.

edm::InputTag METAnalyzer::hcalNoiseRBXCollectionTag_
private

Definition at line 145 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloEmEtFraction
private

Definition at line 331 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloEmEtFraction020
private

Definition at line 335 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloEmEtInEB
private

Definition at line 343 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloEmEtInEE
private

Definition at line 342 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloEmEtInHF
private

Definition at line 341 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloEmMET
private

Definition at line 348 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloEmMETPhi
private

Definition at line 349 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloEmMEx
private

Definition at line 345 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloEmMEy
private

Definition at line 346 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloEtFractionHadronic
private

Definition at line 330 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloHadEtInHB
private

Definition at line 337 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloHadEtInHE
private

Definition at line 339 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloHadEtInHF
private

Definition at line 340 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloHadEtInHO
private

Definition at line 338 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloHaMET
private

Definition at line 355 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloHaMETPhi
private

Definition at line 356 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloHaMEx
private

Definition at line 352 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloHaMEy
private

Definition at line 353 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hCaloMETPhi020
private

Definition at line 329 of file METAnalyzer.h.

edm::InputTag METAnalyzer::HcalStripHaloTag_
private

Definition at line 179 of file METAnalyzer.h.

edm::EDGetTokenT<bool> METAnalyzer::HcalStripHaloToken_
private

Definition at line 180 of file METAnalyzer.h.

double METAnalyzer::hfCalibFactor_
private

Definition at line 283 of file METAnalyzer.h.

HLTConfigProvider METAnalyzer::hltConfig_
private

Definition at line 198 of file METAnalyzer.h.

std::string METAnalyzer::hltPhysDec_
private

Definition at line 247 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET
private

Definition at line 307 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET_2
private

Definition at line 308 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET_CSCTightHalo2015Filter
private

Definition at line 316 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET_CSCTightHaloFilter
private

Definition at line 311 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET_EcalDeadCellBoundaryFilter
private

Definition at line 314 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET_EcalDeadCellTriggerFilter
private

Definition at line 313 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET_eeBadScFilter
private

Definition at line 312 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET_HBHEIsoNoiseFilter
private

Definition at line 315 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET_HBHENoiseFilter
private

Definition at line 310 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET_HcalStripHaloFilter
private

Definition at line 317 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMET_logx
private

Definition at line 325 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMETPhi
private

Definition at line 319 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMETRate
private

Definition at line 242 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMETSig
private

Definition at line 306 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMEx
private

Definition at line 303 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMExLS
private

Definition at line 322 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMEy
private

Definition at line 304 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hMEyLS
private

Definition at line 323 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hSumET
private

Definition at line 320 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hSumET_logx
private

Definition at line 326 of file METAnalyzer.h.

MonitorElement* METAnalyzer::hTrigger
private

Definition at line 301 of file METAnalyzer.h.

bool METAnalyzer::hTriggerLabelsIsSet_
private

Definition at line 296 of file METAnalyzer.h.

edm::InputTag METAnalyzer::inputJetIDValueMap
private

Definition at line 186 of file METAnalyzer.h.

bool METAnalyzer::isCaloMet_
private

Definition at line 593 of file METAnalyzer.h.

bool METAnalyzer::isMiniAODMet_
private

Definition at line 595 of file METAnalyzer.h.

bool METAnalyzer::isPFMet_
private

Definition at line 594 of file METAnalyzer.h.

edm::InputTag METAnalyzer::jetCollectionLabel_
private

Definition at line 146 of file METAnalyzer.h.

edm::EDGetTokenT<reco::JetCorrector> METAnalyzer::jetCorrectorToken_
private

Definition at line 211 of file METAnalyzer.h.

edm::EDGetTokenT<edm::ValueMap <reco::JetID> > METAnalyzer::jetID_ValueMapToken_
private

Definition at line 187 of file METAnalyzer.h.

JetIDSelectionFunctor METAnalyzer::jetIDFunctorLoose
private

Definition at line 189 of file METAnalyzer.h.

int METAnalyzer::LSBegin_
private

Definition at line 254 of file METAnalyzer.h.

int METAnalyzer::LSEnd_
private

Definition at line 255 of file METAnalyzer.h.

MonitorElement* METAnalyzer::lumisecME
private

Definition at line 300 of file METAnalyzer.h.

int METAnalyzer::m_bitAlgTechTrig_
private

Definition at line 194 of file METAnalyzer.h.

std::string METAnalyzer::m_l1algoname_
private

Definition at line 193 of file METAnalyzer.h.

std::map< std::string,MonitorElement* > METAnalyzer::map_dijet_MEs
private

Definition at line 591 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meChargedHadronEt
private

Definition at line 367 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meChargedHadronEt_profile
private

Definition at line 567 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meChargedHadronEtFraction
private

Definition at line 366 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meChargedHadronEtFraction_BXm1Empty
private

Definition at line 398 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meChargedHadronEtFraction_BXm1Filled
private

Definition at line 419 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meChargedHadronEtFraction_profile
private

Definition at line 566 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meCHF_Barrel
private

Definition at line 445 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meCHF_Barrel_BXm1Empty
private

Definition at line 448 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meCHF_Barrel_BXm1Filled
private

Definition at line 454 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meCHF_EndcapMinus
private

Definition at line 447 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meCHF_EndcapMinus_BXm1Empty
private

Definition at line 450 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meCHF_EndcapMinus_BXm1Filled
private

Definition at line 456 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meCHF_EndcapPlus
private

Definition at line 446 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meCHF_EndcapPlus_BXm1Empty
private

Definition at line 449 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meCHF_EndcapPlus_BXm1Filled
private

Definition at line 455 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meElectronEt
private

Definition at line 365 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFEMEt
private

Definition at line 372 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFEMEt_profile
private

Definition at line 571 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFEMEtFraction
private

Definition at line 371 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFEMEtFraction_profile
private

Definition at line 570 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFEMF_Minus
private

Definition at line 505 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFEMF_Minus_BXm1Empty
private

Definition at line 507 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFEMF_Minus_BXm1Filled
private

Definition at line 511 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFEMF_Plus
private

Definition at line 504 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFEMF_Plus_BXm1Empty
private

Definition at line 506 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFEMF_Plus_BXm1Filled
private

Definition at line 510 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFHadF_Minus
private

Definition at line 494 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFHadF_Minus_BXm1Empty
private

Definition at line 496 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFHadF_Minus_BXm1Filled
private

Definition at line 500 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFHadF_Plus
private

Definition at line 493 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFHadF_Plus_BXm1Empty
private

Definition at line 495 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFHadF_Plus_BXm1Filled
private

Definition at line 499 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFHadronEt
private

Definition at line 370 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFHadronEt_profile
private

Definition at line 569 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFHadronEtFraction
private

Definition at line 369 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meHFHadronEtFraction_profile
private

Definition at line 568 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMET_BXm1Empty
private

Definition at line 399 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMET_BXm1Filled
private

Definition at line 420 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMET_profile
private

Definition at line 559 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiChargedHadronsBarrel
private

Definition at line 538 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiChargedHadronsBarrel_BXm1Empty
private

Definition at line 402 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiChargedHadronsBarrel_BXm1Filled
private

Definition at line 423 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiChargedHadronsEndcapMinus
private

Definition at line 540 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiChargedHadronsEndcapMinus_BXm1Empty
private

Definition at line 404 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiChargedHadronsEndcapMinus_BXm1Filled
private

Definition at line 425 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiChargedHadronsEndcapPlus
private

Definition at line 539 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiChargedHadronsEndcapPlus_BXm1Empty
private

Definition at line 403 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiChargedHadronsEndcapPlus_BXm1Filled
private

Definition at line 424 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFEGammasMinus
private

Definition at line 550 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFEGammasMinus_BXm1Empty
private

Definition at line 414 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFEGammasMinus_BXm1Filled
private

Definition at line 435 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFEGammasPlus
private

Definition at line 549 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFEGammasPlus_BXm1Empty
private

Definition at line 413 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFEGammasPlus_BXm1Filled
private

Definition at line 434 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFHadronsMinus
private

Definition at line 548 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFHadronsMinus_BXm1Empty
private

Definition at line 412 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFHadronsMinus_BXm1Filled
private

Definition at line 433 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFHadronsPlus
private

Definition at line 547 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFHadronsPlus_BXm1Empty
private

Definition at line 411 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiHFHadronsPlus_BXm1Filled
private

Definition at line 432 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiNeutralHadronsBarrel
private

Definition at line 541 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiNeutralHadronsBarrel_BXm1Empty
private

Definition at line 405 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiNeutralHadronsBarrel_BXm1Filled
private

Definition at line 426 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiNeutralHadronsEndcapMinus
private

Definition at line 543 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiNeutralHadronsEndcapMinus_BXm1Empty
private

Definition at line 407 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiNeutralHadronsEndcapMinus_BXm1Filled
private

Definition at line 428 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiNeutralHadronsEndcapPlus
private

Definition at line 542 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiNeutralHadronsEndcapPlus_BXm1Empty
private

Definition at line 406 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiNeutralHadronsEndcapPlus_BXm1Filled
private

Definition at line 427 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiPhotonsBarrel
private

Definition at line 544 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiPhotonsBarrel_BXm1Empty
private

Definition at line 408 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiPhotonsBarrel_BXm1Filled
private

Definition at line 429 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiPhotonsEndcapMinus
private

Definition at line 546 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiPhotonsEndcapMinus_BXm1Empty
private

Definition at line 410 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiPhotonsEndcapMinus_BXm1Filled
private

Definition at line 431 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiPhotonsEndcapPlus
private

Definition at line 545 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiPhotonsEndcapPlus_BXm1Empty
private

Definition at line 409 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMETPhiPhotonsEndcapPlus_BXm1Filled
private

Definition at line 430 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMEx_profile
private

Definition at line 557 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMEy_profile
private

Definition at line 558 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meMuonEt
private

Definition at line 368 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNeutralHadronEt
private

Definition at line 364 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNeutralHadronEt_profile
private

Definition at line 565 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNeutralHadronEtFraction
private

Definition at line 363 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNeutralHadronEtFraction_BXm1Empty
private

Definition at line 397 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNeutralHadronEtFraction_BXm1Filled
private

Definition at line 418 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNeutralHadronEtFraction_profile
private

Definition at line 564 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNHF_Barrel
private

Definition at line 461 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNHF_Barrel_BXm1Empty
private

Definition at line 464 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNHF_Barrel_BXm1Filled
private

Definition at line 470 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNHF_EndcapMinus
private

Definition at line 463 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNHF_EndcapMinus_BXm1Empty
private

Definition at line 466 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNHF_EndcapMinus_BXm1Filled
private

Definition at line 472 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNHF_EndcapPlus
private

Definition at line 462 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNHF_EndcapPlus_BXm1Empty
private

Definition at line 465 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meNHF_EndcapPlus_BXm1Filled
private

Definition at line 471 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhF_Barrel
private

Definition at line 477 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhF_Barrel_BXm1Empty
private

Definition at line 480 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhF_Barrel_BXm1Filled
private

Definition at line 486 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhF_EndcapMinus
private

Definition at line 479 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhF_EndcapMinus_BXm1Empty
private

Definition at line 482 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhF_EndcapMinus_BXm1Filled
private

Definition at line 488 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhF_EndcapPlus
private

Definition at line 478 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhF_EndcapPlus_BXm1Empty
private

Definition at line 481 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhF_EndcapPlus_BXm1Filled
private

Definition at line 487 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhotonEt
private

Definition at line 362 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhotonEt_profile
private

Definition at line 563 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhotonEtFraction
private

Definition at line 361 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhotonEtFraction_BXm1Empty
private

Definition at line 396 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhotonEtFraction_BXm1Filled
private

Definition at line 417 of file METAnalyzer.h.

MonitorElement* METAnalyzer::mePhotonEtFraction_profile
private

Definition at line 562 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meSumET_BXm1Empty
private

Definition at line 400 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meSumET_BXm1Filled
private

Definition at line 421 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meSumET_profile
private

Definition at line 560 of file METAnalyzer.h.

edm::InputTag METAnalyzer::metCollectionLabel_
private

Definition at line 144 of file METAnalyzer.h.

edm::InputTag METAnalyzer::METFilterMiniAODLabel2_
private

Definition at line 159 of file METAnalyzer.h.

edm::InputTag METAnalyzer::METFilterMiniAODLabel_
private

Definition at line 157 of file METAnalyzer.h.

edm::EDGetTokenT<edm::TriggerResults> METAnalyzer::METFilterMiniAODToken2_
private

Definition at line 160 of file METAnalyzer.h.

edm::EDGetTokenT<edm::TriggerResults> METAnalyzer::METFilterMiniAODToken_
private

Definition at line 158 of file METAnalyzer.h.

std::string METAnalyzer::MetType_
private

Definition at line 141 of file METAnalyzer.h.

std::vector<double> METAnalyzer::MExPFCand_
private

Definition at line 535 of file METAnalyzer.h.

std::vector<double> METAnalyzer::MEyPFCand_
private

Definition at line 535 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_par
private

Definition at line 573 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_par_ZPt_0_15
private

Definition at line 574 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_par_ZPt_150_290
private

Definition at line 579 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_par_ZPt_15_30
private

Definition at line 575 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_par_ZPt_290
private

Definition at line 580 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_par_ZPt_30_55
private

Definition at line 576 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_par_ZPt_55_75
private

Definition at line 577 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_par_ZPt_75_150
private

Definition at line 578 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_perp
private

Definition at line 582 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_perp_ZPt_0_15
private

Definition at line 583 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_perp_ZPt_150_290
private

Definition at line 588 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_perp_ZPt_15_30
private

Definition at line 584 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_perp_ZPt_290
private

Definition at line 589 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_perp_ZPt_30_55
private

Definition at line 585 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_perp_ZPt_55_75
private

Definition at line 586 of file METAnalyzer.h.

MonitorElement* METAnalyzer::meZJets_u_perp_ZPt_75_150
private

Definition at line 587 of file METAnalyzer.h.

int METAnalyzer::miniaodfilterdec
private

Definition at line 163 of file METAnalyzer.h.

std::vector<int> METAnalyzer::miniaodFilterIndex_
private

Definition at line 162 of file METAnalyzer.h.

edm::EDGetTokenT<reco::MuonCollection> METAnalyzer::MuonsToken_
private

Definition at line 155 of file METAnalyzer.h.

int METAnalyzer::nbinsPV_
private

Definition at line 249 of file METAnalyzer.h.

double METAnalyzer::nPVMax_
private

Definition at line 251 of file METAnalyzer.h.

double METAnalyzer::nPVMin_
private

Definition at line 250 of file METAnalyzer.h.

int METAnalyzer::numPV_
private

Definition at line 277 of file METAnalyzer.h.

bool METAnalyzer::onlyCleaned_
private

Definition at line 260 of file METAnalyzer.h.

edm::ParameterSet METAnalyzer::parameters
private
edm::EDGetTokenT<pat::JetCollection> METAnalyzer::patJetsToken_
private

Definition at line 154 of file METAnalyzer.h.

edm::EDGetTokenT<pat::METCollection> METAnalyzer::patMetToken_
private

Definition at line 182 of file METAnalyzer.h.

PFJetIDSelectionFunctor METAnalyzer::pfjetIDFunctorLoose
private

Definition at line 190 of file METAnalyzer.h.

edm::EDGetTokenT<reco::PFJetCollection> METAnalyzer::pfJetsToken_
private

Definition at line 153 of file METAnalyzer.h.

edm::EDGetTokenT<std::vector<pat::PackedCandidate> > METAnalyzer::pflowPackedToken_
private

Definition at line 553 of file METAnalyzer.h.

edm::EDGetTokenT<std::vector<reco::PFCandidate> > METAnalyzer::pflowToken_
private

Definition at line 552 of file METAnalyzer.h.

edm::EDGetTokenT<reco::PFMETCollection> METAnalyzer::pfMetToken_
private

Definition at line 183 of file METAnalyzer.h.

std::vector<MonitorElement* > METAnalyzer::profilePFCand_x_
private

Definition at line 533 of file METAnalyzer.h.

std::vector<std::string> METAnalyzer::profilePFCand_x_name_
private

Definition at line 534 of file METAnalyzer.h.

std::vector<MonitorElement* > METAnalyzer::profilePFCand_y_
private

Definition at line 533 of file METAnalyzer.h.

std::vector<std::string> METAnalyzer::profilePFCand_y_name_
private

Definition at line 534 of file METAnalyzer.h.

double METAnalyzer::ptMinCand_
private

Definition at line 529 of file METAnalyzer.h.

double METAnalyzer::ptThreshold_
private

Definition at line 196 of file METAnalyzer.h.

bool METAnalyzer::runcosmics_
private

Definition at line 259 of file METAnalyzer.h.

std::vector<int> METAnalyzer::triggerFolderDecisions_
private

Definition at line 217 of file METAnalyzer.h.

std::vector<GenericTriggerEventFlag *> METAnalyzer::triggerFolderEventFlag_
private

Definition at line 214 of file METAnalyzer.h.

std::vector<std::vector<std::string> > METAnalyzer::triggerFolderExpr_
private

Definition at line 215 of file METAnalyzer.h.

std::vector<std::string > METAnalyzer::triggerFolderLabels_
private

Definition at line 216 of file METAnalyzer.h.

edm::InputTag METAnalyzer::triggerResultsLabel_
private

Definition at line 200 of file METAnalyzer.h.

edm::EDGetTokenT<edm::TriggerResults> METAnalyzer::triggerResultsToken_
private

Definition at line 201 of file METAnalyzer.h.

edm::VParameterSet METAnalyzer::triggerSelectedSubFolders_
private

Definition at line 213 of file METAnalyzer.h.

std::vector<int> METAnalyzer::typePFCand_
private

Definition at line 536 of file METAnalyzer.h.

int METAnalyzer::verbose_
private

Definition at line 139 of file METAnalyzer.h.

edm::InputTag METAnalyzer::vertexTag_
private

Definition at line 147 of file METAnalyzer.h.

edm::EDGetTokenT<std::vector<reco::Vertex> > METAnalyzer::vertexToken_
private

Definition at line 150 of file METAnalyzer.h.