Warning: this page is probably obsolete by now

Contents:

UpdatingMyRootMakerfrom CMSSW_5_3_18 to CMSSW_7_0_9_patch1

Files:

53X: DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball

root://cms-xrd-global.cern.ch//store/mc/Summer12_DR53X/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/AODSIM/PU25bx25_START53_V19D-v1/20000/0C8546EA-F0CC-E211-A809-002481E154CE.root

70X: DYJetsToEEMuMu_M-800To1400_13TeV-madgraph

ZprimeToTauTau_M-5000_Tune4C_13TeV-pythia8

root://cms-xrd-global.cern.ch//store/mc/Spring14dr/DYJetsToEEMuMu_M-800To1400_13TeV-madgraph/AODSIM/PU20bx25_POSTLS170_V5-v1/00000/2C43CC16-E708-E411-8DE5-848F69FD4FB5.root

root://cms-xrd-global.cern.ch//store/mc/Spring14dr/ZprimeToTauTau_M-5000_Tune4C_13TeV-pythia8/AODSIM/PU20bx25_POSTLS170_V5-v1/00000/02551B35-D4E4-E311-A19C-002481E0D5E2.root


Code

https://github.com/ekenn003/MyRootMaker

Important files Contains
src/MyRootMaker/MyRootMaker/RootTreeMC.py Global tag, test dataset
src/MyRootMaker/MyRootMaker/src/RootMaker.cc the analyser - what goes into the AC1B tree at end
src/MyRootMaker/MyRootMaker/interface/RootMaker.h header for analyser
src/MyRootMaker/MyRootMaker/BuildFile.xml parts of CMS software that analyser has to know about
src/MyRootMaker/MyRootMaker/python/RootMakerTemplateXX_cfg.py global tag; imported by RootTreeMC.py

Set up CMSSW and git

Moved to here

Compilation

Go to source directory and compile
cd CMSSW_7_0_9_patch1/src
scram b

Will try to compile and fix errors / add packages as needed.

Better make sure I have all the packages I need, that are listed in ../../CMSSW_5_3_18/src on the cmssw github page. Copy over the ones that aren't:

cp -r ../../CMSSW_5_3_18/src/EventFilter/Eventfilter .
cp -r ../../CMSSW_5_3_18/src/RecoMET/METAnalyzers .
compiles ok.


Compiling

CMSSW_5_3_18

compiles and runs on 8 tev mc (produced in CMSSW5) CMSSW_5_3_18_dirlist.txt

CMSSW_7_0_9_patch1

Errors

EGamma/EGammaAnalysisTools/src/PFIsolationEstimator.cc: No such file or directory (solved)

.../MyRootMaker/MyRootMaker/interface/RootMaker.h:139:66: 
fatal error: EGamma/EGammaAnalysisTools/src/PFIsolationEstimator.cc: No such file or directory

First, try to check out EGamma/EGammaAnalysisTools

git cms-addpkg EGamma/EGammaAnalysisTools

But:

Checking out package EGamma/EGammaAnalysisTools
package EGamma/EGammaAnalysisTools does not exist in branch from-CMSSW_7_0_9_patch1

Look to see if it had been named something else in this release: go to https://github.com/cms-sw/cmssw and go to 7_0_X branch. Turns out package PFIsolationEstimator.cc can now be found in EgammaAnalysis/ElectronTools/src/.

Solution
Go to MyRootMaker/MyRootMaker/BuildFile.xml and change

<use   name="EGamma/EGammaAnalysisTools"/></verbatim>
to
<use   name="EgammaAnalysis/ElectronTools"/>

and then go to MyRootMaker/MyRootMaker/interface/RootMaker.h and change

#include "EGamma/EGammaAnalysisTools/src/PFIsolationEstimator.cc"
to
#include "EgammaAnalysis/ElectronTools/src/PFIsolationEstimator.cc"

SuperClusterFootprintRemoval package (solved)

Search the git repo for SuperClusterFootprintRemoval but it wasn't anywhere. From SuperClusterFootprintRemoval page,
git clone https://github.com/peruzzim/SCFootprintRemoval.git

Solution
Follow instructions on SuperClusterFootprintRemoval to copy packages to src directory

and add following line to MyRootMaker/MyRootMaker/BuildFile.xml:

<use name="PFIsolation/SuperClusterFootprintRemoval"/>

and add following line to MyRootMaker/MyRootMaker/interface/RootMaker.h:

#include "PFIsolation/SuperClusterFootprintRemoval/interface/SuperClusterFootprintRemoval.h"

In MyRootMaker/MyRootMaker/src/RootMaker.cc, in lines after remover(iEvent,iSetup) is defined, add the following line above where photon_isolationpfr4noscfootprint* is used:

PFIsolation_struct tempPFIso_photon = remover.PFIsolation(theph.superCluster(), edm::Ptr<reco::Vertex>(Vertices, 0));

and change the following lines

photon_isolationpfr4noscfootprintcharged[photon_count] = remover.PFIsolation("charged", theph.superCluster(), 0);
photon_isolationpfr4noscfootprintphoton[photon_count] = remover.PFIsolation("photon", theph.superCluster());
photon_isolationpfr4noscfootprintneutral[photon_count] = remover.PFIsolation("neutral", theph.superCluster());

to

photon_isolationpfr4noscfootprintcharged[photon_count] = tempPFIso_photon.chargediso_primvtx;
photon_isolationpfr4noscfootprintphoton[photon_count]  = tempPFIso_photon.photoniso;
photon_isolationpfr4noscfootprintneutral[photon_count] = tempPFIso_photon.neutraliso; 

