37 theSACollectionLabel(par.getParameter<
edm::
InputTag>(
"StandAloneCollectionLabel"))
39 LogDebug(
"Muon|RecoMuon|L2MuonIsolationProducer")<<
" L2MuonIsolationProducer constructor called";
52 bool haveIsolator = !isolatorPSet.
empty();
59 produces<reco::IsoDepositMap>();
62 if (optOutputIsolatorFloat && haveIsolator){
63 produces<edm::ValueMap<float> >();
69 LogDebug(
"Muon|RecoMuon|L2MuonIsolationProducer")<<
" L2MuonIsolationProducer destructor called";
78 extractorPSet.
add<
double>(
"DR_Veto_H",0.1);
79 extractorPSet.add<
bool>(
"Vertex_Constraint_Z",
false);
80 extractorPSet.add<
double>(
"Threshold_H",0.5);
81 extractorPSet.add<
std::string>(
"ComponentName",
"CaloExtractor");
82 extractorPSet.add<
double>(
"Threshold_E",0.2);
83 extractorPSet.add<
double>(
"DR_Max",1.0);
84 extractorPSet.add<
double>(
"DR_Veto_E",0.07);
85 extractorPSet.add<
double>(
"Weight_E",1.5);
86 extractorPSet.add<
bool>(
"Vertex_Constraint_XY",
false);
87 extractorPSet.addUntracked<
std::string>(
"DepositLabel",
"EcalPlusHcal");
89 extractorPSet.add<
double>(
"Weight_H",1.0);
94 std::vector<double>
temp;
95 isolatorPSet.add<std::vector<double> >(
"ConeSizesRel",std::vector<double>(1, 0.3));
96 isolatorPSet.add<
double>(
"EffAreaSFEndcap",1.0);
97 isolatorPSet.add<
bool>(
"CutAbsoluteIso",
true);
98 isolatorPSet.add<
bool>(
"AndOrCuts",
true);
100 isolatorPSet.add<std::vector<double> >(
"ConeSizes",std::vector<double>(1, 0.3));
101 isolatorPSet.add<
std::string>(
"ComponentName",
"CutsIsolatorWithCorrection");
102 isolatorPSet.add<
bool>(
"ReturnRelativeSum",
false);
103 isolatorPSet.add<
double>(
"RhoScaleBarrel",1.0);
104 isolatorPSet.add<
double>(
"EffAreaSFBarrel",1.0);
105 isolatorPSet.add<
bool>(
"CutRelativeIso",
false);
106 isolatorPSet.add<std::vector<double> >(
"EtaBounds",std::vector<double>(1, 2.411));
107 isolatorPSet.add<std::vector<double> >(
"Thresholds",std::vector<double>(1, 9.9999999E7));
108 isolatorPSet.add<
bool>(
"ReturnAbsoluteSum",
true);
109 isolatorPSet.add<std::vector<double> >(
"EtaBoundsRel",std::vector<double>(1, 2.411));
110 isolatorPSet.add<std::vector<double> >(
"ThresholdsRel",std::vector<double>(1, 9.9999999E7));
111 isolatorPSet.add<
double>(
"RhoScaleEndcap",1.0);
112 isolatorPSet.add<
double>(
"RhoMax",9.9999999E7);
113 isolatorPSet.add<
bool>(
"UseRhoCorrection",
true);
116 desc.
add<
bool>(
"WriteIsolatorFloat",
false);
117 descriptions.
add(
"hltL2MuonIsolations", desc);
124 LogDebug(metname)<<
" L2 Muon Isolation producing...";
132 LogDebug(metname)<<
" Get energy around";
133 auto depMap = std::make_unique<reco::IsoDepositMap>();
134 auto isoMap = std::make_unique<edm::ValueMap<bool>>();
135 auto isoFloatMap = std::make_unique<edm::ValueMap<float>>();
137 unsigned int nMuons = muons->size();
138 std::vector<IsoDeposit>
deps(nMuons);
139 std::vector<bool> isos(nMuons,
false);
140 std::vector<float> isoFloats(nMuons, 0);
146 muonTracks.push_back(*tk);
168 depFiller.
insert(muons, deps.begin(), deps.end());
174 isoFiller.
insert(muons, isos.begin(), isos.end());
180 isoFloatFiller.
insert(muons, isoFloats.begin(), isoFloats.end());
181 isoFloatFiller.
fill();
187 <<
"================================";
T getParameter(std::string const &) const
~L2MuonIsolationProducer() override
destructor
std::unique_ptr< muonisolation::MuIsoBaseIsolator > theDepositIsolator
const std::string metname
void insert(const H &h, I begin, I end)
std::vector< Track > TrackCollection
collection of Tracks
edm::InputTag theSACollectionLabel
std::unique_ptr< reco::isodeposit::IsoDepositExtractor > theExtractor
ParameterDescriptionBase * add(U const &iLabel, T const &value)
edm::EDGetTokenT< reco::RecoChargedCandidateCollection > theSACollectionToken
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterSet descriptions.
std::vector< DepositAndVetos > DepositContainer
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void produce(edm::Event &, const edm::EventSetup &) override
Produce isolation maps.
bool optOutputIsolatorFloat
L2MuonIsolationProducer(const edm::ParameterSet &)
constructor with config
T get(const Candidate &c)