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>();
168 bool useIsolationValues = cfg.
getParameter<
bool>(
"useIsolationValues") ;
169 if ( useIsolationValues ) {
170 if( ! cfg.
exists(
"pfIsolationValues") )
172 <<
"Missing ParameterSet pfIsolationValues" ;
177 if ( ! cfg.
exists(
"edIsolationValues") )
179 <<
"Missing ParameterSet edIsolationValues" ;
276 const std::vector<std::string> flagnamesbarrel = cfg.
getParameter<std::vector<std::string> >(
"recHitFlagsToBeExcludedBarrel");
278 const std::vector<std::string> flagnamesendcaps = cfg.
getParameter<std::vector<std::string> >(
"recHitFlagsToBeExcludedEndcaps");
280 const std::vector<std::string> severitynamesbarrel = cfg.
getParameter<std::vector<std::string> >(
"recHitSeverityToBeExcludedBarrel");
282 const std::vector<std::string> severitynamesendcaps = cfg.
getParameter<std::vector<std::string> >(
"recHitSeverityToBeExcludedEndcaps");
289 isoCfg.intRadiusEndcapTk = cfg.
getParameter<
double>(
"intRadiusEndcapTk") ;
290 isoCfg.stripBarrelTk = cfg.
getParameter<
double>(
"stripBarrelTk") ;
291 isoCfg.stripEndcapTk = cfg.
getParameter<
double>(
"stripEndcapTk") ;
293 isoCfg.maxVtxDistTk = cfg.
getParameter<
double>(
"maxVtxDistTk") ;
294 isoCfg.maxDrbTk = cfg.
getParameter<
double>(
"maxDrbTk") ;
295 isoCfg.intRadiusHcal = cfg.
getParameter<
double>(
"intRadiusHcal") ;
296 isoCfg.etMinHcal = cfg.
getParameter<
double>(
"etMinHcal") ;
297 isoCfg.intRadiusEcalBarrel = cfg.
getParameter<
double>(
"intRadiusEcalBarrel") ;
298 isoCfg.intRadiusEcalEndcaps = cfg.
getParameter<
double>(
"intRadiusEcalEndcaps") ;
299 isoCfg.jurassicWidth = cfg.
getParameter<
double>(
"jurassicWidth") ;
300 isoCfg.etMinBarrel = cfg.
getParameter<
double>(
"etMinBarrel") ;
301 isoCfg.eMinBarrel = cfg.
getParameter<
double>(
"eMinBarrel") ;
302 isoCfg.etMinEndcaps = cfg.
getParameter<
double>(
"etMinEndcaps") ;
303 isoCfg.eMinEndcaps = cfg.
getParameter<
double>(
"eMinEndcaps") ;
304 isoCfg.vetoClustered = cfg.
getParameter<
bool>(
"vetoClustered") ;
305 isoCfg.useNumCrystals = cfg.
getParameter<
bool>(
"useNumCrystals") ;
311 if (superClusterErrorFunctionName!=
"")
313 superClusterErrorFunction
318 superClusterErrorFunction
324 if (crackCorrectionFunctionName!=
"")
326 crackCorrectionFunction
336 superClusterErrorFunction,
337 crackCorrectionFunction ) ;
354 <<
"Cannot check consistency of parameters with ecal seeding ones,"
355 <<
" because the original collection of seeds is not any more available." ;
391 event.put(finalCollection) ;
407 if (seedConfiguration.
getParameter<
bool>(
"applyHOverECut"))
412 {
edm::LogWarning(
"GsfElectronAlgo|InconsistentParameters") <<
"The max barrel H/E is lower than during ecal seeding." ; }
414 {
edm::LogWarning(
"GsfElectronAlgo|InconsistentParameters") <<
"The max endcaps H/E is lower than during ecal seeding." ; }
418 {
edm::LogWarning(
"GsfElectronAlgo|InconsistentParameters") <<
"The minimum super-cluster Et in barrel is lower than during ecal seeding." ; }
420 {
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
static ThreadSafeRegistry * instance()
unsigned ambSortingStrategy
void beginEvent(edm::Event &)
double maxSigmaIetaIetaEndcaps
double minMvaByPassForIsolated
bool exists(std::string const ¶meterName) const
checks if a parameter exists
bool getMapped(key_type const &k, value_type &result) const
double maxDeltaEtaEndcaps
GsfElectronBaseProducer(const edm::ParameterSet &)
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
ParameterSetID psetID() const
GsfElectronAlgo::InputTagsConfiguration inputCfg_
std::vector< int > recHitSeverityToBeExcludedBarrel
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 &)