undefined reference to `reco::PFCandidate::trackRef() const (solved)

...
>> Building shared library tmp/slc6_amd64_gcc481/src/PFIsolation/SuperClusterFootprintRemoval/src/PFIsolationSuperClusterFootprintRemoval/libPFIsolationSuperClusterFootprintRemoval.so
tmp/slc6_amd64_gcc481/src/PFIsolation/SuperClusterFootprintRemoval/src/PFIsolationSuperClusterFootprintRemoval/SuperClusterFootprintRemoval.o: In function `SuperClusterFootprintRemoval::CheckMatchedPFCandidate(int)':
SuperClusterFootprintRemoval.cc:(.text+0x4ff): undefined reference to `reco::PFCandidate::superClusterRef() const'
tmp/slc6_amd64_gcc481/src/PFIsolation/SuperClusterFootprintRemoval/src/PFIsolationSuperClusterFootprintRemoval/SuperClusterFootprintRemoval.o: In function `SuperClusterFootprintRemoval::PFIsolation_worker(edm::Ref<std::vector<reco::SuperCluster, std::allocator<reco::SuperCluster> >, reco::SuperCluster, edm::refhelper::FindUsingAdvance<std::vector<reco::SuperCluster, std::allocator<reco::SuperCluster> >, reco::SuperCluster> >, edm::Ptr<reco::Vertex>, float, bool)':
SuperClusterFootprintRemoval.cc:(.text+0x39d7): undefined reference to `reco::PFCandidate::trackRef() const'
SuperClusterFootprintRemoval.cc:(.text+0x3a30): undefined reference to `reco::PFCandidate::trackRef() const'
SuperClusterFootprintRemoval.cc:(.text+0x3a8b): undefined reference to `reco::PFCandidate::trackRef() const'
...

Solution
Fixed by adding following line to PFIsolation/SuperClusterFootprintRemoval/BuildFile.xml:
<use name="DataFormats/ParticleFlowCandidate"/>

conversion from 'const value_type {...}' to non-scalar type 'reco::PFCandidateRef {...}' requested (*Taus)

...
>> Entering Package MyRootMaker/MyRootMaker
Entering library rule at MyRootMaker/MyRootMaker
>> Compiling edm plugin CMSSW_7_0_9_patch1/src/MyRootMaker/MyRootMaker/src/RootMaker.cc
CMSSW_7_0_9_patch1/src/MyRootMaker/MyRootMaker/src/RootMaker.cc: In member function 'bool RootMaker::AddTaus(const edm::Event&)':
CMSSW_7_0_9_patch1/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:2405:61: error: conversion from 'const value_type {aka const edm::Ptr<reco::PFCandidate>}' to non-scalar type 'reco::PFCandidateRef {aka edm::Ref<std::vector<reco::PFCandidate> >}' requested
     PFCandidateRef isocand = (*Taus)[i].isolationPFCands()[n];
                                                             ^
CMSSW_7_0_9_patch1/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:2423:55: error: conversion from 'const value_type {aka const edm::Ptr<reco::PFCandidate>}' to non-scalar type 'reco::PFCandidateRef {aka edm::Ref<std::vector<reco::PFCandidate> >}' requested
     PFCandidateRef cand = (*Taus)[i].signalPFCands()[n];
                                                       ^
...

Solution (?)

Add the following at the top of src/RootMaker.cc (under the deconstructor):

const PFCandidate& RootMaker::removeRef(const PFCandidatePtr& pfRef) {
    return *pfRef;
}
template<typename Collection, typename Function>
std::vector<double> RootMaker::extract(const Collection& cands, Function func) {
    // #define CALL_MEMBER_FN(object,ptrToMember) ((object).*(ptrToMember))
    std::vector<double> output;
    output.reserve(cands.size());
    for(typename Collection::const_iterator cand = cands.begin(); cand != cands.end(); ++cand) {
        output.push_back(func(removeRef(*cand)));
    }
    return output;
}

and the following in interface/RootMaker.h under private, below endJob:

const PFCandidate& removeRef(const PFCandidatePtr& pfRef);
template<typename Collection, typename Function>
std::vector<double> extract(const Collection& cands, Function func);

Comment out the following for-loop in src/RootMaker.cc:

for(unsigned n = 0 ; n < (*Taus)[i].isolationPFCands().size() ; n++) {
    PFCandidateRef isocand = (*Taus)[i].isolationPFCands()[n];
    if(isocand->charge() == 0) {
        tau_isolationneutralsnum[tau_count]++;
        tau_isolationneutralspt[tau_count]+=isocand->pt();
    } 
    else {
        tau_isolationchargednum[tau_count]++;
        tau_isolationchargedpt[tau_count]+=isocand->pt();
    }
}

and add the following lines right above it:

std::vector<double> isocands = extract((*Taus)[i].isolationPFNeutrHadrCands(),std::mem_fun_ref(&PFCandidate::pt));
BOOST_FOREACH(double pt, isocands) {
    tau_isolationneutralspt[tau_count] += pt;
}

Comment out the following for-loop in src/RootMaker.cc:

for(unsigned n = 0 ; n < (*Taus)[i].signalPFCands().size() ; n++)      {
    PFCandidateRef cand = (*Taus)[i].signalPFCands()[n];
    track = cand->trackRef();

and add the following lines right above it:

const std::vector<reco::PFCandidatePtr>& tauSignalPFCands = (*Taus)[i].signalPFCands();
for ( std::vector<reco::PFCandidatePtr>::const_iterator tauSignalPFCand = tauSignalPFCands.begin();
tauSignalPFCand != tauSignalPFCands.end(); ++tauSignalPFCand ) {
    track = (*tauSignalPFCand)->trackRef();

Add the following lines to the top:

#include <vector>
#include <boost/foreach.hpp>

Compiles ok, but doesn't find any taus yet.


Python

CMSSW_5_3_18

Output of python MyRootMaker/MyRootMaker/RootTreeMC.py in 5_3_18:
-----------------------------------------------------------
INFO   : cleaning has been removed. Switching output from
         clean PAT candidates to selected PAT candidates.
Adapting PF Muons
*****************
WARNING: particle based isolation must be studied

 muon source: cms.InputTag("pfIsolatedMuonsPFlow")
 isolation  : cms.PSet(
    pfNeutralHadrons = cms.InputTag("muPFIsoValueNeutral04PFlow"),
    pfChargedAll = cms.InputTag("muPFIsoValueChargedAll04PFlow"),
    pfPUChargedHadrons = cms.InputTag("muPFIsoValuePU04PFlow"),
    pfPhotons = cms.InputTag("muPFIsoValueGamma04PFlow"),
    pfChargedHadrons = cms.InputTag("muPFIsoValueCharged04PFlow")
)
 isodeposits:
cms.PSet(
    pfNeutralHadrons = cms.InputTag("muPFIsoDepositNeutralPFlow"),
    pfChargedAll = cms.InputTag("muPFIsoDepositChargedAllPFlow"),
    pfPUChargedHadrons = cms.InputTag("muPFIsoDepositPUPFlow"),
    pfPhotons = cms.InputTag("muPFIsoDepositGammaPFlow"),
    pfChargedHadrons = cms.InputTag("muPFIsoDepositChargedPFlow")
)

Adapting PF Electrons
*********************
WARNING: particle based isolation must be studied

 PF electron source: cms.InputTag("pfIsolatedElectronsPFlow")
 isolation  :
cms.PSet(
    pfNeutralHadrons = cms.InputTag("elPFIsoValueNeutral04PFIdPFlow"),
    pfChargedAll = cms.InputTag("elPFIsoValueChargedAll04PFIdPFlow"),
    pfPUChargedHadrons = cms.InputTag("elPFIsoValuePU04PFIdPFlow"),
    pfPhotons = cms.InputTag("elPFIsoValueGamma04PFIdPFlow"),
    pfChargedHadrons = cms.InputTag("elPFIsoValueCharged04PFIdPFlow")
)
 isodeposits:
cms.PSet(
    pfNeutralHadrons = cms.InputTag("elPFIsoDepositNeutralPFlow"),
    pfChargedAll = cms.InputTag("elPFIsoDepositChargedAllPFlow"),
    pfPUChargedHadrons = cms.InputTag("elPFIsoDepositPUPFlow"),
    pfPhotons = cms.InputTag("elPFIsoDepositGammaPFlow"),
    pfChargedHadrons = cms.InputTag("elPFIsoDepositChargedPFlow")
)

removing traditional isolation
Temporarily switching off photons completely
WARNING: called applyPostfix for module/sequence cleanPatCandidateSummary which is not in patDefaultSequencePFlow!
---------------------------------------------------------------------
INFO   : some objects have been removed from the sequence. Switching
         off PAT cross collection cleaning, as it might be of limited
         sense now. If you still want to keep object collection cross
         cleaning within PAT you need to run and configure it by hand
WARNING: called applyPostfix for module/sequence countPatCandidates which is not in patDefaultSequencePFlow!
WARNING: called applyPostfix for module/sequence cleanPatMuons which is not in patDefaultSequencePFlow!
WARNING: called applyPostfix for module/sequence cleanPatJets which is not in patDefaultSequencePFlow!
WARNING: called applyPostfix for module/sequence cleanPatPhotons which is not in patDefaultSequencePFlow!
WARNING: called applyPostfix for module/sequence cleanPatElectrons which is not in patDefaultSequencePFlow!
WARNING: called applyPostfix for module/sequence cleanPatTaus which is not in patDefaultSequencePFlow!
WARNING: called applyPostfix for module/sequence cleanPatCandidateSummary which is not in patDefaultSequencePFlow!
------------------------------------------------------------
INFO   : cleaning has been removed. Switching output from
         clean PAT candidates to selected PAT candidates.
#################################################
WARNING! Not using L2L3Residual but this is data.
If this is okay with you, disregard this message.
#################################################
Switching to PFJets,   AK5
************************
input collection:  cms.InputTag("pfNoTauPFlow")

The btaginfo below will be written to the jet collection in the PATtuple (default is all, see PatAlgos/PhysicsTools/python/tools/jetTools.py)
impactParameterTagInfos
secondaryVertexTagInfos

The bdiscriminators below will be written to the jet collection in the PATtuple (default is all, see PatAlgos/PhysicsTools/python/tools/jetTools.py)
jetBProbabilityBJetTags
jetProbabilityBJetTags
trackCountingHighPurBJetTags
trackCountingHighEffBJetTags
simpleSecondaryVertexHighEffBJetTags
simpleSecondaryVertexHighPurBJetTags
combinedSecondaryVertexBJetTags
patTaus will be produced from taus of type: hpsPFTau that pass ['DiscriminationByLooseCombinedIsolationDBSumPtCorr']
Tau discriminators:  cms.InputTag("hpsPFTauProducer") -> cms.InputTag("hpsPFTauProducerPFlow")
Tau type:  hpsPFTau
 Taus:  cms.InputTag("hpsPFTauProducer") -> cms.InputTag("hpsPFTauProducerPFlow")
MET: using  cms.InputTag("pfMETPFlow")
Switching PV collection for PF2PAT: cms.InputTag("offlinePrimaryVertices")
***********************************
************** MC dependence removal ************
removing MC dependencies for photons
removing MC dependencies for electrons
removing MC dependencies for muons
removing MC dependencies for taus
removing MC dependencies for jets
Done: PF2PAT interfaced to PAT, postfix= PFlow

CMSSW_7_0_9_patch1

Errors

No module named METAnalyzers.CSCHaloFilter _cfi (solved)

An exception of category 'ConfigFileReadError' occurred while
   [0] Processing the python configuration file named RootTreeMC.py
Exception Message:
python encountered the error: <type 'exceptions.ImportError'>
No module named METAnalyzers.CSCHaloFilter_cfi

Try to check out METAnalyzers/CSCHaloFilter; doesn't exist.

Solution
In RecoMET/METFilters find something called CSCTightHaloFilter_cfi.py, maybe that is what I want. Check out RecoMET/METFilters and recompile. (ok)

Change reference in MyRootMaker/MyRootMaker/python/RootMakerTemplateMC_cfg.py:

process.load('RecoMET.METAnalyzers.CSCHaloFilter_cfi')

to

process.load('RecoMET.METFilters.CSCTightHaloFilter_cfi')

'Process'objecthasnoattribute'pfElectronIsolationSequence' (solved)

Traceback (most recent call last):
  File "MyRootMaker/MyRootMaker/RootTreeMC.py", line 1, in <module>
    from MyRootMaker.MyRootMaker.RootMakerTemplateMC_cfg import *
  File "/afs/cern.ch/work/e/ekennedy/work/SMHtoMUMU/CMSSW_7_0_9_patch1/python/MyRootMaker/MyRootMaker/RootMakerTemplateMC_cfg.py", line 121, in <module>
    process.eleIsoSequence = setupPFElectronIso(process, 'gsfElectrons')
  File "/afs/cern.ch/work/e/ekennedy/work/SMHtoMUMU/CMSSW_7_0_9_patch1/python/CommonTools/ParticleFlow/Tools/pfIsolation.py", line 129, in setupPFElectronIso
    return setupPFIso( process, electronCollection, 'Electron', newpostfix, postfix, runPF2PAT)
  File "/afs/cern.ch/work/e/ekennedy/work/SMHtoMUMU/CMSSW_7_0_9_patch1/python/CommonTools/ParticleFlow/Tools/pfIsolation.py", line 50, in setupPFIso
    ga('pf{lepton}IsolationSequence'.format(lepton=particleName))
  File "/afs/cern.ch/work/e/ekennedy/work/SMHtoMUMU/CMSSW_7_0_9_patch1/python/CommonTools/ParticleFlow/Tools/pfIsolation.py", line 9, in fun
    return getattr(process, name+postfix)
AttributeError: 'Process' object has no attribute 'pfElectronIsolationSequence'

From an old hypernews email:

Indeed, we don't use sequences in the process at all for the unscheduled mode -- at least in the PAT tools. So any configuration plumbing of the type process.ANY_SEQUENCE = ... might fail.

Solution
1. In CommonTools/ParticleFlow/python/pfElectrons_cff.py, add
from CommonTools.ParticleFlow.Isolation.pfElectronIsolation_cff import *

2. Add

pfIsolatedElectrons +

inside the pfElectronSequence = cms.Sequence( ).

3. Change the following lines in RootMakerTemplateMC_cfg.py

process.eleIsoSequence = setupPFElectronIso(process, 'gsfElectrons')
process.phoIsoSequence = setupPFPhotonIso(process, 'photons')
process.pfiso_step = cms.Path( process.pfParticleSelectionSequence + 
                               process.eleIsoSequence + 
                               process.phoIsoSequence)
to
process.stdElectronSequencePFIso = setupPFElectronIso(process, 'gedGsfElectrons')
process.stdPhotonSequencePFIso = setupPFPhotonIso(process, 'photons')
process.pfiso_step = cms.Path( process.pfParticleSelectionSequence +
                               process.stdElectronSequencePFIso +
                               process.stdPhotonSequencePFIso)
d.h. rename the two isolation sequences (necessary?) and change gsfElectrons to gedGsfElectrons

Generic " 'Process'objecthasnoattribute'' " error

Example:

'Process'objecthasnoattribute'hltCsc2DRecHits'

Solution
1. Find where hltCsc2DRecHits is defined by searching the cmssw repo

turns out it's in HLTrigger/Configuration/python/HLT_PIon_cff.py

2. Add the following (analogous) line above where the attribute is called:

process.load('HLTrigger/Configuration/HLT_PIon_cff')

IndexError: tuple index out of range (solved)

File "/afs/cern.ch/work/e/ekennedy/work/SMHtoMUMU/CMSSW_7_0_9_patch1/python/PhysicsTools/PatAlgos/tools/jetTools.py", line 446, in toolCode
    if jetCorrections[2].lower() != 'none' and jetCorrections[2] != '':
IndexError: tuple index out of range

Solution
In RootMakerTemplateMC_cfg.py, change
jetCorrections=('AK5PFchs', ['L1FastJet', 'L2Relative', 'L3Absolute']),
to
jetCorrections=('AK5PFchs', ['L1FastJet', 'L2Relative', 'L3Absolute'],'Type-1'),


cmsRun

CMSSW_5_3_18

Errors

Xrd: XrdClientMessage::ReadRaw: Failed to read header

141030 13:40:08 16949 Xrd: XrdClientMessage::ReadRaw: Failed to read header (8 bytes).

Solution
Apparently just indicates poor server connection. Can safely be ignored, but may be followed by disconnection from lxplus causing job failure.

CMSSW_7_0_9_patch1

Errors

None so far that don't show up in python.

gsfElectrons -> gedGsfElectrons

Wherever it appears, change the following

edm::InputTag("photons")
to
edm::InputTag("gedPhotons")
and
edm::InputTag("gsfElectrons")
to
edm::InputTag("gedGsfElectrons")

More info: EgGEDIntegration


Notes

Possible problems

BTagTrackProbability2DRcd/BTagTrackProbability3DRcd

In RootTreeMC.py:
process.GlobalTag.toGet = cms.VPSet(
                 cms.PSet(record = cms.string("BTagTrackProbability2DRcd"),
                        tag = cms.string("TrackProbabilityCalibration_2D_MC53X_v2"),
                        connect = cms.untracked.string("frontier://FrontierPrep/CMS_COND_BTAU")),
                cms.PSet(record = cms.string("BTagTrackProbability3DRcd"),
                        tag = cms.string("TrackProbabilityCalibration_3D_MC53X_v2"),
                        connect = cms.untracked.string("frontier://FrontierPrep/CMS_COND_BTAU"))
                )
problem?: SWGuideBTagJetProbabilityCalibration has nothing for CMSSW > 53X

Questions

did not find any valid track reference attached to the jet

WARNING : did not find any valid track reference attached to the jet
Problem?

No InputTag for IV's given

%MSG-w PF_PU_AssoMapAlgos::PF_PU_AssoMapAlgos:   PFCand_AssoMap:pfCandidateToVertexAssociation@ctor 31-Oct-2014 15:26:01 CET  pre-events
No InputTag for IV's given --> skipping reconstruction of inclusive vertices !!
%MSG
%MSG-w PF_PU_AssoMapAlgos::PF_PU_AssoMapAlgos:   PFCand_AssoMap:PFCandAssoMap@ctor 31-Oct-2014 15:26:03 CET pre-events
No InputTag for IV's given --> skipping reconstruction of inclusive vertices !!
%MSG
problem?

Added class "data"

WARNING! Not using L2L3Residual but this is data.
...
--- DataSetInfo              : Added class "data"	 with internal class number 0
does it still think it is running on data?

recoPuJetMva

edm::Handle<ValueMap<float> > puidfullHandle;
iEvent.getByLabel(edm::InputTag("recoPuJetMva", "fullDiscriminant", "ROOTMAKER"), puidfullHandle);
edm::Handle<ValueMap<float> > puidsimpleHandle;
iEvent.getByLabel(edm::InputTag("recoPuJetMva", "simpleDiscriminant", "ROOTMAKER"), puidsimpleHandle);
edm::Handle<ValueMap<float> > puidcutbasedHandle;
iEvent.getByLabel(edm::InputTag("recoPuJetMva", "cutbasedDiscriminant", "ROOTMAKER"), puidcutbasedHandle);

Updating MyRootMaker from 70X AOD to 72X AOD

CURRENT STATUS ->

Contents:

Green led = problem is fixed and I am confident in the fix

Yellow led = problem is fixed but the solution needs review

Red led = problem has no solution yet

Gray led = warning but no errors


Code

CMSSW release: 7_2_2

https://github.com/ekenn003/MyRootMaker

RootTreeMC.py + RootMakerTemplateMC_cfg.py

interface/RootMaker.h

src/RootMaker.cc

Current status


Notes on config file

Input tags

Can use edmDumpEventContent --all root://cms-xrd-global.cern.ch//store/mc/Phys14DR/ZZTo4L_Tune4C_13TeV-powheg-pythia8/AODSIM/PU20bx25_PHYS14_25_V1-v1/00000/08E67F10-0069-E411-B1B1-00266CF9BEE4.root= to find what to use as input tags. The output of this command contains line like
Type                                  Module                      Label             Process        Full Name
------------------------------------------------------------------------------------------------------------
GenEventInfoProduct                   "generator"                 ""                "SIM"          GenEventInfoProduct_generator__SIM
edm::TriggerResults                   "TriggerResults"            ""                "SIM"          edmTriggerResults_TriggerResults__SIM
vector<reco::GenJet>                  "ak8GenJets"                ""                "SIM"          recoGenJets_ak8GenJets__SIM
edm::TriggerResults                   "TriggerResults"            ""                "HLT"          edmTriggerResults_TriggerResults__HLT
vector<PileupSummaryInfo>             "addPileupInfo"             ""                "HLT"          PileupSummaryInfos_addPileupInfo__HLT

Full output:

Type                                  Module                      Label             Process        Full Name
------------------------------------------------------------------------------------------------------------
LHEEventProduct                       "externalLHEProducer"       ""                "LHE"          LHEEventProduct_externalLHEProducer__LHE
GenEventInfoProduct                   "generator"                 ""                "SIM"          GenEventInfoProduct_generator__SIM
edm::TriggerResults                   "TriggerResults"            ""                "SIM"          edmTriggerResults_TriggerResults__SIM
vector<reco::GenJet>                  "ak8GenJets"                ""                "SIM"          recoGenJets_ak8GenJets__SIM
edm::TriggerResults                   "TriggerResults"            ""                "HLT"          edmTriggerResults_TriggerResults__HLT
vector<PileupSummaryInfo>             "addPileupInfo"             ""                "HLT"          PileupSummaryInfos_addPileupInfo__HLT
vector<int>                           "genParticles"              ""                "HLT"          ints_genParticles__HLT
vector<reco::GenJet>                  "ak4GenJets"                ""                "HLT"          recoGenJets_ak4GenJets__HLT
vector<reco::GenJet>                  "ak5GenJets"                ""                "HLT"          recoGenJets_ak5GenJets__HLT
vector<reco::GenJet>                  "ak8GenJets"                ""                "HLT"          recoGenJets_ak8GenJets__HLT
vector<reco::GenJet>                  "kt4GenJets"                ""                "HLT"          recoGenJets_kt4GenJets__HLT
vector<reco::GenJet>                  "kt6GenJets"                ""                "HLT"          recoGenJets_kt6GenJets__HLT
vector<reco::GenMET>                  "genMetCalo"                ""                "HLT"          recoGenMETs_genMetCalo__HLT
vector<reco::GenMET>                  "genMetCaloAndNonPrompt"    ""                "HLT"          recoGenMETs_genMetCaloAndNonPrompt__HLT
vector<reco::GenMET>                  "genMetTrue"                ""                "HLT"          recoGenMETs_genMetTrue__HLT
vector<reco::GenParticle>             "genParticles"              ""                "HLT"          recoGenParticles_genParticles__HLT
trigger::TriggerEvent                 "hltTriggerSummaryAOD"      ""                "HLT"          triggerTriggerEvent_hltTriggerSummaryAOD__HLT
ClusterSummary                        "clusterSummaryProducer"    ""                "RECO"         ClusterSummary_clusterSummaryProducer__RECO
EBDigiCollection                      "selectDigi"                "selectedEcalEBDigiCollection"   "RECO"         EBDigiCollection_selectDigi_selectedEcalEBDigiCollection_RECO
EEDigiCollection                      "selectDigi"                "selectedEcalEEDigiCollection"   "RECO"         EEDigiCollection_selectDigi_selectedEcalEEDigiCollection_RECO
HcalNoiseSummary                      "hcalnoise"                 ""                "RECO"         HcalNoiseSummary_hcalnoise__RECO
HcalUnpackerReport                    "castorDigis"               ""                "RECO"         HcalUnpackerReport_castorDigis__RECO
HcalUnpackerReport                    "hcalDigis"                 ""                "RECO"         HcalUnpackerReport_hcalDigis__RECO
L1GlobalTriggerObjectMaps             "l1L1GtObjectMap"           ""                "RECO"         L1GlobalTriggerObjectMaps_l1L1GtObjectMap__RECO
L1GlobalTriggerReadoutRecord          "gtDigis"                   ""                "RECO"         L1GlobalTriggerReadoutRecord_gtDigis__RECO
double                                "fixedGridRhoAll"           ""                "RECO"         double_fixedGridRhoAll__RECO
double                                "fixedGridRhoFastjetAll"    ""                "RECO"         double_fixedGridRhoFastjetAll__RECO
double                                "fixedGridRhoFastjetAllCalo"   ""                "RECO"         double_fixedGridRhoFastjetAllCalo__RECO
double                                "fixedGridRhoFastjetCentralCalo"   ""                "RECO"         double_fixedGridRhoFastjetCentralCalo__RECO
double                                "fixedGridRhoFastjetCentralChargedPileUp"   ""                "RECO"         double_fixedGridRhoFastjetCentralChargedPileUp__RECO
double                                "fixedGridRhoFastjetCentralNeutral"   ""                "RECO"         double_fixedGridRhoFastjetCentralNeutral__RECO
double                                "ak4CaloJets"               "rho"             "RECO"         double_ak4CaloJets_rho_RECO
double                                "ak4PFJets"                 "rho"             "RECO"         double_ak4PFJets_rho_RECO
double                                "ak4PFJetsCHS"              "rho"             "RECO"         double_ak4PFJetsCHS_rho_RECO
double                                "ak4TrackJets"              "rho"             "RECO"         double_ak4TrackJets_rho_RECO
double                                "ak5CaloJets"               "rho"             "RECO"         double_ak5CaloJets_rho_RECO
double                                "ak5PFJets"                 "rho"             "RECO"         double_ak5PFJets_rho_RECO
double                                "ak5PFJetsCHS"              "rho"             "RECO"         double_ak5PFJetsCHS_rho_RECO
double                                "ak8PFJets"                 "rho"             "RECO"         double_ak8PFJets_rho_RECO
double                                "ak8PFJetsCHS"              "rho"             "RECO"         double_ak8PFJetsCHS_rho_RECO
double                                "ca8PFJetsCHS"              "rho"             "RECO"         double_ca8PFJetsCHS_rho_RECO
double                                "ca8PFJetsCHSPruned"        "rho"             "RECO"         double_ca8PFJetsCHSPruned_rho_RECO
double                                "cmsTopTagPFJetsCHS"        "rho"             "RECO"         double_cmsTopTagPFJetsCHS_rho_RECO
double                                "ak4CaloJets"               "sigma"           "RECO"         double_ak4CaloJets_sigma_RECO
double                                "ak4PFJets"                 "sigma"           "RECO"         double_ak4PFJets_sigma_RECO
double                                "ak4PFJetsCHS"              "sigma"           "RECO"         double_ak4PFJetsCHS_sigma_RECO
double                                "ak4TrackJets"              "sigma"           "RECO"         double_ak4TrackJets_sigma_RECO
double                                "ak5CaloJets"               "sigma"           "RECO"         double_ak5CaloJets_sigma_RECO
double                                "ak5PFJets"                 "sigma"           "RECO"         double_ak5PFJets_sigma_RECO
double                                "ak5PFJetsCHS"              "sigma"           "RECO"         double_ak5PFJetsCHS_sigma_RECO
double                                "ak8PFJets"                 "sigma"           "RECO"         double_ak8PFJets_sigma_RECO
double                                "ak8PFJetsCHS"              "sigma"           "RECO"         double_ak8PFJetsCHS_sigma_RECO
double                                "ca8PFJetsCHS"              "sigma"           "RECO"         double_ca8PFJetsCHS_sigma_RECO
double                                "ca8PFJetsCHSPruned"        "sigma"           "RECO"         double_ca8PFJetsCHSPruned_sigma_RECO
double                                "cmsTopTagPFJetsCHS"        "sigma"           "RECO"         double_cmsTopTagPFJetsCHS_sigma_RECO
edm::AssociationMap<edm::OneToOne<vector<reco::SuperCluster>,vector<reco::HFEMClusterShape>,unsigned int> >    "hfEMClusters"              ""                "RECO"         recoSuperClustersToOnerecoHFEMClusterShapesAssociation_hfEMClusters__RECO
edm::AssociationMap<edm::OneToOne<vector<reco::Track>,vector<reco::Track>,unsigned int> >    "tevMuons"                  "default"         "RECO"         recoTracksToOnerecoTracksAssociation_tevMuons_default_RECO
edm::AssociationMap<edm::OneToOne<vector<reco::Track>,vector<reco::Track>,unsigned int> >    "tevMuons"                  "dyt"             "RECO"         recoTracksToOnerecoTracksAssociation_tevMuons_dyt_RECO
edm::AssociationMap<edm::OneToOne<vector<reco::Track>,vector<reco::Track>,unsigned int> >    "tevMuons"                  "firstHit"        "RECO"         recoTracksToOnerecoTracksAssociation_tevMuons_firstHit_RECO
edm::AssociationMap<edm::OneToOne<vector<reco::Track>,vector<reco::Track>,unsigned int> >    "tevMuons"                  "picky"           "RECO"         recoTracksToOnerecoTracksAssociation_tevMuons_picky_RECO
edm::AssociationVector<edm::RefProd<vector<reco::PFTau> >,vector<edm::Ref<vector<reco::PFTauTransverseImpactParameter>,reco::PFTauTransverseImpactParameter,edm::refhelper::FindUsingAdvance<vector<reco::PFTauTransverseImpactParameter>,reco::PFTauTransverseImpactParameter> > >,edm::Ref<vector<reco::PFTau>,reco::PFTau,edm::refhelper::FindUsingAdvance<vector<reco::PFTau>,reco::PFTau> >,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "hpsPFTauTransverseImpactParameters"   ""                "RECO"         recoPFTausedmRefProdrecoPFTauTransverseImpactParametersrecoPFTauTransverseImpactParameterrecoPFTauTransverseImpactParametersTorecoPFTauTransverseImpactParameteredmrefhelperFindUsingAdvanceedmRefsAssociationVector_hpsPFTauTransverseImpactParameters__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<edm::RefVector<vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<vector<reco::Track>,reco::Track> > >,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "ak4JetTracksAssociatorAtVertex"   ""                "RECO"         recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak4JetTracksAssociatorAtVertex__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<edm::RefVector<vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<vector<reco::Track>,reco::Track> > >,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "ak4JetTracksAssociatorAtVertexPF"   ""                "RECO"         recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak4JetTracksAssociatorAtVertexPF__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<edm::RefVector<vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<vector<reco::Track>,reco::Track> > >,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "ak4JetTracksAssociatorExplicit"   ""                "RECO"         recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_ak4JetTracksAssociatorExplicit__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<edm::RefVector<vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<vector<reco::Track>,reco::Track> > >,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "pfJetTrackAssociatorEI"    ""                "RECO"         recoJetedmRefToBaseProdrecoTracksrecoTrackrecoTracksTorecoTrackedmrefhelperFindUsingAdvanceedmRefVectorsAssociationVector_pfJetTrackAssociatorEI__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "combinedInclusiveSecondaryVertexV2BJetTags"   ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_combinedInclusiveSecondaryVertexV2BJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "combinedMVABJetTags"       ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_combinedMVABJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "combinedSecondaryVertexBJetTags"   ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_combinedSecondaryVertexBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "combinedSecondaryVertexBJetTagsEI"   ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_combinedSecondaryVertexBJetTagsEI__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "ghostTrackBJetTags"        ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_ghostTrackBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "jetBProbabilityBJetTags"   ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_jetBProbabilityBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "jetProbabilityBJetTags"    ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_jetProbabilityBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "pfCombinedSecondaryVertexBJetTags"   ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_pfCombinedSecondaryVertexBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "simpleSecondaryVertexHighEffBJetTags"   ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_simpleSecondaryVertexHighEffBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "simpleSecondaryVertexHighPurBJetTags"   ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_simpleSecondaryVertexHighPurBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "softPFElectronBJetTags"    ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_softPFElectronBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "softPFMuonBJetTags"        ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_softPFMuonBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "trackCountingHighEffBJetTags"   ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_trackCountingHighEffBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "trackCountingHighPurBJetTags"   ""                "RECO"         recoJetedmRefToBaseProdTofloatsAssociationVector_trackCountingHighPurBJetTags__RECO
edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,vector<reco::JetExtendedAssociation::JetExtendedData>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference>    "ak4JetExtender"            ""                "RECO"         recoJetedmRefToBaseProdTorecoJetExtendedAssociationJetExtendedDatasAssociationVector_ak4JetExtender__RECO
edm::ConditionsInEventBlock           "conditionsInEdm"           ""                "RECO"         edmConditionsInEventBlock_conditionsInEdm__RECO
edm::OwnVector<TrackingRecHit,edm::ClonePolicy<TrackingRecHit> >    "displacedStandAloneMuons"   ""                "RECO"         TrackingRecHitsOwned_displacedStandAloneMuons__RECO
edm::OwnVector<TrackingRecHit,edm::ClonePolicy<TrackingRecHit> >    "refittedStandAloneMuons"   ""                "RECO"         TrackingRecHitsOwned_refittedStandAloneMuons__RECO
edm::OwnVector<TrackingRecHit,edm::ClonePolicy<TrackingRecHit> >    "standAloneMuons"           ""                "RECO"         TrackingRecHitsOwned_standAloneMuons__RECO
edm::SortedCollection<CastorRecHit,edm::StrictWeakOrdering<CastorRecHit> >    "castorreco"                ""                "RECO"         CastorRecHitsSorted_castorreco__RECO
edm::SortedCollection<EcalRecHit,edm::StrictWeakOrdering<EcalRecHit> >    "reducedEcalRecHitsEB"      ""                "RECO"         EcalRecHitsSorted_reducedEcalRecHitsEB__RECO
edm::SortedCollection<EcalRecHit,edm::StrictWeakOrdering<EcalRecHit> >    "reducedEcalRecHitsEE"      ""                "RECO"         EcalRecHitsSorted_reducedEcalRecHitsEE__RECO
edm::SortedCollection<EcalRecHit,edm::StrictWeakOrdering<EcalRecHit> >    "reducedEcalRecHitsES"      ""                "RECO"         EcalRecHitsSorted_reducedEcalRecHitsES__RECO
edm::SortedCollection<HBHERecHit,edm::StrictWeakOrdering<HBHERecHit> >    "reducedHcalRecHits"        "hbhereco"        "RECO"         HBHERecHitsSorted_reducedHcalRecHits_hbhereco_RECO
edm::SortedCollection<HFRecHit,edm::StrictWeakOrdering<HFRecHit> >    "reducedHcalRecHits"        "hfreco"          "RECO"         HFRecHitsSorted_reducedHcalRecHits_hfreco_RECO
edm::SortedCollection<HORecHit,edm::StrictWeakOrdering<HORecHit> >    "reducedHcalRecHits"        "horeco"          "RECO"         HORecHitsSorted_reducedHcalRecHits_horeco_RECO
edm::TriggerResults                   "TriggerResults"            ""                "RECO"         edmTriggerResults_TriggerResults__RECO
edm::ValueMap<bool>                   "PhotonIDProd"              "PhotonCutBasedIDLoose"   "RECO"         booledmValueMap_PhotonIDProd_PhotonCutBasedIDLoose_RECO
edm::ValueMap<bool>                   "PhotonIDProdGED"           "PhotonCutBasedIDLoose"   "RECO"         booledmValueMap_PhotonIDProdGED_PhotonCutBasedIDLoose_RECO
edm::ValueMap<bool>                   "PhotonIDProd"              "PhotonCutBasedIDLooseEM"   "RECO"         booledmValueMap_PhotonIDProd_PhotonCutBasedIDLooseEM_RECO
edm::ValueMap<bool>                   "PhotonIDProdGED"           "PhotonCutBasedIDLooseEM"   "RECO"         booledmValueMap_PhotonIDProdGED_PhotonCutBasedIDLooseEM_RECO
edm::ValueMap<bool>                   "PhotonIDProd"              "PhotonCutBasedIDTight"   "RECO"         booledmValueMap_PhotonIDProd_PhotonCutBasedIDTight_RECO
edm::ValueMap<bool>                   "PhotonIDProdGED"           "PhotonCutBasedIDTight"   "RECO"         booledmValueMap_PhotonIDProdGED_PhotonCutBasedIDTight_RECO
edm::ValueMap<bool>                   "muons"                     "muidAllArbitrated"   "RECO"         booledmValueMap_muons_muidAllArbitrated_RECO
edm::ValueMap<bool>                   "muons"                     "muidGMStaChiCompatibility"   "RECO"         booledmValueMap_muons_muidGMStaChiCompatibility_RECO
edm::ValueMap<bool>                   "muons"                     "muidGMTkChiCompatibility"   "RECO"         booledmValueMap_muons_muidGMTkChiCompatibility_RECO
edm::ValueMap<bool>                   "muons"                     "muidGMTkKinkTight"   "RECO"         booledmValueMap_muons_muidGMTkKinkTight_RECO
edm::ValueMap<bool>                   "muons"                     "muidGlobalMuonPromptTight"   "RECO"         booledmValueMap_muons_muidGlobalMuonPromptTight_RECO
edm::ValueMap<bool>                   "muons"                     "muidRPCMuLoose"   "RECO"         booledmValueMap_muons_muidRPCMuLoose_RECO
edm::ValueMap<bool>                   "muons"                     "muidTM2DCompatibilityLoose"   "RECO"         booledmValueMap_muons_muidTM2DCompatibilityLoose_RECO
edm::ValueMap<bool>                   "muons"                     "muidTM2DCompatibilityTight"   "RECO"         booledmValueMap_muons_muidTM2DCompatibilityTight_RECO
edm::ValueMap<bool>                   "muons"                     "muidTMLastStationAngLoose"   "RECO"         booledmValueMap_muons_muidTMLastStationAngLoose_RECO
edm::ValueMap<bool>                   "muons"                     "muidTMLastStationAngTight"   "RECO"         booledmValueMap_muons_muidTMLastStationAngTight_RECO
edm::ValueMap<bool>                   "muons"                     "muidTMLastStationLoose"   "RECO"         booledmValueMap_muons_muidTMLastStationLoose_RECO
edm::ValueMap<bool>                   "muons"                     "muidTMLastStationOptimizedLowPtLoose"   "RECO"         booledmValueMap_muons_muidTMLastStationOptimizedLowPtLoose_RECO
edm::ValueMap<bool>                   "muons"                     "muidTMLastStationOptimizedLowPtTight"   "RECO"         booledmValueMap_muons_muidTMLastStationOptimizedLowPtTight_RECO
edm::ValueMap<bool>                   "muons"                     "muidTMLastStationTight"   "RECO"         booledmValueMap_muons_muidTMLastStationTight_RECO
edm::ValueMap<bool>                   "muons"                     "muidTMOneStationAngLoose"   "RECO"         booledmValueMap_muons_muidTMOneStationAngLoose_RECO
edm::ValueMap<bool>                   "muons"                     "muidTMOneStationAngTight"   "RECO"         booledmValueMap_muons_muidTMOneStationAngTight_RECO
edm::ValueMap<bool>                   "muons"                     "muidTMOneStationLoose"   "RECO"         booledmValueMap_muons_muidTMOneStationLoose_RECO
edm::ValueMap<bool>                   "muons"                     "muidTMOneStationTight"   "RECO"         booledmValueMap_muons_muidTMOneStationTight_RECO
edm::ValueMap<bool>                   "muons"                     "muidTrackerMuonArbitrated"   "RECO"         booledmValueMap_muons_muidTrackerMuonArbitrated_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueCharged03"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueCharged03_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueCharged04"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueCharged04_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueChargedAll03"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueChargedAll03_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueChargedAll04"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueChargedAll04_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueGamma03"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueGamma03_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueGamma04"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueGamma04_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueGammaHighThreshold03"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueGammaHighThreshold03_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueGammaHighThreshold04"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueGammaHighThreshold04_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueNeutral03"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueNeutral03_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueNeutral04"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueNeutral04_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueNeutralHighThreshold03"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueNeutralHighThreshold03_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValueNeutralHighThreshold04"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValueNeutralHighThreshold04_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValuePU03"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValuePU03_RECO
edm::ValueMap<double>                 "muons"                     "muPFMeanDRIsoValuePU04"   "RECO"         doubleedmValueMap_muons_muPFMeanDRIsoValuePU04_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueCharged03"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueCharged03_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueCharged04"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueCharged04_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueChargedAll03"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueChargedAll03_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueChargedAll04"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueChargedAll04_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueGamma03"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueGamma03_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueGamma04"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueGamma04_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueGammaHighThreshold03"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueGammaHighThreshold03_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueGammaHighThreshold04"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueGammaHighThreshold04_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueNeutral03"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueNeutral03_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueNeutral04"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueNeutral04_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueNeutralHighThreshold03"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueNeutralHighThreshold03_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValueNeutralHighThreshold04"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValueNeutralHighThreshold04_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValuePU03"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValuePU03_RECO
edm::ValueMap<double>                 "muons"                     "muPFSumDRIsoValuePU04"   "RECO"         doubleedmValueMap_muons_muPFSumDRIsoValuePU04_RECO
edm::ValueMap<edm::Ptr<reco::PFCandidate> >    "particleFlow"              "electrons"       "RECO"         recoPFCandidateedmPtredmValueMap_particleFlow_electrons_RECO
edm::ValueMap<edm::Ptr<reco::PFCandidate> >    "particleFlow"              "muons"           "RECO"         recoPFCandidateedmPtredmValueMap_particleFlow_muons_RECO
edm::ValueMap<edm::Ptr<reco::PFCandidate> >    "particleFlow"              "photons"         "RECO"         recoPFCandidateedmPtredmValueMap_particleFlow_photons_RECO
edm::ValueMap<float>                  "ca8PFJetsCHSPrunedLinks"   ""                "RECO"         floatedmValueMap_ca8PFJetsCHSPrunedLinks__RECO
edm::ValueMap<float>                  "eidLoose"                  ""                "RECO"         floatedmValueMap_eidLoose__RECO
edm::ValueMap<float>                  "eidRobustHighEnergy"       ""                "RECO"         floatedmValueMap_eidRobustHighEnergy__RECO
edm::ValueMap<float>                  "eidRobustLoose"            ""                "RECO"         floatedmValueMap_eidRobustLoose__RECO
edm::ValueMap<float>                  "eidRobustTight"            ""                "RECO"         floatedmValueMap_eidRobustTight__RECO
edm::ValueMap<float>                  "eidTight"                  ""                "RECO"         floatedmValueMap_eidTight__RECO
edm::ValueMap<float>                  "generalTracks"             "MVAVals"         "RECO"         floatedmValueMap_generalTracks_MVAVals_RECO
edm::ValueMap<reco::DeDxData>         "dedxDiscrimASmi"           ""                "RECO"         recoDeDxDataedmValueMap_dedxDiscrimASmi__RECO
edm::ValueMap<reco::DeDxData>         "dedxHarmonic2"             ""                "RECO"         recoDeDxDataedmValueMap_dedxHarmonic2__RECO
edm::ValueMap<reco::JetID>            "ak4JetID"                  ""                "RECO"         recoJetIDedmValueMap_ak4JetID__RECO
edm::ValueMap<reco::MuonCosmicCompatibility>    "muons"                     "cosmicsVeto"     "RECO"         recoMuonCosmicCompatibilityedmValueMap_muons_cosmicsVeto_RECO
edm::ValueMap<reco::MuonMETCorrectionData>    "muonMETValueMapProducer"   "muCorrData"      "RECO"         recoMuonMETCorrectionDataedmValueMap_muonMETValueMapProducer_muCorrData_RECO
edm::ValueMap<reco::MuonShower>       "muons"                     "muonShowerInformation"   "RECO"         recoMuonShoweredmValueMap_muons_muonShowerInformation_RECO
edm::ValueMap<reco::MuonTimeExtra>    "muons"                     "combined"        "RECO"         recoMuonTimeExtraedmValueMap_muons_combined_RECO
edm::ValueMap<reco::MuonTimeExtra>    "muons"                     "csc"             "RECO"         recoMuonTimeExtraedmValueMap_muons_csc_RECO
edm::ValueMap<reco::MuonTimeExtra>    "muons"                     "dt"              "RECO"         recoMuonTimeExtraedmValueMap_muons_dt_RECO
edm::ValueMap<vector<edm::Ref<vector<reco::PFCandidate>,reco::PFCandidate,edm::refhelper::FindUsingAdvance<vector<reco::PFCandidate>,reco::PFCandidate> > > >    "particleBasedIsolation"    "gedGsfElectrons"   "RECO"         recoPFCandidatesrecoPFCandidaterecoPFCandidatesrecoPFCandidateedmrefhelperFindUsingAdvanceedmRefsedmValueMap_particleBasedIsolation_gedGsfElectrons_RECO
edm::ValueMap<vector<edm::Ref<vector<reco::PFCandidate>,reco::PFCandidate,edm::refhelper::FindUsingAdvance<vector<reco::PFCandidate>,reco::PFCandidate> > > >    "particleBasedIsolation"    "gedPhotons"      "RECO"         recoPFCandidatesrecoPFCandidaterecoPFCandidatesrecoPFCandidateedmrefhelperFindUsingAdvanceedmRefsedmValueMap_particleBasedIsolation_gedPhotons_RECO
edm::ValueMap<unsigned int>           "muons"                     "cosmicsVeto"     "RECO"         uintedmValueMap_muons_cosmicsVeto_RECO
reco::BeamHaloSummary                 "BeamHaloSummary"           ""                "RECO"         recoBeamHaloSummary_BeamHaloSummary__RECO
reco::BeamSpot                        "offlineBeamSpot"           ""                "RECO"         recoBeamSpot_offlineBeamSpot__RECO
reco::GlobalHaloData                  "GlobalHaloData"            ""                "RECO"         recoGlobalHaloData_GlobalHaloData__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByDeadECALElectronRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByDeadECALElectronRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByDecayModeFinding"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByDecayModeFinding__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByDecayModeFindingNewDMs"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByDecayModeFindingNewDMs__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByDecayModeFindingOldDMs"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByDecayModeFindingOldDMs__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByIsolationMVA3newDMwLTraw"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByIsolationMVA3newDMwLTraw__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByIsolationMVA3newDMwoLTraw"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByIsolationMVA3newDMwoLTraw__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByIsolationMVA3oldDMwLTraw"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByIsolationMVA3oldDMwLTraw__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByIsolationMVA3oldDMwoLTraw"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByIsolationMVA3oldDMwoLTraw__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseChargedIsolation"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseChargedIsolation__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr3Hits"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr3Hits__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseElectronRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseElectronRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseIsolation"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseIsolation__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseIsolationMVA3newDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseIsolationMVA3newDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseIsolationMVA3newDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseIsolationMVA3newDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseIsolationMVA3oldDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseIsolationMVA3oldDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseIsolationMVA3oldDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseIsolationMVA3oldDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseMuonRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseMuonRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseMuonRejection2"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseMuonRejection2__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByLooseMuonRejection3"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByLooseMuonRejection3__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVA5LooseElectronRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVA5LooseElectronRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVA5MediumElectronRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVA5MediumElectronRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVA5TightElectronRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVA5TightElectronRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVA5VLooseElectronRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVA5VLooseElectronRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVA5VTightElectronRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVA5VTightElectronRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVA5rawElectronRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVA5rawElectronRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVALooseMuonRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVALooseMuonRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVAMediumMuonRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVAMediumMuonRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVATightMuonRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVATightMuonRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVArawMuonRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVArawMuonRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumChargedIsolation"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumChargedIsolation__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr3Hits"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr3Hits__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumElectronRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumElectronRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumIsolation"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumIsolation__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumIsolationMVA3newDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumIsolationMVA3newDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumIsolationMVA3newDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumIsolationMVA3newDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumIsolationMVA3oldDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumIsolationMVA3oldDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumIsolationMVA3oldDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumIsolationMVA3oldDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumMuonRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumMuonRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMediumMuonRejection2"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMediumMuonRejection2__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByRawChargedIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByRawChargedIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByRawCombinedIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByRawCombinedIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByRawCombinedIsolationDBSumPtCorr3Hits"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByRawCombinedIsolationDBSumPtCorr3Hits__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByRawGammaIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByRawGammaIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightChargedIsolation"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightChargedIsolation__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr3Hits"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr3Hits__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightElectronRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightElectronRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightIsolation"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightIsolation__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightIsolationMVA3newDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightIsolationMVA3newDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightIsolationMVA3newDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightIsolationMVA3newDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightIsolationMVA3oldDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightIsolationMVA3oldDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightIsolationMVA3oldDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightIsolationMVA3oldDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightMuonRejection"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightMuonRejection__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightMuonRejection2"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightMuonRejection2__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByTightMuonRejection3"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByTightMuonRejection3__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVLooseChargedIsolation"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseChargedIsolation__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVLooseIsolation"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseIsolation__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVLooseIsolationDBSumPtCorr"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseIsolationDBSumPtCorr__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVLooseIsolationMVA3newDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseIsolationMVA3newDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVLooseIsolationMVA3newDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseIsolationMVA3newDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVLooseIsolationMVA3oldDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseIsolationMVA3oldDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVLooseIsolationMVA3oldDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVLooseIsolationMVA3oldDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVTightIsolationMVA3newDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVTightIsolationMVA3newDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVTightIsolationMVA3newDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVTightIsolationMVA3newDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVTightIsolationMVA3oldDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVTightIsolationMVA3oldDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVTightIsolationMVA3oldDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVTightIsolationMVA3oldDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVVTightIsolationMVA3newDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVVTightIsolationMVA3newDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVVTightIsolationMVA3newDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVVTightIsolationMVA3newDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVVTightIsolationMVA3oldDMwLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVVTightIsolationMVA3oldDMwLT__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByVVTightIsolationMVA3oldDMwoLT"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByVVTightIsolationMVA3oldDMwoLT__RECO
reco::PFTauDiscriminator              "hpsPFTauMVA3IsolationChargedIsoPtSum"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauMVA3IsolationChargedIsoPtSum__RECO
reco::PFTauDiscriminator              "hpsPFTauMVA3IsolationNeutralIsoPtSum"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauMVA3IsolationNeutralIsoPtSum__RECO
reco::PFTauDiscriminator              "hpsPFTauMVA3IsolationPUcorrPtSum"   ""                "RECO"         recoPFTauDiscriminator_hpsPFTauMVA3IsolationPUcorrPtSum__RECO
reco::PFTauDiscriminator              "pfTausDiscriminationByDecayModeFinding"   ""                "RECO"         recoPFTauDiscriminator_pfTausDiscriminationByDecayModeFinding__RECO
reco::PFTauDiscriminator              "pfTausDiscriminationByIsolation"   ""                "RECO"         recoPFTauDiscriminator_pfTausDiscriminationByIsolation__RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByIsolationMVA3newDMwLTraw"   "category"        "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByIsolationMVA3newDMwLTraw_category_RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByIsolationMVA3newDMwoLTraw"   "category"        "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByIsolationMVA3newDMwoLTraw_category_RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByIsolationMVA3oldDMwLTraw"   "category"        "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByIsolationMVA3oldDMwLTraw_category_RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByIsolationMVA3oldDMwoLTraw"   "category"        "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByIsolationMVA3oldDMwoLTraw_category_RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVA5rawElectronRejection"   "category"        "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVA5rawElectronRejection_category_RECO
reco::PFTauDiscriminator              "hpsPFTauDiscriminationByMVArawMuonRejection"   "category"        "RECO"         recoPFTauDiscriminator_hpsPFTauDiscriminationByMVArawMuonRejection_category_RECO
vector<BeamSpotOnline>                "scalersRawToDigi"          ""                "RECO"         BeamSpotOnlines_scalersRawToDigi__RECO
vector<DcsStatus>                     "scalersRawToDigi"          ""                "RECO"         DcsStatuss_scalersRawToDigi__RECO
vector<L1AcceptBunchCrossing>         "scalersRawToDigi"          ""                "RECO"         L1AcceptBunchCrossings_scalersRawToDigi__RECO
vector<L1TriggerScalers>              "scalersRawToDigi"          ""                "RECO"         L1TriggerScalerss_scalersRawToDigi__RECO
vector<Level1TriggerScalers>          "scalersRawToDigi"          ""                "RECO"         Level1TriggerScalerss_scalersRawToDigi__RECO
vector<LumiScalers>                   "scalersRawToDigi"          ""                "RECO"         LumiScalerss_scalersRawToDigi__RECO
vector<double>                        "ak4PFJetsCHS"              "rhos"            "RECO"         doubles_ak4PFJetsCHS_rhos_RECO
vector<double>                        "ak5PFJetsCHS"              "rhos"            "RECO"         doubles_ak5PFJetsCHS_rhos_RECO
vector<double>                        "ak8PFJetsCHS"              "rhos"            "RECO"         doubles_ak8PFJetsCHS_rhos_RECO
vector<double>                        "ca8PFJetsCHS"              "rhos"            "RECO"         doubles_ca8PFJetsCHS_rhos_RECO
vector<double>                        "ca8PFJetsCHSPruned"        "rhos"            "RECO"         doubles_ca8PFJetsCHSPruned_rhos_RECO
vector<double>                        "cmsTopTagPFJetsCHS"        "rhos"            "RECO"         doubles_cmsTopTagPFJetsCHS_rhos_RECO
vector<double>                        "ak4PFJetsCHS"              "sigmas"          "RECO"         doubles_ak4PFJetsCHS_sigmas_RECO
vector<double>                        "ak5PFJetsCHS"              "sigmas"          "RECO"         doubles_ak5PFJetsCHS_sigmas_RECO
vector<double>                        "ak8PFJetsCHS"              "sigmas"          "RECO"         doubles_ak8PFJetsCHS_sigmas_RECO
vector<double>                        "ca8PFJetsCHS"              "sigmas"          "RECO"         doubles_ca8PFJetsCHS_sigmas_RECO
vector<double>                        "ca8PFJetsCHSPruned"        "sigmas"          "RECO"         doubles_ca8PFJetsCHSPruned_sigmas_RECO
vector<double>                        "cmsTopTagPFJetsCHS"        "sigmas"          "RECO"         doubles_cmsTopTagPFJetsCHS_sigmas_RECO
vector<edm::ErrorSummaryEntry>        "logErrorHarvester"         ""                "RECO"         edmErrorSummaryEntrys_logErrorHarvester__RECO
vector<edm::FwdPtr<reco::PFCandidate> >    "particleFlowPtrs"          ""                "RECO"         recoPFCandidateedmFwdPtrs_particleFlowPtrs__RECO
vector<edm::FwdPtr<reco::PFCandidate> >    "particleFlowTmpPtrs"       ""                "RECO"         recoPFCandidateedmFwdPtrs_particleFlowTmpPtrs__RECO
vector<edm::FwdPtr<reco::PFCandidate> >    "pfIsolatedElectronsEI"     ""                "RECO"         recoPFCandidateedmFwdPtrs_pfIsolatedElectronsEI__RECO
vector<edm::FwdPtr<reco::PFCandidate> >    "pfIsolatedMuonsEI"         ""                "RECO"         recoPFCandidateedmFwdPtrs_pfIsolatedMuonsEI__RECO
vector<l1extra::L1EmParticle>         "l1extraParticles"          "Isolated"        "RECO"         l1extraL1EmParticles_l1extraParticles_Isolated_RECO
vector<l1extra::L1EmParticle>         "l1extraParticles"          "NonIsolated"     "RECO"         l1extraL1EmParticles_l1extraParticles_NonIsolated_RECO
vector<l1extra::L1EtMissParticle>     "l1extraParticles"          "MET"             "RECO"         l1extraL1EtMissParticles_l1extraParticles_MET_RECO
vector<l1extra::L1EtMissParticle>     "l1extraParticles"          "MHT"             "RECO"         l1extraL1EtMissParticles_l1extraParticles_MHT_RECO
vector<l1extra::L1HFRings>            "l1extraParticles"          ""                "RECO"         l1extraL1HFRingss_l1extraParticles__RECO
vector<l1extra::L1JetParticle>        "l1extraParticles"          "Central"         "RECO"         l1extraL1JetParticles_l1extraParticles_Central_RECO
vector<l1extra::L1JetParticle>        "l1extraParticles"          "Forward"         "RECO"         l1extraL1JetParticles_l1extraParticles_Forward_RECO
vector<l1extra::L1JetParticle>        "l1extraParticles"          "Tau"             "RECO"         l1extraL1JetParticles_l1extraParticles_Tau_RECO
vector<l1extra::L1MuonParticle>       "l1extraParticles"          ""                "RECO"         l1extraL1MuonParticles_l1extraParticles__RECO
vector<reco::BasicJet>                "ca8PFJetsCHSPruned"        ""                "RECO"         recoBasicJets_ca8PFJetsCHSPruned__RECO
vector<reco::BasicJet>                "cmsTopTagPFJetsCHS"        ""                "RECO"         recoBasicJets_cmsTopTagPFJetsCHS__RECO
vector<reco::CaloCluster>             "hfEMClusters"              ""                "RECO"         recoCaloClusters_hfEMClusters__RECO
vector<reco::CaloCluster>             "particleFlowEGamma"        "EBEEClusters"    "RECO"         recoCaloClusters_particleFlowEGamma_EBEEClusters_RECO
vector<reco::CaloCluster>             "particleFlowEGamma"        "ESClusters"      "RECO"         recoCaloClusters_particleFlowEGamma_ESClusters_RECO
vector<reco::CaloCluster>             "hybridSuperClusters"       "hybridBarrelBasicClusters"   "RECO"         recoCaloClusters_hybridSuperClusters_hybridBarrelBasicClusters_RECO
vector<reco::CaloCluster>             "multi5x5SuperClusters"     "multi5x5EndcapBasicClusters"   "RECO"         recoCaloClusters_multi5x5SuperClusters_multi5x5EndcapBasicClusters_RECO
vector<reco::CaloCluster>             "particleFlowSuperClusterECAL"   "particleFlowBasicClusterECALBarrel"   "RECO"         recoCaloClusters_particleFlowSuperClusterECAL_particleFlowBasicClusterECALBarrel_RECO
vector<reco::CaloCluster>             "particleFlowSuperClusterECAL"   "particleFlowBasicClusterECALEndcap"   "RECO"         recoCaloClusters_particleFlowSuperClusterECAL_particleFlowBasicClusterECALEndcap_RECO
vector<reco::CaloCluster>             "particleFlowSuperClusterECAL"   "particleFlowBasicClusterECALPreshower"   "RECO"         recoCaloClusters_particleFlowSuperClusterECAL_particleFlowBasicClusterECALPreshower_RECO
vector<reco::CaloCluster>             "hybridSuperClusters"       "uncleanOnlyHybridBarrelBasicClusters"   "RECO"         recoCaloClusters_hybridSuperClusters_uncleanOnlyHybridBarrelBasicClusters_RECO
vector<reco::CaloJet>                 "ak4CaloJets"               ""                "RECO"         recoCaloJets_ak4CaloJets__RECO
vector<reco::CaloJet>                 "ak5CaloJets"               ""                "RECO"         recoCaloJets_ak5CaloJets__RECO
vector<reco::CaloMET>                 "caloMet"                   ""                "RECO"         recoCaloMETs_caloMet__RECO
vector<reco::CaloMET>                 "caloMetBE"                 ""                "RECO"         recoCaloMETs_caloMetBE__RECO
vector<reco::CaloMET>                 "caloMetBEFO"               ""                "RECO"         recoCaloMETs_caloMetBEFO__RECO
vector<reco::CaloMET>                 "caloMetM"                  ""                "RECO"         recoCaloMETs_caloMetM__RECO
vector<reco::CastorTower>             "CastorTowerReco"           ""                "RECO"         recoCastorTowers_CastorTowerReco__RECO
vector<reco::Conversion>              "allConversions"            ""                "RECO"         recoConversions_allConversions__RECO
vector<reco::Conversion>              "conversions"               ""                "RECO"         recoConversions_conversions__RECO
vector<reco::Conversion>              "particleFlowEGamma"        ""                "RECO"         recoConversions_particleFlowEGamma__RECO
vector<reco::Conversion>              "uncleanedOnlyAllConversions"   ""                "RECO"         recoConversions_uncleanedOnlyAllConversions__RECO
vector<reco::GsfElectron>             "gedGsfElectrons"           ""                "RECO"         recoGsfElectrons_gedGsfElectrons__RECO
vector<reco::GsfElectron>             "uncleanedOnlyGsfElectrons"   ""                "RECO"         recoGsfElectrons_uncleanedOnlyGsfElectrons__RECO
vector<reco::GsfElectronCore>         "gedGsfElectronCores"       ""                "RECO"         recoGsfElectronCores_gedGsfElectronCores__RECO
vector<reco::GsfElectronCore>         "uncleanedOnlyGsfElectronCores"   ""                "RECO"         recoGsfElectronCores_uncleanedOnlyGsfElectronCores__RECO
vector<reco::GsfTrack>                "electronGsfTracks"         ""                "RECO"         recoGsfTracks_electronGsfTracks__RECO
vector<reco::HFEMClusterShape>        "hfEMClusters"              ""                "RECO"         recoHFEMClusterShapes_hfEMClusters__RECO
vector<reco::IPTagInfo<edm::RefVector<vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<vector<reco::Track>,reco::Track> >,reco::JTATagInfo> >    "impactParameterTagInfosEI"   ""                "RECO"         recoTracksRefsrecoJTATagInforecoIPTagInfos_impactParameterTagInfosEI__RECO
vector<reco::JPTJet>                  "JetPlusTrackZSPCorJetAntiKt4"   ""                "RECO"         recoJPTJets_JetPlusTrackZSPCorJetAntiKt4__RECO
vector<reco::Muon>                    "muons"                     ""                "RECO"         recoMuons_muons__RECO
vector<reco::Muon>                    "muonsFromCosmics"          ""                "RECO"         recoMuons_muonsFromCosmics__RECO
vector<reco::Muon>                    "muonsFromCosmics1Leg"      ""                "RECO"         recoMuons_muonsFromCosmics1Leg__RECO
vector<reco::PFCandidate>             "particleFlow"              ""                "RECO"         recoPFCandidates_particleFlow__RECO
vector<reco::PFCandidate>             "pfIsolatedElectronsEI"     ""                "RECO"         recoPFCandidates_pfIsolatedElectronsEI__RECO
vector<reco::PFCandidate>             "pfIsolatedMuonsEI"         ""                "RECO"         recoPFCandidates_pfIsolatedMuonsEI__RECO
vector<reco::PFCandidate>             "particleFlowTmp"           "AddedMuonsAndHadrons"   "RECO"         recoPFCandidates_particleFlowTmp_AddedMuonsAndHadrons_RECO
vector<reco::PFCandidate>             "particleFlowTmp"           "CleanedCosmicsMuons"   "RECO"         recoPFCandidates_particleFlowTmp_CleanedCosmicsMuons_RECO
vector<reco::PFCandidate>             "particleFlowTmp"           "CleanedFakeMuons"   "RECO"         recoPFCandidates_particleFlowTmp_CleanedFakeMuons_RECO
vector<reco::PFCandidate>             "particleFlowTmp"           "CleanedHF"       "RECO"         recoPFCandidates_particleFlowTmp_CleanedHF_RECO
vector<reco::PFCandidate>             "particleFlowTmp"           "CleanedPunchThroughMuons"   "RECO"         recoPFCandidates_particleFlowTmp_CleanedPunchThroughMuons_RECO
vector<reco::PFCandidate>             "particleFlowTmp"           "CleanedPunchThroughNeutralHadrons"   "RECO"         recoPFCandidates_particleFlowTmp_CleanedPunchThroughNeutralHadrons_RECO
vector<reco::PFCandidate>             "particleFlowTmp"           "CleanedTrackerAndGlobalMuons"   "RECO"         recoPFCandidates_particleFlowTmp_CleanedTrackerAndGlobalMuons_RECO
vector<reco::PFJet>                   "ak4PFJets"                 ""                "RECO"         recoPFJets_ak4PFJets__RECO
vector<reco::PFJet>                   "ak4PFJetsCHS"              ""                "RECO"         recoPFJets_ak4PFJetsCHS__RECO
vector<reco::PFJet>                   "ak5PFJets"                 ""                "RECO"         recoPFJets_ak5PFJets__RECO
vector<reco::PFJet>                   "ak5PFJetsCHS"              ""                "RECO"         recoPFJets_ak5PFJetsCHS__RECO
vector<reco::PFJet>                   "ak8PFJets"                 ""                "RECO"         recoPFJets_ak8PFJets__RECO
vector<reco::PFJet>                   "ak8PFJetsCHS"              ""                "RECO"         recoPFJets_ak8PFJetsCHS__RECO
vector<reco::PFJet>                   "ca8PFJetsCHS"              ""                "RECO"         recoPFJets_ca8PFJetsCHS__RECO
vector<reco::PFJet>                   "pfJetsEI"                  ""                "RECO"         recoPFJets_pfJetsEI__RECO
vector<reco::PFJet>                   "ca8PFJetsCHSPruned"        "SubJets"         "RECO"         recoPFJets_ca8PFJetsCHSPruned_SubJets_RECO
vector<reco::PFJet>                   "cmsTopTagPFJetsCHS"        "caTopSubJets"    "RECO"         recoPFJets_cmsTopTagPFJetsCHS_caTopSubJets_RECO
vector<reco::PFMET>                   "pfChMet"                   ""                "RECO"         recoPFMETs_pfChMet__RECO
vector<reco::PFMET>                   "pfMet"                     ""                "RECO"         recoPFMETs_pfMet__RECO
vector<reco::PFMET>                   "pfMetEI"                   ""                "RECO"         recoPFMETs_pfMetEI__RECO
vector<reco::PFRecHit>                "particleFlowRecHitECAL"    "Cleaned"         "RECO"         recoPFRecHits_particleFlowRecHitECAL_Cleaned_RECO
vector<reco::PFRecHit>                "particleFlowRecHitHO"      "Cleaned"         "RECO"         recoPFRecHits_particleFlowRecHitHO_Cleaned_RECO
vector<reco::PFRecHit>                "particleFlowRecHitPS"      "Cleaned"         "RECO"         recoPFRecHits_particleFlowRecHitPS_Cleaned_RECO
vector<reco::PFTau>                   "hpsPFTauProducer"          ""                "RECO"         recoPFTaus_hpsPFTauProducer__RECO
vector<reco::PFTau>                   "pfTausEI"                  ""                "RECO"         recoPFTaus_pfTausEI__RECO
vector<reco::PFTauTransverseImpactParameter>    "hpsPFTauTransverseImpactParameters"   "PFTauTIP"        "RECO"         recoPFTauTransverseImpactParameters_hpsPFTauTransverseImpactParameters_PFTauTIP_RECO
vector<reco::Photon>                  "gedPhotons"                ""                "RECO"         recoPhotons_gedPhotons__RECO
vector<reco::Photon>                  "photons"                   ""                "RECO"         recoPhotons_photons__RECO
vector<reco::PhotonCore>              "gedPhotonCore"             ""                "RECO"         recoPhotonCores_gedPhotonCore__RECO
vector<reco::PhotonCore>              "photonCore"                ""                "RECO"         recoPhotonCores_photonCore__RECO
vector<reco::PreshowerCluster>        "multi5x5SuperClustersWithPreshower"   "preshowerXClusters"   "RECO"         recoPreshowerClusters_multi5x5SuperClustersWithPreshower_preshowerXClusters_RECO
vector<reco::PreshowerCluster>        "multi5x5SuperClustersWithPreshower"   "preshowerYClusters"   "RECO"         recoPreshowerClusters_multi5x5SuperClustersWithPreshower_preshowerYClusters_RECO
vector<reco::PreshowerClusterShape>    "multi5x5PreshowerClusterShape"   "multi5x5PreshowerXClustersShape"   "RECO"         recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_multi5x5PreshowerXClustersShape_RECO
vector<reco::PreshowerClusterShape>    "multi5x5PreshowerClusterShape"   "multi5x5PreshowerYClustersShape"   "RECO"         recoPreshowerClusterShapes_multi5x5PreshowerClusterShape_multi5x5PreshowerYClustersShape_RECO
vector<reco::RecoChargedRefCandidate>    "trackRefsForJets"          ""                "RECO"         recoRecoChargedRefCandidates_trackRefsForJets__RECO
vector<reco::RecoEcalCandidate>       "hfRecoEcalCandidate"       ""                "RECO"         recoRecoEcalCandidates_hfRecoEcalCandidate__RECO
vector<reco::RecoTauPiZero>           "hpsPFTauProducer"          "pizeros"         "RECO"         recoRecoTauPiZeros_hpsPFTauProducer_pizeros_RECO
vector<reco::SuperCluster>            "correctedHybridSuperClusters"   ""                "RECO"         recoSuperClusters_correctedHybridSuperClusters__RECO
vector<reco::SuperCluster>            "correctedMulti5x5SuperClustersWithPreshower"   ""                "RECO"         recoSuperClusters_correctedMulti5x5SuperClustersWithPreshower__RECO
vector<reco::SuperCluster>            "hfEMClusters"              ""                "RECO"         recoSuperClusters_hfEMClusters__RECO
vector<reco::SuperCluster>            "particleFlowEGamma"        ""                "RECO"         recoSuperClusters_particleFlowEGamma__RECO
vector<reco::SuperCluster>            "particleFlowSuperClusterECAL"   "particleFlowSuperClusterECALBarrel"   "RECO"         recoSuperClusters_particleFlowSuperClusterECAL_particleFlowSuperClusterECALBarrel_RECO
vector<reco::SuperCluster>            "particleFlowSuperClusterECAL"   "particleFlowSuperClusterECALEndcapWithPreshower"   "RECO"         recoSuperClusters_particleFlowSuperClusterECAL_particleFlowSuperClusterECALEndcapWithPreshower_RECO
vector<reco::SuperCluster>            "hybridSuperClusters"       "uncleanOnlyHybridSuperClusters"   "RECO"         recoSuperClusters_hybridSuperClusters_uncleanOnlyHybridSuperClusters_RECO
vector<reco::TemplatedSecondaryVertexTagInfo<reco::IPTagInfo<edm::RefVector<vector<reco::Track>,reco::Track,edm::refhelper::FindUsingAdvance<vector<reco::Track>,reco::Track> >,reco::JTATagInfo>,reco::Vertex> >    "secondaryVertexTagInfosEI"   ""                "RECO"         recoTracksRefsrecoJTATagInforecoIPTagInforecoVertexrecoTemplatedSecondaryVertexTagInfos_secondaryVertexTagInfosEI__RECO
vector<reco::Track>                   "ckfInOutTracksFromConversions"   ""                "RECO"         recoTracks_ckfInOutTracksFromConversions__RECO
vector<reco::Track>                   "ckfOutInTracksFromConversions"   ""                "RECO"         recoTracks_ckfOutInTracksFromConversions__RECO
vector<reco::Track>                   "conversionStepTracks"      ""                "RECO"         recoTracks_conversionStepTracks__RECO
vector<reco::Track>                   "cosmicMuons"               ""                "RECO"         recoTracks_cosmicMuons__RECO
vector<reco::Track>                   "cosmicMuons1Leg"           ""                "RECO"         recoTracks_cosmicMuons1Leg__RECO
vector<reco::Track>                   "displacedStandAloneMuons"   ""                "RECO"         recoTracks_displacedStandAloneMuons__RECO
vector<reco::Track>                   "generalTracks"             ""                "RECO"         recoTracks_generalTracks__RECO
vector<reco::Track>                   "globalCosmicMuons"         ""                "RECO"         recoTracks_globalCosmicMuons__RECO
vector<reco::Track>                   "globalCosmicMuons1Leg"     ""                "RECO"         recoTracks_globalCosmicMuons1Leg__RECO
vector<reco::Track>                   "globalMuons"               ""                "RECO"         recoTracks_globalMuons__RECO
vector<reco::Track>                   "refittedStandAloneMuons"   ""                "RECO"         recoTracks_refittedStandAloneMuons__RECO
vector<reco::Track>                   "regionalCosmicTracks"      ""                "RECO"         recoTracks_regionalCosmicTracks__RECO
vector<reco::Track>                   "standAloneMuons"           ""                "RECO"         recoTracks_standAloneMuons__RECO
vector<reco::Track>                   "uncleanedOnlyCkfInOutTracksFromConversions"   ""                "RECO"         recoTracks_uncleanedOnlyCkfInOutTracksFromConversions__RECO
vector<reco::Track>                   "uncleanedOnlyCkfOutInTracksFromConversions"   ""                "RECO"         recoTracks_uncleanedOnlyCkfOutInTracksFromConversions__RECO
vector<reco::Track>                   "refittedStandAloneMuons"   "UpdatedAtVtx"    "RECO"         recoTracks_refittedStandAloneMuons_UpdatedAtVtx_RECO
vector<reco::Track>                   "standAloneMuons"           "UpdatedAtVtx"    "RECO"         recoTracks_standAloneMuons_UpdatedAtVtx_RECO
vector<reco::Track>                   "tevMuons"                  "default"         "RECO"         recoTracks_tevMuons_default_RECO
vector<reco::Track>                   "tevMuons"                  "dyt"             "RECO"         recoTracks_tevMuons_dyt_RECO
vector<reco::Track>                   "tevMuons"                  "firstHit"        "RECO"         recoTracks_tevMuons_firstHit_RECO
vector<reco::Track>                   "impactParameterTagInfosEI"   "ghostTracks"     "RECO"         recoTracks_impactParameterTagInfosEI_ghostTracks_RECO
vector<reco::Track>                   "tevMuons"                  "picky"           "RECO"         recoTracks_tevMuons_picky_RECO
vector<reco::TrackExtra>              "displacedStandAloneMuons"   ""                "RECO"         recoTrackExtras_displacedStandAloneMuons__RECO
vector<reco::TrackExtra>              "globalMuons"               ""                "RECO"         recoTrackExtras_globalMuons__RECO
vector<reco::TrackExtra>              "refittedStandAloneMuons"   ""                "RECO"         recoTrackExtras_refittedStandAloneMuons__RECO
vector<reco::TrackExtra>              "standAloneMuons"           ""                "RECO"         recoTrackExtras_standAloneMuons__RECO
vector<reco::TrackExtra>              "tevMuons"                  "default"         "RECO"         recoTrackExtras_tevMuons_default_RECO
vector<reco::TrackExtra>              "tevMuons"                  "dyt"             "RECO"         recoTrackExtras_tevMuons_dyt_RECO
vector<reco::TrackExtra>              "tevMuons"                  "firstHit"        "RECO"         recoTrackExtras_tevMuons_firstHit_RECO
vector<reco::TrackExtra>              "tevMuons"                  "picky"           "RECO"         recoTrackExtras_tevMuons_picky_RECO
vector<reco::TrackExtrapolation>      "trackExtrapolator"         ""                "RECO"         recoTrackExtrapolations_trackExtrapolator__RECO
vector<reco::TrackJet>                "ak4TrackJets"              ""                "RECO"         recoTrackJets_ak4TrackJets__RECO
vector<reco::Vertex>                  "inclusiveSecondaryVertices"   ""                "RECO"         recoVertexs_inclusiveSecondaryVertices__RECO
vector<reco::Vertex>                  "offlinePrimaryVertices"    ""                "RECO"         recoVertexs_offlinePrimaryVertices__RECO
vector<reco::Vertex>                  "offlinePrimaryVerticesWithBS"   ""                "RECO"         recoVertexs_offlinePrimaryVerticesWithBS__RECO
vector<reco::VertexCompositeCandidate>    "generalV0Candidates"       "Kshort"          "RECO"         recoVertexCompositeCandidates_generalV0Candidates_Kshort_RECO
vector<reco::VertexCompositeCandidate>    "generalV0Candidates"       "Lambda"          "RECO"         recoVertexCompositeCandidates_generalV0Candidates_Lambda_RECO


Compiling

MyRootMakerFrom53XTo70X

Start by including only the folders CMGTools and PFIsolation.

Errors

Green led tbb/concurrent_unordered_map.h: No such file or directory

In file included from /cvmfs/cms.cern.ch/slc6_amd64_gcc481/cms/cmssw-patch/CMSSW_7_2_2/src/FWCore/PluginManager/interface/PluginFactory.h:26:0,
                 from /cvmfs/cms.cern.ch/slc6_amd64_gcc481/cms/cmssw-patch/CMSSW_7_2_2/src/FWCore/Framework/src/Factory.h:4,
                 from /cvmfs/cms.cern.ch/slc6_amd64_gcc481/cms/cmssw-patch/CMSSW_7_2_2/src/FWCore/Framework/interface/MakerMacros.h:4,
                 from CMSSW_7_2_2/src/MyRootMaker/MyRootMaker/interface/RootMaker.h:3,
                 from CMSSW_7_2_2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:1:
/cvmfs/cms.cern.ch/slc6_amd64_gcc481/cms/cmssw-patch/CMSSW_7_2_2/src/FWCore/PluginManager/interface/PluginFactoryBase.h:27:42: fatal error: tbb/concurrent_unordered_map.h: No such file or directory
 #include "tbb/concurrent_unordered_map.h"

Solution

No idea how this happened.... scram b clean seems to fix.

Green led undefined reference to `reco::PFCandidate::superClusterRef() const'

