44 desc.
add<
bool>(
"ctfTracksCheck",
true) ;
48 desc.
add<
bool>(
"useGsfPfRecTracks",
true) ;
49 desc.
add<
bool>(
"applyPreselection",
false) ;
50 desc.
add<
bool>(
"ecalDrivenEcalEnergyFromClassBasedParameterization",
false) ;
51 desc.
add<
bool>(
"ecalDrivenEcalErrorFromClassBasedParameterization",
false) ;
52 desc.
add<
bool>(
"pureTrackerDrivenEcalErrorFromSimpleParameterization",
false) ;
53 desc.
add<
bool>(
"applyAmbResolution",
false) ;
54 desc.
add<
unsigned>(
"ambSortingStrategy",1) ;
55 desc.
add<
unsigned>(
"ambClustersOverlapStrategy",1) ;
114 desc.
add<std::vector<int> >(
"recHitFlagsToBeExcludedBarrel") ;
115 desc.
add<std::vector<int> >(
"recHitFlagsToBeExcludedEndcaps") ;
116 desc.
add<std::vector<int> >(
"recHitSeverityToBeExcludedBarrel") ;
117 desc.
add<std::vector<int> >(
"recHitSeverityToBeExcludedEndcaps") ;
121 desc.
add<
double>(
"intRadiusBarrelTk",0.015) ;
122 desc.
add<
double>(
"intRadiusEndcapTk",0.015) ;
123 desc.
add<
double>(
"stripBarrelTk",0.015) ;
124 desc.
add<
double>(
"stripEndcapTk",0.015) ;
125 desc.
add<
double>(
"ptMinTk",0.7) ;
126 desc.
add<
double>(
"maxVtxDistTk",0.2) ;
127 desc.
add<
double>(
"maxDrbTk",999999999.) ;
128 desc.
add<
double>(
"intRadiusHcal",0.15) ;
129 desc.
add<
double>(
"etMinHcal",0.0) ;
130 desc.
add<
double>(
"intRadiusEcalBarrel",3.0) ;
131 desc.
add<
double>(
"intRadiusEcalEndcaps",3.0) ;
132 desc.
add<
double>(
"jurassicWidth",1.5) ;
133 desc.
add<
double>(
"etMinBarrel",0.0) ;
134 desc.
add<
double>(
"eMinBarrel",0.08) ;
135 desc.
add<
double>(
"etMinEndcaps",0.1) ;
136 desc.
add<
double>(
"eMinEndcaps",0.0) ;
137 desc.
add<
bool>(
"vetoClustered",
false) ;
138 desc.
add<
bool>(
"useNumCrystals",
true) ;
141 descNested.
add<std::string>(
"propagatorAlongTISE",
"PropagatorWithMaterial") ;
142 descNested.add<std::string>(
"propagatorOppositeTISE",
"PropagatorWithMaterialOpposite") ;
146 desc.
add<std::string>(
"superClusterErrorFunction",
"EcalClusterEnergyUncertaintyObjectSpecific") ;
147 desc.
add<std::string>(
"crackCorrectionFunction",
"EcalClusterCrackCorrection") ;
151 : ecalSeedingParametersChecked_(
false)
153 produces<GsfElectronCollection>();
259 const std::vector<std::string> flagnamesbarrel = cfg.
getParameter<std::vector<std::string> >(
"recHitFlagsToBeExcludedBarrel");
261 const std::vector<std::string> flagnamesendcaps = cfg.
getParameter<std::vector<std::string> >(
"recHitFlagsToBeExcludedEndcaps");
263 const std::vector<std::string> severitynamesbarrel = cfg.
getParameter<std::vector<std::string> >(
"recHitSeverityToBeExcludedBarrel");
265 const std::vector<std::string> severitynamesendcaps = cfg.
getParameter<std::vector<std::string> >(
"recHitSeverityToBeExcludedEndcaps");
272 isoCfg.intRadiusEndcapTk = cfg.
getParameter<
double>(
"intRadiusEndcapTk") ;
273 isoCfg.stripBarrelTk = cfg.
getParameter<
double>(
"stripBarrelTk") ;
274 isoCfg.stripEndcapTk = cfg.
getParameter<
double>(
"stripEndcapTk") ;
276 isoCfg.maxVtxDistTk = cfg.
getParameter<
double>(
"maxVtxDistTk") ;
277 isoCfg.maxDrbTk = cfg.
getParameter<
double>(
"maxDrbTk") ;
278 isoCfg.intRadiusHcal = cfg.
getParameter<
double>(
"intRadiusHcal") ;
279 isoCfg.etMinHcal = cfg.
getParameter<
double>(
"etMinHcal") ;
280 isoCfg.intRadiusEcalBarrel = cfg.
getParameter<
double>(
"intRadiusEcalBarrel") ;
281 isoCfg.intRadiusEcalEndcaps = cfg.
getParameter<
double>(
"intRadiusEcalEndcaps") ;
282 isoCfg.jurassicWidth = cfg.
getParameter<
double>(
"jurassicWidth") ;
283 isoCfg.etMinBarrel = cfg.
getParameter<
double>(
"etMinBarrel") ;
284 isoCfg.eMinBarrel = cfg.
getParameter<
double>(
"eMinBarrel") ;
285 isoCfg.etMinEndcaps = cfg.
getParameter<
double>(
"etMinEndcaps") ;
286 isoCfg.eMinEndcaps = cfg.
getParameter<
double>(
"eMinEndcaps") ;
287 isoCfg.vetoClustered = cfg.
getParameter<
bool>(
"vetoClustered") ;
288 isoCfg.useNumCrystals = cfg.
getParameter<
bool>(
"useNumCrystals") ;
292 std::string superClusterErrorFunctionName
293 = cfg.
getParameter<std::string>(
"superClusterErrorFunction") ;
294 if (superClusterErrorFunctionName!=
"")
296 superClusterErrorFunction
301 superClusterErrorFunction
305 std::string crackCorrectionFunctionName
306 = cfg.
getParameter<std::string>(
"crackCorrectionFunction") ;
307 if (crackCorrectionFunctionName!=
"")
309 crackCorrectionFunction
319 superClusterErrorFunction,
320 crackCorrectionFunction ) ;
337 <<
"Cannot check consistency of parameters with ecal seeding ones,"
338 <<
" because the original collection of seeds is not any more available." ;
374 event.put(finalCollection) ;
390 if (seedConfiguration.
getParameter<
bool>(
"applyHOverECut"))
395 {
edm::LogWarning(
"GsfElectronAlgo|InconsistentParameters") <<
"The max barrel H/E is lower than during ecal seeding." ; }
397 {
edm::LogWarning(
"GsfElectronAlgo|InconsistentParameters") <<
"The max endcaps H/E is lower than during ecal seeding." ; }
401 {
edm::LogWarning(
"GsfElectronAlgo|InconsistentParameters") <<
"The minimum super-cluster Et in barrel is lower than during ecal seeding." ; }
403 {
edm::LogWarning(
"GsfElectronAlgo|InconsistentParameters") <<
"The minimum super-cluster Et in endcaps is lower than during ecal seeding." ; }
T getParameter(std::string const &) const
void fillEvent(edm::Event &)
void checkEcalSeedingParameters(edm::ParameterSetID const &)
std::vector< int > recHitSeverityToBeExcludedEndcaps
unsigned ambClustersOverlapStrategy
static void fillDescription(edm::ParameterSetDescription &)
bool ecalDrivenEcalErrorFromClassBasedParameterization
unsigned ambSortingStrategy
void beginEvent(edm::Event &)
double maxSigmaIetaIetaEndcaps
double minMvaByPassForIsolated
static ThreadSafeRegistry * instance()
double maxDeltaEtaEndcaps
GsfElectronBaseProducer(const edm::ParameterSet &)
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
ParameterSetID psetID() const
GsfElectronAlgo::InputTagsConfiguration inputCfg_
std::vector< int > recHitSeverityToBeExcludedBarrel
bool getMapped(key_type const &k, value_type &result) const
GsfElectronAlgo::CutsConfiguration cutsCfg_
bool pureTrackerDrivenEcalErrorFromSimpleParameterization
ParameterDescriptionBase * add(U const &iLabel, T const &value)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
double maxDeltaPhiEndcaps
ElectronHcalHelper::Configuration hcalCfg_
std::vector< int > recHitFlagsToBeExcludedBarrel
ElectronHcalHelper::Configuration hcalCfgPflow_
bool ecalSeedingParametersChecked_
std::vector< int > recHitFlagsToBeExcludedEndcaps
double maxSigmaIetaIetaBarrel
bool ecalDrivenEcalEnergyFromClassBasedParameterization
GsfElectronAlgo::StrategyConfiguration strategyCfg_
void beginEvent(edm::Event &, const edm::EventSetup &)
void removeAmbiguousElectrons()
virtual ~GsfElectronBaseProducer()
void displayInternalElectrons(const std::string &title) const
void removeNotPreselectedElectrons()
void copyElectrons(reco::GsfElectronCollection &)
void setAmbiguityData(bool ignoreNotPreselected=true)
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
T get(const Candidate &c)
GsfElectronAlgo::CutsConfiguration cutsCfgPflow_
Provenance const * provenance() const
void checkSetup(const edm::EventSetup &)