>> Building shared library tmp/slc6_amd64_gcc481/src/PFIsolation/SuperClusterFootprintRemoval/src/PFIsolationSuperClusterFootprintRemoval/libPFIsolationSuperClusterFootprintRemoval.so
tmp/slc6_amd64_gcc481/src/PFIsolation/SuperClusterFootprintRemoval/src/PFIsolationSuperClusterFootprintRemoval/SuperClusterFootprintRemoval.o: In function `SuperClusterFootprintRemoval::CheckMatchedPFCandidate(int)':
SuperClusterFootprintRemoval.cc:(.text+0x4ff): undefined reference to `reco::PFCandidate::superClusterRef() const'
tmp/slc6_amd64_gcc481/src/PFIsolation/SuperClusterFootprintRemoval/src/PFIsolationSuperClusterFootprintRemoval/SuperClusterFootprintRemoval.o: In function `SuperClusterFootprintRemoval::PFIsolation_worker(edm::Ref<std::vector<reco::SuperCluster, std::allocator<reco::SuperCluster> >, reco::SuperCluster, edm::refhelper::FindUsingAdvance<std::vector<reco::SuperCluster, std::allocator<reco::SuperCluster> >, reco::SuperCluster> >, edm::Ptr<reco::Vertex>, float, bool)':
SuperClusterFootprintRemoval.cc:(.text+0x38c7): undefined reference to `reco::PFCandidate::trackRef() const'
SuperClusterFootprintRemoval.cc:(.text+0x3916): undefined reference to `reco::PFCandidate::trackRef() const'
SuperClusterFootprintRemoval.cc:(.text+0x3967): undefined reference to `reco::PFCandidate::trackRef() const'

Solution

I have no idea why, but CommonTools/ParticleFlow has to be actually checked out.

Yellow led no matching function for call to 'EcalClusterLazyToolsT...'

MyRootMaker/MyRootMaker/src/RootMaker.cc: In member function 'bool RootMaker::AddPhotons(const edm::Event&, const edm::EventSetup&)':
MyRootMaker/MyRootMaker/src/RootMaker.cc:2064:165: error: no matching function for call to 'EcalClusterLazyToolsT<EcalClusterToolsT<false> >::EcalClusterLazyToolsT(const edm::Event&, const edm::EventSetup&, edm::InputTag, edm::InputTag, edm::InputTag)'
   EcalClusterLazyTools lazyTools(iEvent, iSetup, edm::InputTag("reducedEcalRecHitsEB"), edm::InputTag("reducedEcalRecHitsEE"), edm::InputTag("reducedEcalRecHitsES"));
                                                                                                                                                                     ^
MyRootMaker/MyRootMaker/src/RootMaker.cc:2064:165: note: candidates are:
In file included from MyRootMaker/MyRootMaker/interface/RootMaker.h:40:0,
                 from MyRootMaker/MyRootMaker/src/RootMaker.cc:1:
RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h:97:9: note: EcalClusterLazyToolsT<EcalClusterToolsImpl>::EcalClusterLazyToolsT(const edm::Event&, const edm::EventSetup&, edm::EDGetTokenT<edm::SortedCollection<EcalRecHit> >, edm::EDGetTokenT<edm::SortedCollection<EcalRecHit> >) [with EcalClusterToolsImpl = EcalClusterToolsT<false>]
         EcalClusterLazyToolsT( const edm::Event &ev, const edm::EventSetup &es, edm::EDGetTokenT<EcalRecHitCollection> token1, edm::EDGetTokenT<EcalRecHitCollection> token2):
         ^
RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h:97:9: note:   candidate expects 4 arguments, 5 provided


RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h:95:7: note: EcalClusterLazyToolsT<EcalClusterToolsT<false> >::EcalClusterLazyToolsT(const EcalClusterLazyToolsT<EcalClusterToolsT<false> >&)
 class EcalClusterLazyToolsT : public EcalClusterLazyToolsBase {
       ^
RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h:95:7: note:   candidate expects 1 argument, 5 provided

Look at the differences between 70X and 72X versions of RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h:

70X:

EcalClusterLazyToolsT( const edm::Event &ev, const edm::EventSetup &es, 
                       const edm::InputTag& redEBRecHits, 
                       const edm::InputTag& redEERecHits,
                       const edm::ParameterSet& config ) :
            EcalClusterLazyToolsBase( ev, es,  redEBRecHits,  redEERecHits, config ) {}

        EcalClusterLazyToolsT( const edm::Event &ev, 
                       const edm::EventSetup &es, 
                       const edm::InputTag& redEBRecHits, 
                       const edm::InputTag& redEERecHits) :
            EcalClusterLazyToolsBase( ev, es,  redEBRecHits,  redEERecHits) {}

        EcalClusterLazyToolsT( const edm::Event &ev, 
                       const edm::EventSetup &es, 
                       const edm::InputTag& redEBRecHits, 
                       const edm::InputTag& redEERecHits, 
                       const edm::InputTag& redESRecHits) :
            EcalClusterLazyToolsBase( ev, es,  redEBRecHits,  redEERecHits,  redESRecHits) {}

72X:

EcalClusterLazyToolsT( const edm::Event &ev, 
                       const edm::EventSetup &es, 
                             edm::EDGetTokenT<EcalRecHitCollection> token1, 
                             edm::EDGetTokenT<EcalRecHitCollection> token2):
            EcalClusterLazyToolsBase( ev, es, token1, token2) {}

In RootMaker.cc, EcalClusterLazyToolsT is called:

EcalClusterLazyTools lazyTools(iEvent,
                   iSetup,
                   edm::InputTag("reducedEcalRecHitsEB"),
                   edm::InputTag("reducedEcalRecHitsEE"),
                   edm::InputTag("reducedEcalRecHitsES")
);

Solution

Change above to

EcalClusterLazyTools lazyTools(iEvent, iSetup, ebRecHitsToken_, eeRecHitsToken_);
and don't forget this part

Problem: Only keeps EB and EE, loses ES.

Green led 'const value' has no member named 'trackerExpectedHitsInner'

CMSSW_7_2_2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc: In member function 'bool RootMaker::AddElectrons(const edm::Event&)':
CMSSW_7_2_2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:3149:67: error: 'const value' has no member named 'trackerExpectedHitsInner'
                 electron_nhitsexpected[electron_count] = gsfTr_e->trackerExpectedHitsInner().numberOfHits();
                                                                   ^

Solution (?)

Change the offending line
electron_nhitsexpected[electron_count] = gsfTr_e->trackerExpectedHitsInner().numberOfHits();
to the following:
electron_nhitsexpected[electron_count] = gsfTr_e->hitPattern().numberOfHits(reco::HitPattern::MISSING_INNER_HITS);

More info: CMS.TrackingHitPatternRedesign

Green led no matching function for call to 'edm::Ref<std::vector<reco::Photon>...

CMSSW_7_2_2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:1999:43: error: no matching function for call to 'edm::Ref<std::vector<reco::Photon> >::Ref(edm::Handle<std::vector<pat::Photon> >&, size_t&)'
                 PhotonRef refph(Photons, n);

Solution

In src/RootMaker.cc, change
const Photon &theph = (*Photons)[n];
PhotonRef refph(Photons, n);
to
const pat::Photon &theph = (*Photons)[n];
pat::PhotonRef refph(Photons, n);


Python

Errors

Green led 'Process' object has no attribute 'eidHyperTight1MC'

  File "MyRootMaker/MyRootMaker/RootTreeMC.py", line 192, in <module>
    process.electron_step = cms.Path(process.eidHyperTight1MC*process.eidLooseMC)
AttributeError: 'Process' object has no attribute 'eidHyperTight1MC'

Solution

Search in repo for eidHyperTight1MC and find that it is defined in RecoEgamma/ElectronIdentification/python/cutsInCategoriesElectronIdentificationV06_cfi.py, so make sure that the following line is in RootTreeMC.py:
process.load("RecoEgamma.ElectronIdentification.cutsInCategoriesElectronIdentificationV06_cfi")

Yellow led No module named pfMETCorrections_cff

  File "MyRootMaker/MyRootMaker/RootTreeMC.py", line 1, in <module>
    from MyRootMaker.MyRootMaker.RootMakerTemplateMC_cfg import *
  File "CMSSW_7_2_2/python/MyRootMaker/MyRootMaker/RootMakerTemplateMC_cfg.py", line 94, in <module>
    process.load('JetMETCorrections.Type1MET.pfMETCorrections_cff')
  File "/cvmfs/cms.cern.ch/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_2_2/python/FWCore/ParameterSet/Config.py", line 508, in load
    module = __import__(moduleName)
ImportError: No module named pfMETCorrections_cff

Commenting out the following line

process.load('JetMETCorrections.Type1MET.pfMETCorrections_cff')
gives error of not finding pfJetMETcorr or pfType1CorrectedMet.

I think the stuff I want has moved to JetMETCorrections/Type1MET/python/correctedMet_cff.py

Old (from pfMETCorrections_cff in 53X):

# produce Type 1 + 2 MET corrections for PFJets
pfJetMETcorr = cms.EDProducer("PFJetMETcorrInputProducer",
    src = cms.InputTag('ak5PFJets'),
    offsetCorrLabel = cms.string("ak5PFL1Fastjet"),
    jetCorrLabel = cms.string("ak5PFL1FastL2L3"), 
    jetCorrEtaMax = cms.double(9.9),
    type1JetPtThreshold = cms.double(10.0),
    skipEM = cms.bool(True),
    skipEMfractionThreshold = cms.double(0.90),
    skipMuons = cms.bool(True),
    skipMuonSelection = cms.string("isGlobalMuon | isStandAloneMuon")
)  

# use MET corrections to produce Type 1 / Type 1 + 2 corrected PFMET objects
pfType1CorrectedMet = cms.EDProducer("CorrectedPFMETProducer",
    src = cms.InputTag('pfMet'),
    applyType0Corrections = cms.bool(False),
    srcCHSSums = cms.VInputTag(
        cms.InputTag('pfchsMETcorr', 'type0')
    ),
    type0Rsoft = cms.double(0.6),
    applyType1Corrections = cms.bool(True),
    srcType1Corrections = cms.VInputTag(
        cms.InputTag('pfJetMETcorr', 'type1')
    ),
    applyType2Corrections = cms.bool(False)
) 

New (in correctedMet_cff in 7XX):

pfMetT1 = cms.EDProducer(
    "AddCorrectionsToPFMET",
    src = cms.InputTag('pfMet'),
    srcCorrections = cms.VInputTag(
        cms.InputTag('corrPfMetType1', 'type1')
    ),
) 

Solution (?)

In cfg, change the following
process.load('JetMETCorrections.Configuration.DefaultJEC_cff')
process.load('JetMETCorrections.Configuration.JetCorrectionServices_cff')
process.load("JetMETCorrections.Type1MET.pfMETCorrectionType0_cfi")
process.load('JetMETCorrections.Type1MET.pfMETCorrections_cff')
process.pfJetMETcorr.jetCorrLabel = cms.string("ak5PFL1FastL2L3") #MC

from JetMETCorrections.Type1MET.pfMETCorrections_cff import pfType1CorrectedMet
process.pfType0Type1CorrectedMet = pfType1CorrectedMet.clone(
    applyType0Corrections = cms.bool(False),
    srcType1Corrections = cms.VInputTag(
        cms.InputTag('pfMETcorrType0'),
        cms.InputTag('pfJetMETcorr', 'type1')
    )
)
process.metAnalysisSequence=cms.Sequence(process.type0PFMEtCorrection*process.producePFMETCorrections*process.pfType0Type1CorrectedMet)

to this instead:

process.load('JetMETCorrections.Configuration.DefaultJEC_cff')
process.load('JetMETCorrections.Configuration.JetCorrectionServices_cff')
process.load("JetMETCorrections.Type1MET.pfMETCorrectionType0_cfi")
from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1

pfMetT1seq = pfMetT1.clone (
    src = cms.InputTag('ak4PFJets'),
    offsetCorrLabel = cms.string("ak4PFL1Fastjet"),
    jetCorrLabel = cms.string("ak4PFL1FastL2L3"),
    jetCorrEtaMax = cms.double(9.9),
    type1JetPtThreshold = cms.double(10.0),
    skipEM = cms.bool(True),
    skipEMfractionThreshold = cms.double(0.90),
    skipMuons = cms.bool(True),
    skipMuonSelection = cms.string("isGlobalMuon | isStandAloneMuon")
)
process.metAnalysisSequence=cms.Sequence(process.pfMetT1)

Green led 'Process' object has no attribute 'pfElectronIsolationSequence'

  File "MyRootMaker/MyRootMaker/RootTreeMCbkp.py", line 1, in <module>
    from MyRootMaker.MyRootMaker.RootMakerTemplateMC_cfg import *
  File "CMSSW_7_2_2/python/MyRootMaker/MyRootMaker/RootMakerTemplateMC_cfg.py", line 116, in <module>
    process.stdElectronSequencePFIso = setupPFElectronIso(process, 'gedGsfElectrons')#'gsfElectrons')
  File "CMSSW_7_2_2/python/CommonTools/ParticleFlow/Tools/pfIsolation.py", line 129, in setupPFElectronIso
    return setupPFIso( process, electronCollection, 'Electron', newpostfix, postfix, runPF2PAT)
  File "CMSSW_7_2_2/python/CommonTools/ParticleFlow/Tools/pfIsolation.py", line 50, in setupPFIso
    ga('pf{lepton}IsolationSequence'.format(lepton=particleName))
  File "CMSSW_7_2_2/python/CommonTools/ParticleFlow/Tools/pfIsolation.py", line 9, in fun
    return getattr(process, name+postfix)
AttributeError: 'Process' object has no attribute 'pfElectronIsolationSequence'

More info: last time

Solution

Make sure the following two lines are in the config file:
from CommonTools.ParticleFlow.Isolation.pfElectronIsolation_cff import *
process.load('CommonTools.ParticleFlow.Isolation.pfElectronIsolation_cff')

Red led 'Process' object has no attribute 'patPF2PATSequencePFlow'

  File "MyRootMaker/MyRootMaker/RootTreeMCbkp.py", line 1, in <module>
    from MyRootMaker.MyRootMaker.RootMakerTemplateMC_cfg import *
  File "/afs/cern.ch/work/e/ekennedy/work/tuplizer/CMSSW_7_2_2/python/MyRootMaker/MyRootMaker/RootMakerTemplateMC_cfg.py", line 175, in <module>
    getattr(process, "patPF2PATSequence"+postfix).remove(getattr(process, "cleanPatCandidates"+postfix))
AttributeError: 'Process' object has no attribute 'patPF2PATSequencePFlow'

Solution

According to CMSPublic.SWGuideUnscheduledExecution, specifically this talk, I think the pat_step might be okay to remove? Anyway, for now I have commented out the lines with getattr(process, "patPF2PATSequence"+postfix) in them.


cmsRun

Errors

Green led Unable to find plugin 'DTRecoUncertaintiesRcd@NewProxy'

An exception of category 'PluginNotFound' occurred while
   [0] Constructing the EventProcessor
   [1] Constructing ESSource: class=PoolDBESSource label='GlobalTag'
Exception Message:
Unable to find plugin 'DTRecoUncertaintiesRcd@NewProxy' in category 'CondProxyFactory'. Please check spelling of name.

Solution (?)

Wrong global tag? PHYS14_25_V1::All seems to fix this for /store/mc/Phys14DR/ZZTo4L_Tune4C_13TeV-powheg-pythia8/AODSIM/PU20bx25_PHYS14_25_V1-v1

Green led exception of category 'BadToken'

An exception of category 'BadToken' occurred while
   [0] Processing run: 1 lumi: 1793 event: 179201
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
A get using a EDGetToken with the C++ type 'edm::SortedCollection<EcalRecHit,edm::StrictWeakOrdering<EcalRecHit> >' was made using an uninitialized token.
 Please check that the variable is being initialized from a 'consumes' call.

Solution

Forgot to add this to top of interface/RootMaker.h:
edm::EDGetTokenT<edm::SortedCollection<EcalRecHit,edm::StrictWeakOrdering<EcalRecHit> > > ebRecHitsToken_;
edm::EDGetTokenT<edm::SortedCollection<EcalRecHit,edm::StrictWeakOrdering<EcalRecHit> > > eeRecHitsToken_;
edm::EDGetTokenT<edm::SortedCollection<EcalRecHit,edm::StrictWeakOrdering<EcalRecHit> > > esRecHitsToken_;

edm::Handle<edm::SortedCollection<EcalRecHit,edm::StrictWeakOrdering<EcalRecHit> > > ebRecHits;
edm::Handle<edm::SortedCollection<EcalRecHit,edm::StrictWeakOrdering<EcalRecHit> > > eeRecHits;
edm::Handle<edm::SortedCollection<EcalRecHit,edm::StrictWeakOrdering<EcalRecHit> > > esRecHits;

Green led exception of category 'ProductNotFound' ... elPFIsoValueCharged03PFIdPFIso

An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 1 lumi: 1793 event: 179203
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
Principal::getByLabel: Found zero products matching all criteria
Looking for type: edm::ValueMap<double>
Looking for module label: elPFIsoValueCharged03PFIdPFIso
Looking for productInstanceName:

Solution

Make sure the following is in RootMakerMC.py:
from CommonTools.ParticleFlow.Isolation.pfElectronIsolation_cff import *
process.load('CommonTools.ParticleFlow.Isolation.pfElectronIsolation_cff')

and the following inside of process.p = cms.Path():

process.pfParticleSelectionSequence*
process.stdElectronSequencePFIso*
process.stdPhotonSequencePFIso*

Red led exception of category 'WrongPluginLoaded' ... 'PileupJetIdProducer'

An exception of category 'WrongPluginLoaded' occurred while
   [0] Constructing the EventProcessor
Exception Message:
The plugin 'PileupJetIdProducer' should have been loaded from
 'CMSSW_7_2_2/lib/slc6_amd64_gcc481/pluginCMGToolsExternalsplugins.so'
 but instead it was already loaded from
 '/cvmfs/cms.cern.ch/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_2_2/lib/slc6_amd64_gcc481/pluginRecoJetsJetProducers_plugins.so'
 because some other plugin was loaded from the latter loadables.
To work around the problem the plugin 'PileupJetIdProducer' should only be defined in one of these loadables.

RecoJets/JetProducers/plugins/PileupJetIdProducer.cc didn't appear in the 53X version of RecoJets/JetProducers. Can puJetId and puJetMva from CMGTools be replaced by something from this new file?

Want to replace this functionality:

# IN CMGTools/External/python/pujetidproducer_cfi.py
puJetId = pileupJetIdProducer.clone(
    produceJetIds = cms.bool(True),
    jetids = cms.InputTag(""),
    runMvas = cms.bool(False),
    jets = cms.InputTag("selectedPatJets"),
    vertexes = cms.InputTag("offlinePrimaryVertices"),
    algos = cms.VPSet(cutbased)
)
puJetMva = pileupJetIdProducer.clone(
    produceJetIds = cms.bool(False),
    jetids = cms.InputTag("puJetId"),
    runMvas = cms.bool(True),
    jets = cms.InputTag("selectedPatJets"),
    vertexes = cms.InputTag("offlinePrimaryVertices"),
    algos = stdalgos
)

# IN MyRootMaker/MyRootMaker/python/RootMakerTemplateMC_cfg.py
process.recoPuJetId = puJetId.clone(
    jets = cms.InputTag("ak4PFJets"),
    applyJec = cms.bool(True),
    inputIsCorrected = cms.bool(False),
)
process.recoPuJetMva = puJetMva.clone(
    jets = cms.InputTag("ak4PFJets"),
    jetids = cms.InputTag("recoPuJetId"),
    applyJec = cms.bool(True),
    inputIsCorrected = cms.bool(False),
)

Solution (?)

Replace the above section in python/RootMakerTemplateMC_cfg.py with the following:
from RecoJets.JetProducers.PileupJetID_cfi import *
#process.load("RecoJets.JetProducers.PileupJetID_cfi")
#process.load("RecoJets.JetProducers.puJetIDAlgo_cff")

process.recoPuJetId = pileupJetIdProducer.clone(
    runMvas = cms.bool(True),
    algos = cms.VPSet(cutbased),
    jets = cms.InputTag("ak4PFJets"),
)

process.recoPuJetIdSequence = cms.Sequence(process.recoPuJetId)
process.jetpuid_step = cms.Path(process.recoPuJetIdSequence)

This adds some new problems though.

I end up having to check out the package RecoJets/JetProducers and add the following line to the top of RecoJets/JetProducers/python/PileupJetID_cfi.py:

from RecoJets.JetProducers.puJetIDAlgo_cff import *

Still have the following problem:

edm::FileInPath unable to find file RecoJets/JetProducers/data/TMVAClassification_5x_BDT_fullPlusRMS.weights.xml.gz anywhere in the search path.
So I just copied them into that folder from the urls in the download file that is in RecoJets/JetProducers/data/. I suspect this will give me problems...

Yellow led No data of type "JetCorrectorParametersCollection" with label "AK4PF" in record "JetCorrectionsRecord"

An exception of category 'NoProxyException' occurred while
   [0] Processing run: 1 lumi: 341054 event: 34105303
   [1] Running path 'jet_step'
   [2] Calling event method for module AddCorrectionsToPFMET/'pfMetT1'
   [3] Calling produce method for unscheduled module PFJetMETcorrInputProducer/'corrPfMetType1'
   [4] Using EventSetup component JetCorrectionESChain/'ak4PFL1FastL2L3' to make data JetCorrector/'ak4PFL1FastL2L3' in record JetCorrectionsRecord
   [5] Using EventSetup component L1FastjetCorrectionESProducer/'ak4PFL1Fastjet' to make data JetCorrector/'ak4PFL1Fastjet' in record JetCorrectionsRecord
Exception Message:
No data of type "JetCorrectorParametersCollection" with label "AK4PF" in record "JetCorrectionsRecord"
 Please add an ESSource or ESProducer to your job which can deliver this data.

Solution

Search for "JetCorrectionsRecord" in cmssw git repo, find PhysicsTools/PatAlgos/python/patTestJEC_cfi.py where the following appears as AK5PF in 70X but AK4PF in 72X (the sample I am testing this on right now was made in 706):
cms.PSet(record = cms.string("JetCorrectionsRecord"),
         tag = cms.string("JetCorrectorParametersCollection_Jec10V1_AK5PF"),
         label=cms.untracked.string("AK5PF")), 

Running on a file made in 72X fixes this problem. Will have to see if I can add something later to try ak5 or ak4 depending on release? Or just hope that everything I want to use has ak4...

Red led Found zero products matching all criteria... recoPuJetMva

An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 1 lumi: 43 event: 4201
   [1] Running path 'roottree_step'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
Principal::getByLabel: Found zero products matching all criteria
Looking for type: edm::ValueMap<float>
Looking for module label: recoPuJetMva
Looking for productInstanceName: simpleDiscriminant
Looking for process: ROOTMAKER

Solution (?)

Comment out the following lines in src/RootMaker.cc:
edm::Handle<ValueMap<float> > puidsimpleHandle;
iEvent.getByLabel(edm::InputTag("recoPuJetMva", "simpleDiscriminant", "ROOTMAKER"), puidsimpleHandle);
...
ak4pfjet_puidsimple[ak4pfjet_count] = (*puidsimpleHandle)[jetref];

Yellow led pfMetType1 and pfMetType0Type1 invalid

pfMetType1.isValid() = 0
pfMetType0Type1.isValid() = 0

In 70X, python/RootMakerTemplateMC_cfg.py:

####### Jet MET corrections
...
process.load('JetMETCorrections.Type1MET.pfMETCorrections_cff')
process.pfJetMETcorr.jetCorrLabel = cms.string("ak5PFL1FastL2L3") #MC

from JetMETCorrections.Type1MET.pfMETCorrections_cff import pfType1CorrectedMet
process.pfType0Type1CorrectedMet = pfType1CorrectedMet.clone(
applyType0Corrections = cms.bool(False),
srcType1Corrections = cms.VInputTag(
    cms.InputTag('pfMETcorrType0'),
    cms.InputTag('pfJetMETcorr', 'type1')
)
)
process.metAnalysisSequence=cms.Sequence(process.type0PFMEtCorrection*process.producePFMETCorrections*process.pfType0Type1CorrectedMet)
process.jet_step = cms.Path(process.kt6PFJets*process.metAnalysisSequence)

Solution

Changes made in 72X, python/RootMakerTemplateMC_cfg.py:
####### Jet MET corrections
...
process.load("JetMETCorrections.Type1MET.correctedMet_cff")
process.load("PhysicsTools.PatAlgos.recoLayer0.metCorrections_cff") # may or may not be needed

from JetMETCorrections.Type1MET.correctedMet_cff import pfMetT1

process.pfType0Type1CorrectedMet = pfMetT1.clone(
    applyType0Corrections = cms.bool(False),
    srcType1Corrections = cms.VInputTag(
        cms.InputTag('pfMETcorrType0'),
        cms.InputTag('pfJetMETcorr', 'type1')
    )
)
process.metAnalysisSequence=cms.Sequence(process.type0PFMEtCorrection*process.patMETCorrections*process.pfType0Type1CorrectedMet)
# process.patMETCorrections may or may not be needed
process.jet_step = cms.Path(process.kt6PFJets*process.metAnalysisSequence)

In src/RootMaker.cc:

iEvent.getByLabel(edm::InputTag("pfType1CorrectedMet"), pfMetType1);
is changed to
iEvent.getByLabel(edm::InputTag("pfMetT1"), pfMetType1);

Warnings

Gray led WARNING : did not find any valid track reference attached to the jet

Begin processing the 1st record. Run 1, Event 179201, LumiSection 1793 at 04-Dec-2014 16:58:26.822 CET
WARNING : did not find any valid track reference attached to the jet
In RecoJets/JetProducers/src/PileupJetIdAlgo.cc:
if( impactTrack.isNonnull() && impactTrack.isAvailable() ) {
    internalId_.d0_ = fabs(impactTrack->dxy(vtx->position()));
    internalId_.dZ_ = fabs(impactTrack->dz(vtx->position()));
} else {
    if(printWarning-- > 0) { std::cerr << "WARNING : did not find any valid track reference attached to the jet " << std::endl; }
}

Red led An exception of category 'PerigeeConversions' occurred

%MSG-w TrajectoryStateClosestToPoint_PerigeeConversions:   SecondaryVertexProducer:ghostTrackVertexTagInfos 04-Dec-2014 17:02:44 CET  Run: 1 Event: 197495
Caught exception An exception of category 'PerigeeConversions' occurred.
Exception Message:
Track with pt=0
.

%MSG
Happens every few hundred events, in different files - could be my own fault. I will look into this.

Track with pt=0

Gray led skipping reconstruction of inclusive vertices

%MSG-w PF_PU_AssoMapAlgos::PF_PU_AssoMapAlgos:   PFCand_AssoMap:PFCandAssoMap@ctor 11-Dec-2014 15:20:48 CET pre-events
No InputTag for IV's given --> skipping reconstruction of inclusive vertices !!
%MSG


Current status

Everything seems to be okay except:

- jet puidsimple

- trigger level 1 bits

- can I remove the pat step or not?


Files:

70X AOD: TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/Spring14dr-PU20bx25_POSTLS170_V5-v1/AODSIM

root://cms-xrd-global.cern.ch//store/mc/Spring14dr/TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/AODSIM/PU20bx25_POSTLS170_V5-v1/00000/0E3D08A9-C610-E411-A862-0025B3E0657E.root

72X AOD: TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v2/AODSIM

root://cms-xrd-global.cern.ch//store/mc/Phys14DR/TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/AODSIM/PU20bx25_tsg_PHYS14_25_V1-v2/00000/20329E54-327F-E411-B47B-001E673972E7.root

the below table is not up-to-date

Branch 7_0_9_patch1 7_2_2
errors = 0 high
event_* filled filled
trigger_level1bits filled = 0
trigger_level1 filled filled
trigger_HLT filled filled
beamspot_* filled filled
track_count nonzero nonzero
track_* filled filled
primvertex_count nonzero nonzero
primvertex_* filled  
primvertex_ntracks filled  
     
supercluster_count nonzero nonzero
supercluster_* filled filled
supercluster_basiccluster_count = 0 = 0
supercluster_basicclusterbegin* = 0 = 0
supercluster_basiccluster_* = 0 absent
supercluster_basiccluster_hit_count* = 0 = 0
supercluster_escluster_* absent absent
supercluster_esclusterbegin absent absent
supercluster_escluster_count = 0 = 0
supercluster_escluster_hit_count = 0 = 0
     
muon_count nonzero nonzero
muon_* filled filled
muon_innertrack_* filled  
muon_innertrack_nmissinghits filled filled
muon_outertrack_* filled filled
muon_outertrack_hits filled filled
muon_outertrack_missinghits = 0 = 0
muon_isolation* filled filled
muon_pfisolation* filled filled
muon_trigger filled filled
     
ak(5/4)calojet_count = 0 = 0
ak(5/4)calojet_* absent absent
ak(5/4)jptjet_count = 0 = 0
ak(5/4)jptjet_* absent absent
ak(5/4)pfjet_count nonzero = 0
ak(5/4)pfjet_* filled absent
ak(5/4)pfjet_trigger = 0 absent
ak(5/4)pfchsjet_count nonzero = 0
ak(5/4)pfchsjet_* filled absent
ak(5/4)pfchsjet_trigger = 0 absent
     
electron_count nonzero nonzero
electron_* filled filled
electron_isolation* filled filled
electron_nmissinghits nonzero filled [0,1]
electron_trigger filled filled
electron_eID filled filled
electron_supercluster_* filled filled
     
photon_count nonzero nonzero
photon_* filled filled
photon_isolation* filled filled
photon_isolationpfr3* filled filled
photon_isolationpfr4noscfootprint* filled filled
photon_supercluster_* filled filled
photon_trigger = 0 = 0
photon_conversionbegin filled filled
conversion_count nonzero nonzero
conversion_* filled  
allconversion_count = 0 = 0
allconversion_* absent absent
     
tau_count    
tau_* not tested  
     
ak5pfjet_rho filled  
ak5pfjet_sigma filled  
     
pfmet_* filled filled
pfmettype1_* filled = 0
pfmettype0type1_* filled = 0
secvertices_count = 0 = 0
secvertices_* absent absent
musecvertices_count = 0 = 0
musecvertices_* absent absent
genweight filled filled
genid1 filled filled
genx1 filled filled
genid2 filled filled
genx2 filled filled
genScale filled filled
numpileupinteractionsminus   filled
numpileupinteractions filled filled
numpileupinteractionsplus filled filled
numtruepileupinteractions filled filled
     
genparticles_count = 0 = 0
genparticles_* absent absent
genallparticles_count nonzero nonzero
genallparticles_* filled filled
genallparticlesmother_* filled filled
genallparticlesdaughter_* filled filled
genmetcalo_* filled filled
genmettrue_* filled filled
genak(5/4)jet_count nonzero nonzero
genak(5/4)jet_* filled filled

UpdatingMyRootMakerfrom 72X AOD to 72X miniAOD

CURRENT STATUS ->

53X to 70X

70X to 72X

This twiki page describes how I modify the code from this page to include the ability to run on either AOD or miniAODs. I move from the release 7_2_2 to 7_2_4. Once 74X is out of prerelease I will update to that.

Contents:

Green led = problem is fixed and I am confident in the fix

Yellow led = problem is fixed but the solution needs review

Red led = problem has no solution yet

Gray led = warning but no errors


Code

CMSSW release: 7_2_4

https://github.com/ekenn003/MyRootMaker/tree/7_2_4

interface/RootMaker.h

src/RootMaker.cc

RootTreeMC_mini.py
python/RootMakerTemplateMC_mini_cfg.py

RootTreeMC.py
python/RootMakerTemplateMC_cfg.py

Notes about config file

How do I know what I can take out of the old config file? Check the miniAOD creation config (on DAS) to see what has been done to it already, vs. the steps I was doing in my old config file to the AODs:

miniAOD creation AOD processing
process.goodVertices process.goodVertices
  process.primaryVertexFilter
process.trackingFailureFilter process.trackingFailureFilter
process.CSCTightHaloFilter process.CSCTightHaloFilter
process.EcalDeadCellTriggerPrimitiveFilter process.EcalDeadCellTriggerPrimitiveFilter
process.ecalLaserCorrFilter process.ecalLaserCorrFilter
process.eeBadScFilter process.eeBadScFilter
process.HBHENoiseFilter process.HBHENoiseFilter
process.hcalLaserEventFilter process.hcalLaserEventFilter
  process.noscraping
  process.kt6PFJets
  process.type0PFMEtCorrection
  process.producePFMETCorrections
  process.pfType0Type1CorrectedMet
  process.pfParticleSelectionSequence
  process.stdElectronSequencePFIso
  process.stdPhotonSequencePFIso
  process.eidHyperTight1MC
  process.eidLooseMC
  process.myPartons
  process.AK5Flavour
PF to PAT is taken care of patPF2PATSequence
  process.recoPuJetId
  process.recoPuJetMva

Processes that are repeated can be removed. But what I really want to know is if the miniAOD already contains any variables that are created in the AOD processing, because then I can take those out too. Can open miniAOD file in TBrowser and find out what is already included.

edmDumpEventContent --all is useful here.

Notes on switching to tokens

Added to interface/RootMaker.h:
// tokens
    edm::EDGetTokenT<reco::VertexCollection> verticesToken_;
    ...
Added to python/RootMakerTemplateMC_cfg.py, inside process.makeroottree = cms.EDAnalyzer():
vertices = cms.InputTag("offlineSlimmedPrimaryVertices"),
    ...

Note about Input Tags

object AOD AOD input tag miniAOD miniAOD input tag
tracks reco::TrackCollection "generalTracks" vector<pat::PackedCandidate> "lostTracks" or "unpackedTracksAndVertices" ??
vertices reco::VertexCollection "offlinePrimaryVertices" reco::VertexCollection "offlineSlimmedPrimaryVertices"
muons reco::MuonCollection "muons" pat::MuonCollection "slimmedMuons"
electrons reco::GsfElectronCollection "gedGsfElectrons" pat::ElectronCollection "slimmedElectrons"
photons reco::PhotonCollection "gedPhotons" pat::PhotonCollection "slimmedPhotons"
conversions reco::ConversionCollection "allConversions" std::vector<reco::Conversion> "conversions"
taus reco::PFTauCollection "hpsPFTauProducer" with "patJetsAK4PF" pat::TauCollection "slimmedTaus"
ak4 calo jets pat::JetCollection "patJetsAK4Calo" - -
ak4 jpt jets pat::JetCollection "patJetsAK4JPT" - -
ak4 pf jets reco::PFJetCollection "ak4PFJets" - -
ak4 pf chs jets pat::JetCollection "selectedPatJetsPFlow" pat::JetCollection "slimmedJets"
PF candidates reco::PFCandidateCollection "particleFlow" pat::PackedCandidateCollection "packedPFCandidates"
met reco::PFMETCollection "pfMet" - -
met type 1 reco::PFMETCollection "pfMetT1" pat::METCollection "slimmedMETs"
met type1type0 reco::PFMETCollection "pfType0Type1CorrectedMet" - -
L1trigger L1GlobalTriggerReadoutRecord "gtDigis"    
HLTrigger edm::TriggerResults "TriggerResults", "", cTriggerProcess   "TriggerResults","","HLT"
HLTriggerEvent trigger::TriggerEvent "hltTriggerSummaryAOD", "", cTriggerProcess    
HEPMC GenEventInfoProduct "generator"   "generator", "", "SIM"
PUInfo std::vector "addPileupInfo"   "addPileupInfo", "", "HLT"
GenMetCalo GenMETCollection "genMetCalo"    
GenMetTrue GenMETCollection "genMetTrue"    
GenParticles GenParticleCollection "genPlusSimParticles" or "genParticles" edm::View<reco::GenParticle> "prunedGenParticles"
GenAK4Jets GenJetCollection "ak4GenJets" reco::GenJetCollection "slimmedGenJets", "", "PAT"
bTagHandle reco::JetTagCollection bdisclabel[n], "", "ROOTMAKER"    
jetMCFlHandle reco::JetFlavourMatchingCollection "AK4byValAlgo"    
puidfullHandle edm::ValueMap "recoPuJetMva", "fullDiscriminant", "ROOTMAKER"    
puidcutbasedHandle edm::ValueMap "recoPuJetMva", "cutbasedDiscriminant", "ROOTMAKER"    
beamspot reco::BeamSpot "offlineBeamSpot" reco::BeamSpot "offlineBeamSpot", "", "RECO"
SCbarrel reco::SuperClusterCollection "correctedHybridSuperClusters vector<reco::SuperCluster> "reducedEgamma", "reducedSuperClusters", "PAT"
SCendcap reco::SuperClusterCollection "correctedMulti5x5SuperClustersWithPreshower"    
barrelHits EcalRecHitCollection "reducedEcalRecHitsEB"   "reducedEgamma", "reducedEBRecHits", "PAT"
endcapHits EcalRecHitCollection "reducedEcalRecHitsEE"   "reducedEgamma", "reducedEERecHits", "PAT"
esHits EcalRecHitCollection "reducedEcalRecHitsES"   "reducedEgamma", "reducedESRecHits", "PAT"

note about MET: may be able to reconstruct it later

More info: CMSPublic.WorkBookMiniAOD#High_level_physics_objects

Notes on tracks

I've completely removed secvertices and musecvertices for now. Right now there is no way to get secondary vertices from miniAOD - hopefully there will be in the future.

I'm also trying to use the unpacker to get unpackedTracksAndVertices but it sounds like it will not be necessary after 72X so I'm still trying to figure this out. More info: advanced topics

Note about Taus

Links to the packed PF candidates corresponding to the PFCandidates used to reconstruct a given tau are accessible through the methods like leadChargedHadrCand(), leadNeutralCand(), leadCand(), signalCands(), isolationCands(), ... Note instead that the older methods with similar name but with a PF inside, like signalPFCands(), are not usable on MiniAOD since they're not compatible with the packed PF candidate format used in MiniAOD.

Notes on electron ID

A version of this:
git cms-merge-topic HuguesBrun:trigElecIdInCommonIsoSelection720
cp /afs/cern.ch/user/i/ikrav/public/EGMCode/GsfEleFull5x5SigmaIEtaIEtaCut72X.cc RecoEgamma/ElectronIdentification/plugins/cuts/
cp /afs/cern.ch/user/i/ikrav/public/EGMCode/cutBasedElectronID_PHYS14_PU20bx25_V0_miniAOD_cff.py RecoEgamma/ElectronIdentification/python/Identification/

and then the following bits of code are added:

to src/RootMaker.h:

edm::EDGetTokenT<edm::ValueMap<bool> > electronVetoIdMapToken_;
edm::EDGetTokenT<edm::ValueMap<bool> > electronTightIdMapToken_;

to src/RootMaker.cc in the top:

electronVetoIdMapToken_(consumes<edm::ValueMap<bool> >(iConfig.getParameter<edm::InputTag>("electronVetoIdMap"))),
electronTightIdMapToken_(consumes<edm::ValueMap<bool> >(iConfig.getParameter<edm::InputTag>("electronTightIdMap"))),

to src/RootMaker.cc in the function AddPatElectrons:

edm::Handle<edm::ValueMap<bool> > veto_id_decisions;
edm::Handle<edm::ValueMap<bool> > tight_id_decisions;
iEvent.getByToken(electronVetoIdMapToken_,veto_id_decisions);
iEvent.getByToken(electronTightIdMapToken_,tight_id_decisions);

to src/RootMaker.cc in the function AddPatElectrons electron loop:

const Ptr<pat::Electron> elPtr(Electrons,n);
bool isPassVeto  = (*veto_id_decisions)[ elPtr ];  cout<<"isPassVeto  = "<<isPassVeto<<endl;
bool isPassTight = (*tight_id_decisions)[ elPtr ]; cout<<"isPassTight = "<<isPassTight<<endl;

to python/RootMakerTemplateMC_mini_cfg.py:

# Load tools and function definitions
from PhysicsTools.SelectorUtils.tools.vid_id_tools import *

process.load("RecoEgamma.ElectronIdentification.egmGsfElectronIDs_cfi")

# overwrite a default parameter: for miniAOD, the collection name is a slimmed one
process.egmGsfElectronIDs.physicsObjectSrc = cms.InputTag('slimmedElectrons')
from PhysicsTools.SelectorUtils.centralIDRegistry import central_id_registry
process.egmGsfElectronIDSequence = cms.Sequence(process.egmGsfElectronIDs)

# Define which IDs we want to produce
# Each of these two example IDs contains all four standard
# cut-based ID working points (only two WP of the PU20bx25 are actually used here).
my_id_modules = ['RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_PHYS14_PU20bx25_V0_miniAOD_cff']
#Add them to the VID producer
for idmod in my_id_modules:
    setupAllVIDIdsInModule(process,idmod,setupVIDElectronSelection)

to python/RootMakerTemplateMC_mini_cfg.py inside process.makeroottree:

electronVetoIdMap = cms.InputTag('egmGsfElectronIDs:cutBasedElectronID-PHYS14-PU20bx25-V0-miniAOD-standalone-veto'),
electronTightIdMap = cms.InputTag('egmGsfElectronIDs:cutBasedElectronID-PHYS14-PU20bx25-V0-miniAOD-standalone-tight'),

to python/RootMakerTemplateMC_mini_cfg.py inside process.p path:

process.egmGsfElectronIDSequence *


Compiling

MyRootMakerFrom70XTo72X (AOD)

Start by cloning SuperClusterFootprintRemoval.

Errors

Green led undefined reference to `reco::PFCandidate::trackRef() const'

tmp/slc6_amd64_gcc491/src/PFIsolation/SuperClusterFootprintRemoval/src/PFIsolationSuperClusterFootprintRemoval/SuperClusterFootprintRemoval.o: In function `SuperClusterFootprintRemoval::CheckMatchedPFCandidate(int)':
SuperClusterFootprintRemoval.cc:(.text+0x6f): undefined reference to `reco::PFCandidate::superClusterRef() const'
tmp/slc6_amd64_gcc491/src/PFIsolation/SuperClusterFootprintRemoval/src/PFIsolationSuperClusterFootprintRemoval/SuperClusterFootprintRemoval.o: In function `SuperClusterFootprintRemoval::PFIsolation_worker(edm::Ref<std::vector<reco::SuperCluster, std::allocator<reco::SuperCluster> >, reco::SuperCluster, edm::refhelper::FindUsingAdvance<std::vector<reco::SuperCluster, std::allocator<reco::SuperCluster> >, reco::SuperCluster> >, edm::Ptr<reco::Vertex>, float, bool)':
SuperClusterFootprintRemoval.cc:(.text+0x5e75): undefined reference to `reco::PFCandidate::trackRef() const'
SuperClusterFootprintRemoval.cc:(.text+0x5f17): undefined reference to `reco::PFCandidate::trackRef() const'
SuperClusterFootprintRemoval.cc:(.text+0x5fb9): undefined reference to `reco::PFCandidate::trackRef() const'

Solution

Checking out CommonTools/ParticleFlow doesn't seem to help this time. Changing the buildfile does though.

Green led 'PackedGenParticle' is not a member of 'pat',

In file included from CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:1:0:
CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/interface/RootMaker.h:211:32: error: 'PackedGenParticle' is not a member of 'pat'
     edm::EDGetTokenT<edm::View<pat::PackedGenParticle> > packedGenParticlesToken_;
                                ^
...
                                                        ^
CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/interface/RootMaker.h:215:22: error: 'PackedTriggerPrescales' is not a member of 'pat'
     edm::EDGetTokenT<pat::PackedTriggerPrescales> triggerPrescalesToken_;
                      ^

Solution

The appropriate include file has to be in the header, zb.
#include "DataFormats/PatCandidates/interface/PackedGenParticle.h"
#include "DataFormats/PatCandidates/interface/PackedTriggerPrescales.h"

More info: CMSPublic.WorkBookMiniAOD#Example_code_accessing_all_high

Red led electronRef

edm::Ref<reco::GsfElectronCollection> electronRef(Electrons,n);

Solution

This is only used in the following lines:
electron_eID[electron_count] |= (Byte_t)eIDHyperTight1map[electronRef];
electron_eID[electron_count] |= ((Byte_t)eIDLoosemap[electronRef]<<4);

so I will try to replace this with info from MultivariateElectronIdentificationRun2

Yields the next error:

Red led no matching function for call to 'edm::EDGetTokenT... electronVetoIdMap, electronTightIdMap

CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:136:29: error: no matching function for call to 'edm::EDGetTokenT<bool>::EDGetTokenT(edm::EDGetTokenT<edm::ValueMap<bool> >)'
     propagatorWithMaterial(0)
                             ^

Problem occurs after adding the following to src/Rootmaker.cc:

electronsToken_(consumes<pat::ElectronCollection>(iConfig.getParameter<edm::InputTag>("electrons"))),
electronVetoIdMapToken_(consumes<edm::ValueMap<bool> >(iConfig.getParameter<edm::InputTag>("electronVetoIdMap"))),
electronTightIdMapToken_(consumes<edm::ValueMap<bool> >(iConfig.getParameter<edm::InputTag>("electronTightIdMap"))),
and the matching lines in the header.

Solution

Comment out for now and return to electron ID later.

Red led no matching function for call to 'SuperClusterFootprintRemoval::PFIsolation...

CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc: In member function 'bool RootMaker::AddPhotons(const edm::Event&, const edm::EventSetup&)':
CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:2036:128: error: no matching function for call to 'SuperClusterFootprintRemoval::PFIsolation(const char [8], reco::SuperClusterRef, int)'
                 photon_isolationpfr4noscfootprintcharged[photon_count] = remover.PFIsolation("charged", theph.superCluster(), 0);
                                                                                                                                ^
CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:2036:128: note: candidate is:
In file included from CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/interface/RootMaker.h:156:0,
                 from CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:1:
CMSSW_7_3_1_patch2/src/PFIsolation/SuperClusterFootprintRemoval/interface/SuperClusterFootprintRemoval.h:126:22: note: PFIsolation_struct SuperClusterFootprintRemoval::PFIsolation(reco::SuperClusterRef, edm::Ptr<reco::Vertex>)
   PFIsolation_struct PFIsolation(reco::SuperClusterRef sc_, edm::Ptr<reco::Vertex> vertexforchargediso = edm::Ptr<reco::Vertex>());
                      ^

In src/RootMaker.cc,

 2036photon_isolationpfr4noscfootprintcharged[photon_count] = remover.PFIsolation("charged", theph.superCluster(), 0);

In CMSSW_7_3_1_patch2/src/PFIsolation/SuperClusterFootprintRemoval/interface/SuperClusterFootprintRemoval.h,

  126PFIsolation_struct PFIsolation(reco::SuperClusterRef sc_, edm::Ptr<reco::Vertex> vertexforchargediso = edm::Ptr<reco::Vertex>());

Solution

Red led no matching function for call to 'ConversionTools::hasMatchedPromptElectron...

CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc: In member function 'bool RootMaker::AddPhotons(const edm::Event&, const edm::EventSetup&)':
CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:2064:145: error: no matching function for call to 'ConversionTools::hasMatchedPromptElectron(reco::SuperClusterRef, edm::Handle<std::vector<pat::Electron> >&, edm::Handle<std::vector<reco::Conversion> >&, math::XYZPoint&)'
                 photon_info[photon_count] |= ConversionTools::hasMatchedPromptElectron(theph.superCluster(), Electrons, Conversions, bs_position) << 3;
                                                                                                                                                 ^
CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:2064:145: note: candidate is:
In file included from CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/interface/RootMaker.h:113:0,
                 from CMSSW_7_3_1_patch2/src/MyRootMaker/MyRootMaker/src/RootMaker.cc:1:
/cvmfs/cms.cern.ch/slc6_amd64_gcc491/cms/cmssw-patch/CMSSW_7_3_1_patch2/src/RecoEgamma/EgammaTools/interface/ConversionTools.h:70:40: note: static bool ConversionTools::hasMatchedPromptElectron(const SuperClusterRef&, const edm::Handle<std::vector<reco::GsfElectron> >&, const edm::Handle<std::vector<reco::Conversion> >&, const XYZPoint&, float, float, unsigned int)
     static bool                        hasMatchedPromptElectron(const reco::SuperClusterRef &sc, const edm::Handle<reco::GsfElectronCollection> &eleCol,
                                        ^

In src/RootMaker.cc,

 2064photon_info[photon_count] |= ConversionTools::hasMatchedPromptElectron(theph.superCluster(), Electrons, Conversions, bs_position) << 3;

In /cvmfs/cms.cern.ch/slc6_amd64_gcc491/cms/cmssw-patch/CMSSW_7_3_1_patch2/src/RecoEgamma/EgammaTools/interface/ConversionTools.h,

   70static bool hasMatchedPromptElectron(const reco::SuperClusterRef &sc, const edm::Handle<reco::GsfElectronCollection> &eleCol,
   71    const edm::Handle<reco::ConversionCollection> &convCol, const math::XYZPoint &beamspot, float lxyMin=2.0, float probMin=1e-6, unsigned int nHitsBeforeVtxMax=0);

Problem: function is asking for <reco::GsfElectronCollection> and <reco::ConversionCollection> but I am trying to give it <pat::ElectronCollection> and <vector<reco::Conversion> >

This makes me wonder if I need to use this function at all. I've commented out that line for now.

Solution


Python

Errors

Green led cannot import name _stdalgos_4x, _chsalgos_4x

  File "MyRootMaker/MyRootMaker/RootTreeMC_mini.py", line 1, in <module>
    from MyRootMaker.MyRootMaker.RootMakerTemplateMC_cfg import *
  File "CMSSW_7_3_1_patch2/python/MyRootMaker/MyRootMaker/RootMakerTemplateMC_cfg.py", line 165, in <module>
    from RecoJets.JetProducers.PileupJetID_cfi import pileupJetIdProducer, _stdalgos_4x, _stdalgos_5x, _stdalgos, cutbased, _chsalgos_4x, _chsalgos_5x, _chsalgos
ImportError: cannot import name _stdalgos_4x

Solution

In python/RootMakerTemplateMC_cfg.py, change
from RecoJets.JetProducers.PileupJetID_cfi import pileupJetIdProducer, _stdalgos_4x, _stdalgos_5x, _stdalgos, cutbased, _chsalgos_4x, _chsalgos_5x, _chsalgos
to
from RecoJets.JetProducers.PileupJetID_cfi import pileupJetIdProducer, _stdalgos_5x, _stdalgos, cutbased, _chsalgos_5x, _chsalgos
4x and 5x I think here refer to the CMSSW release.

Green led NameError: name 'full', 'PhilV1' is not defined

Traceback (most recent call last):
  File "MyRootMaker/MyRootMaker/RootTreeMC.py", line 1, in <module>
    from MyRootMaker.MyRootMaker.RootMakerTemplateMC_cfg import *
  File "CMSSW_7_2_4/python/MyRootMaker/MyRootMaker/RootMakerTemplateMC_cfg.py", line 170, in <module>
    from RecoJets.JetProducers.PileupJetID_cfi import pileupJetIdProducer, _stdalgos_5x, _stdalgos, cutbased, _chsalgos_5x, _chsalgos
  File "CMSSW_7_2_4/python/RecoJets/JetProducers/PileupJetID_cfi.py", line 5, in <module>
    _stdalgos_4x = cms.VPSet(full,   cutbased,PhilV1)
NameError: name 'full' is not defined

Solution

Check out package RecoJets/JetProducers
git cms-addpkg RecoJets/JetProducers
and add definitions for 'full' and 'PhilV1' from the 73X version in RecoJets/JetProducers/python/PileupJetIDParams_cfi.py.

It looks like this is fixed in 73X and above so I'm not really worried about this.


cmsRun

Errors

Yellow led Found zero products matching all criteria... gtDigis

An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 1 lumi: 1 event: 2
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for type: L1GlobalTriggerReadoutRecord
Looking for module label: gtDigis
Looking for productInstanceName:

Solution

This can be either a problem with the global tag or the dataset itself.

Red led Requesting a PFTau-specific information from a pat::Tau

An exception of category 'Type Error' occurred while
   [0] Processing run: 1 lumi: 25 event: 2401
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
Requesting a PFTau-specific information from a pat::Tau which wasn't made from a PFTau.

Solution

Red led Found zero products matching all criteria... eidHyperTight1MC, eIDValueMapLoose

An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 1 lumi: 21 event: 2100
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
Principal::getByLabel: Found zero products matching all criteria
Looking for type: edm::ValueMap<float>
Looking for module label: eidHyperTight1MC
Looking for productInstanceName:

Solution

Comment out the following in src/RootMaker.cc
edm::Handle<edm::ValueMap<float> > eIDValueMapHyperTight1;
iEvent.getByLabel("eidHyperTight1MC", eIDValueMapHyperTight1);
const edm::ValueMap<float> &eIDHyperTight1map = * eIDValueMapHyperTight1;

edm::Handle<edm::ValueMap<float> > eIDValueMapLoose;
iEvent.getByLabel("eidLooseMC", eIDValueMapLoose);
const edm::ValueMap<float> &eIDLoosemap = * eIDValueMapLoose;

eIDValueMapHyperTight1 and eIDValueMapLoose don't appear anywhere else in the code.

Hopefully will be fixed along with electron ID.

Red led Found zero products matching all criteria... particleFlow, elPFIsoValueCharged03PFIdPFIso,

An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 1 lumi: 9 event: 801
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
Principal::getByLabel: Found zero products matching all criteria
Looking for type: std::vector<reco::PFCandidate>
Looking for module label: particleFlow
Looking for productInstanceName:

An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 1 lumi: 9 event: 802
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
Principal::getByLabel: Found zero products matching all criteria
Looking for type: edm::ValueMap<double>
Looking for module label: elPFIsoValueCharged03PFIdPFIso
Looking for productInstanceName:

I've commented out the following lines in src/RootMaker.cc, because they only deal with parts of photon isolation, and I am not sure yet if I need them.

isolator.setConeSize(0.3);
isolator.fGetIsolation(&theph, PFCandidates.product(), myprimvertex, Vertices);
photon_isolationpfr3charged[photon_count] = isolator.getIsolationCharged();
photon_isolationpfr3photon[photon_count] = isolator.getIsolationPhoton();
photon_isolationpfr3neutral[photon_count] = isolator.getIsolationNeutral();
isolator.setConeSize(0.4);
isolator.fGetIsolation(&theph, PFCandidates.product(), myprimvertex, Vertices);
photon_isolationpfr4charged[photon_count] = isolator.getIsolationCharged();
photon_isolationpfr4photon[photon_count] = isolator.getIsolationPhoton();
photon_isolationpfr4neutral[photon_count] = isolator.getIsolationNeutral();

Red led No data of type "JetCorrector" with label "ak4PFL1FastL2L3" in record "JetCorrectionsRecord"

An exception of category 'NoProxyException' occurred while
   [0] Processing run: 1 lumi: 9 event: 803
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
No data of type "JetCorrector" with label "ak4PFL1FastL2L3" in record "JetCorrectionsRecord"
 Please add an ESSource or ESProducer to your job which can deliver this data.

Solution

Tentative solution: in RootTreeMC_mini.py replace
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
with
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_condDBv2_cff')

This makes you remove the "::All" from the global tag string though.

Green led A request to resolve a reference to a product of type 'std::vector<reco::Track>'... ctfTracks

An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 1 lumi: 25 event: 2402
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
RefCore: A request to resolve a reference to a product of type 'std::vector<reco::Track>' with ProductID '3:1221'
can not be satisfied because the product cannot be found.
Probably the branch containing the product is not stored in the input file.

Offending lines:

TrackRef closesttrack = theel.closestTrack();
if(closesttrack.isNonnull()) {
    int numvtx = getPrimVertex(*closesttrack);
...

Solution

Change the following line
TrackRef closesttrack = theel.closestTrack();
to
TrackRef closesttrack = theel.closestCtfTrackRef();

Red led A request to resolve a reference to a product of type 'std::vector<reco::Conversion>'...

An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 1 lumi: 25 event: 2497
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
RefCore: A request to resolve a reference to a product of type 'std::vector<reco::Conversion>' with ProductID '3:773'
can not be satisfied because the product cannot be found.
Probably the branch containing the product is not stored in the input file.

Offending lines:

edm::Handle<reco::TrackCollection> ctfTracks;
iEvent.getByLabel("generalTracks", ctfTracks);
ConversionFinder convFinder;
ConversionInfo convInfo = convFinder.getConversionInfo(theel, ctfTracks, magneticField->inTesla(GlobalPoint(0.,0.,0.)).z());

the problem is that ctfTracks are gone, but gsfTracks are not, so maybe I can use those instead.

Red led Requesting a PFTau-specific information

An exception of category 'Type Error' occurred while
   [0] Processing run: 1 lumi: 25 event: 2401
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
Requesting a PFTau-specific information from a pat::Tau which wasn't made from a PFTau.

Yellow led PFJet constituent is not of PFCandidate type, can't call Candidate.trackRef()

An exception of category 'Invalid Constituent' occurred while
   [0] Processing run: 1 lumi: 25 event: 2401
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
PFJet constituent is not of PFCandidate type
Problem: getJetShape calls getPrimVertex which wants vector constituents(jet.getPFConstituents());

Solution

The constituents of the jets are now reco::Candidate instead of reco::PFCandidate so this whole functionality is redone.

trackRef() returns null if the track is not charged. Therefore con.trackRef().isNonnull is equivalent to con.charge()!=0. Change the function getJetShape(pat::Jet &jet) in MyRootMaker/MyRootMaker/src/RootMaker.cc from

vector<PFCandidatePtr> constituents(jet.getPFConstituents());
    for(size_t i = 0 ; i < constituents.size() ; ++i) {
        const PFCandidate &con = * (constituents[i]);
        ...
        if(con.trackRef().isNonnull()) { 
            ...
            int vertex = getPrimVertex(* (con.trackRef()));
to
for (unsigned int id = 0, nd = jet.numberOfDaughters(); id < nd; ++id) {
        const pat::PackedCandidate &con = dynamic_cast<const pat::PackedCandidate &>(*jet.daughter(id));
        ...
        if (con.charge() != 0) { 
            ...
            int vertex = getPrimVertex(& (con));

and the appropriate changes in the header file:

Int_t getPrimVertex(const Track &trk);

to

Int_t getPrimVertex(const pat::PackedCandidate *con);

which leads to needing to change the function getPrimVertex...

Yellow led getPrimVertex()

The getPrimVertex function returns the index of the vertex with the track that the track of the object is closest to. Then is does the following:

if the constituent's track either matches the PV or matches none of the vertices, its pt is added to the charged pt sum of the jet. This one is easy to fix, fromPV=3 matches PV and fromPV=2 if it doesn't match any PV but its closest to this one, which I think is the point here.

if(vertex == 0 || vertex == -1) {
    chargedptsummv += con.pt();
}

Solution

For miniAOD my choices are basically the following:

  • 3 (PVUsedInFit), is if the track is used in the first PV fit
  • 2 (PVTight) is if the track is not used in the fit of any of the PVs, and is closest in z to the first PV
  • 1 (PVLoose) is if the track is closest in z to a PV other then the first one.
  • 0 (NoPV) is returned if the track is used in the fit of another PV
and the definition used for CHS subtraction in jets is fromPV() > 0

For now I have chosen to return -2 if the object is associated with a vertex that is not the PV.

The function getPrimVertex changes from

Int_t RootMaker::getPrimVertex(const Track &trk) {
    if(Vertices.isValid()) {
        for(unsigned i = 0 ; i < Vertices->size(); i++) {
            if((*Vertices)[i].isValid() && !(*Vertices)[i].isFake()) {
                for(Vertex::trackRef_iterator it = (*Vertices)[i].tracks_begin() ; it != (*Vertices)[i].tracks_end() ; ++it) {
                    if(trk.px() - (*it)->px() < 0.01 && trk.py() - (*it)->py() < 0.01 && trk.pz() - (*it)->pz() < 0.01)  { return (i); }
                }
            }
        }
    }
    return (-1);
}
to
Int_t RootMaker::getPrimVertex(const pat::PackedCandidate *con) {
if(Vertices.isValid()) {
    if (con->PVUsedInFit) return  0;
    if (con->PVTight)     return -1;
    if (con->PVLoose)     return -2;
    if (con->NoPV)        return -2;
    }
    return (-2);
}

Green led No "GlobalPositionRcd" record found in the dependent record "TrackerDigiGeometryRecord"

 
An exception of category 'NoRecordFromDependentRecord' occurred while
   [0] Processing run: 1
   [1] Calling beginRun for unscheduled module RootMaker/'makeroottree'
   [2] Using EventSetup component TransientTrackBuilderESProducer/'' to make data TransientTrackBuilder/'TransientTrackBuilder' in record TransientTrackRecord
   [3] Using EventSetup component GlobalTrackingGeometryESProducer/'' to make data GlobalTrackingGeometry/'' in record GlobalTrackingGeometryRecord
   [4] Using EventSetup component TrackerDigiGeometryESModule/'trackerGeometry' to make data TrackerGeometry/'' in record TrackerDigiGeometryRecord
Exception Message:
No "GlobalPositionRcd" record found in the dependent record "TrackerDigiGeometryRecord".
 Please add an ESSource or ESProducer that delivers the "GlobalPositionRcd" record.

Solution

Wrong global tag - has to include "::All" at the end. OR, see this solution instead.

Green led No module named... while working on eID

 
No module named MyRootMaker.MyRootMaker.RootMakerTemplateMC_mini_cfg

Solution

You forgot cmsenv

Red led Found zero products matching all criteria... egmGsfElectronIDs

 
An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 1 lumi: 8 event: 701
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for type: edm::ValueMap<bool>
Looking for module label: egmGsfElectronIDs
Looking for productInstanceName: cutBasedElectronID-PHYS14-PU20bx25-V0-miniAOD-standalone-veto

   Additional Info:
      [a] If you wish to continue processing events after a ProductNotFound exception,
add "SkipEvent = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.

Solution


crab

Gray led StandardSequences.Geometry_cff

 
/cvmfs/cms.cern.ch/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_2_4/python/FWCore/ParameterSet/Config.py:508: DeprecationWarning: Configuration.StandardSequences.Geometry_cff is deprecated, please use Configuration.Geometry.GeometryIdeal_cff

Solution

In MyRootMaker/MyRootMaker/RootTreeMC_mini.py, change
process.load('Configuration.StandardSequences.Geometry_cff')
to
process.load('Configuration.Geometry.GeometryIdeal_cff')


Current status

UpdatingMyRootMakerfrom 72X to 74X

CURRENT STATUS ->

This twiki page describes how I modify the code from this page from CMSSW 72X to 74X. This is a work in progress so use these solutions at your own risk.

Contents:

Green led = problem is fixed and I am confident in the fix

Yellow led = problem is fixed but the solution needs review

Red led = problem has no solution yet

Gray led = warning but no errors


Code

CMSSW release: CMSSW_7_4_7

https://github.com/ekenn003/MyRootMaker/tree/7_4_X


Compiling

Errors

python

Errors

cmsRun

Errors

Yellow led No "IdealMagneticFieldRecord" record found in the EventSetup.

----- Begin Fatal Exception 01-Jul-2015 12:45:40 CEST-----------------------
An exception of category 'NoRecord' occurred while
   [0] Processing run: 1
   [1] Calling global beginRun for module RootMaker/'makeroottree'
Exception Message:
No "IdealMagneticFieldRecord" record found in the EventSetup.
 Please add an ESSource or ESProducer that delivers such a record.
----- End Fatal Exception -------------------------------------------------

Solution

Same as next problem

Yellow led DDVectorGetter: vectors are empty, cannot get array detIdShifts

An exception of category 'DDException' occurred while
   [0] Processing run: 1
   [1] Calling global beginRun for module RootMaker/'makeroottree'
   [2] Using EventSetup component TransientTrackBuilderESProducer/'' to make data TransientTrackBuilder/'TransientTrackBuilder' in record TransientTrackRecord
   [3] Using EventSetup component GlobalTrackingGeometryESProducer/'' to make data GlobalTrackingGeometry/'' in record GlobalTrackingGeometryRecord
   [4] Using EventSetup component TrackerDigiGeometryESModule/'trackerGeometry' to make data TrackerGeometry/'' in record TrackerDigiGeometryRecord
   [5] Using EventSetup component TrackerGeometricDetESModule/'trackerNumberingGeometry' to make data GeometricDet/'' in record IdealGeometryRecord
Exception Message:
DDVectorGetter: vectors are empty, cannot get array detIdShifts

https://hypernews.cern.ch/HyperNews/CMS/get/recoDevelopment/1341.html?outline=-1

Solution

In the config file I have changed the following
process.load('Configuration.Geometry.GeometryIdeal_cff')
to
process.load('Configuration.Geometry.GeometryRecoDB_cff')

Green led two EventSetup Producers want to deliver type="CaloSubdetectorGeometry" label="ZDC"

----- Begin Fatal Exception 27-Apr-2015 18:44:38 CEST-----------------------
An exception of category 'EventSetupConflict' occurred while
   [0] Calling EventProcessor::runToCompletion (which does almost everything after beginJob and before endJob)
Exception Message:
two EventSetup Producers want to deliver type="CaloSubdetectorGeometry" label="ZDC"
 from record ZDCGeometryRecord. The two providers are
1) type="ZdcGeometryFromDBEP" label=""
2) type="ZdcHardcodeGeometryEP" label=""
Please either
   remove one of these Producers
   or find a way of configuring one of them so it does not deliver this data
   or use an es_prefer statement in the configuration to choose one.
----- End Fatal Exception -------------------------------------------------

Solution

Remove the leftover geometry config from python/RootMakerTemplateMC_mini_cfg.py:
#process.load('Configuration.Geometry.GeometryIdeal_cff')

Green led Found zero products matching all criteria... egmGsfElectronIDs

Run 2 cut based electron ID
An exception of category 'ProductNotFound' occurred while
   [0] Processing run: 251252 lumi: 2 event: 1592396
   [1] Running path 'p'
   [2] Calling event method for module RootMaker/'makeroottree'
Exception Message:
Principal::getByToken: Found zero products matching all criteria
Looking for type: edm::ValueMap<bool>
Looking for module label: egmGsfElectronIDs
Looking for productInstanceName: cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_medium

   Additional Info:
      [a] If you wish to continue processing events after a ProductNotFound exception,
add "SkipEvent = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.

Added to python/RootMakerMC_mini.py:

from PhysicsTools.SelectorUtils.tools.vid_id_tools import *
# turn on VID producer, indicate data format  to be DataFormat.AOD or DataFormat.MiniAOD, as appropriate
dataFormat = DataFormat.MiniAOD

switchOnVIDElectronIdProducer(process, dataFormat)

# define which IDs we want to produce
my_id_modules = ['RecoEgamma.ElectronIdentification.Identification.cutBasedElectronID_PHYS14_PU20bx25_V2_cff']

#add them to the VID producer
for idmod in my_id_modules:
    setupAllVIDIdsInModule(process,idmod,setupVIDElectronSelection)

...

process.makeroottree = cms.EDAnalyzer("RootMaker",
...
    eleLooseIdMap = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_loose"),
    eleMediumIdMap = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_medium"),
    eleTightIdMap = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_tight"),
...
)

...

process.p = cms.Path(
    process.egmGsfElectronIDSequence *
...
)

The egmGsfElectronIDSequence has to be added to the process in the RootMakerMC_mini.py too.

Added to interface/RootMaker.h:

// ID decisions objects
edm::EDGetTokenT<edm::ValueMap<bool> > eleLooseIdMapToken_;
edm::EDGetTokenT<edm::ValueMap<bool> > eleMediumIdMapToken_;
edm::EDGetTokenT<edm::ValueMap<bool> > eleTightIdMapToken_;

Added to src/RootMaker.cc:

eleLooseIdMapToken_(consumes<edm::ValueMap<bool> >(iConfig.getParameter<edm::InputTag>("eleLooseIdMap"))),
eleMediumIdMapToken_(consumes<edm::ValueMap<bool> >(iConfig.getParameter<edm::InputTag>("eleMediumIdMap"))),
eleTightIdMapToken_(consumes<edm::ValueMap<bool> >(iConfig.getParameter<edm::InputTag>("eleTightIdMap"))),

...

bool RootMaker::AddPatElectrons(const edm::Event &iEvent) {
...
    edm::Handle<pat::ElectronCollection> Electrons;
    iEvent.getByToken(patElectronsToken_, Electrons);
    edm::Handle<reco::ConversionCollection> Conversions;
    iEvent.getByToken(conversionsToken_, Conversions);

    edm::Handle<GenParticleCollection> GenParticles;
    iEvent.getByToken(genSimParticlesToken_, GenParticles);

    edm::Handle<edm::ValueMap<bool> > loose_id_decisions;
    edm::Handle<edm::ValueMap<bool> > medium_id_decisions;
    edm::Handle<edm::ValueMap<bool> > tight_id_decisions;
    iEvent.getByToken(eleLooseIdMapToken_, loose_id_decisions);
    iEvent.getByToken(eleMediumIdMapToken_, medium_id_decisions);
    iEvent.getByToken(eleTightIdMapToken_, tight_id_decisions);

    for(size_t n = 0 ; n < Electrons->size() ; n++) {
        pat::Electron &theel = (*Electrons)[n];
        pat::ElectronRef refel(Electrons, n);
        ....

        // look up id decisions
        bool isPassLoose = (*loose_id_decisions)[refel];
        bool isPassMedium = (*medium_id_decisions)[refel];
        bool isPassTight  = (*tight_id_decisions)[refel];
...

Solution

In python/RootMakerMC_mini.py, you can copy the input tags from the file in my_id_modules but then you have to change the underscores (_) to dashes (-):

Change

eleLooseIdMap = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_loose"),
    eleMediumIdMap = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_medium"),
    eleTightIdMap = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID_PHYS14_PU20bx25_V2_standalone_tight"),

to

eleLooseIdMap = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-PHYS14-PU20bx25-V2-standalone-loose"),
    eleMediumIdMap = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-PHYS14-PU20bx25-V2-standalone-medium"),
    eleTightIdMap = cms.InputTag("egmGsfElectronIDs:cutBasedElectronID-PHYS14-PU20bx25-V2-standalone-tight"),

Note about running on data

Example

input file: DoubleMuon, MINIAOD run 251252: root://cms-xrd-global.cern.ch//store/data/Run2015B/DoubleMuon/MINIAOD/PromptReco-v1/000/251/252/00000/9ADEE140-9C27-E511-919A-02163E011D23.root

global tag: 74X_dataRun2_Prompt_v0

change PAT to RECO in python/RootMakerMC_mini.py for the following:

#barrelHits = cms.InputTag("reducedEgamma", "reducedEBRecHits", "PAT"),
#endcapHits = cms.InputTag("reducedEgamma", "reducedEERecHits", "PAT"),
#esHits = cms.InputTag("reducedEgamma", "reducedESRecHits", "PAT"),

barrelHits = cms.InputTag("reducedEgamma", "reducedEBRecHits", "RECO"),
endcapHits = cms.InputTag("reducedEgamma", "reducedEERecHits", "RECO"),
esHits = cms.InputTag("reducedEgamma", "reducedESRecHits", "RECO"),

#conversions = cms.InputTag("reducedEgamma", "reducedConversions", "PAT"),
conversions = cms.InputTag("reducedEgamma", "reducedConversions", "RECO"),



Current status

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2016-04-28 - ElizabethKennedy
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback