CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
MuIsolatorResultProducer< BT > Class Template Reference

BT == base type. More...

#include <MuIsolatorResultProducer.h>

Inheritance diagram for MuIsolatorResultProducer< BT >:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Classes

struct  DepositConf
 
struct  VetoCuts
 

Public Member Functions

 MuIsolatorResultProducer (const edm::ParameterSet &)
 constructor with config More...
 
virtual void produce (edm::Event &, const edm::EventSetup &)
 
virtual ~MuIsolatorResultProducer ()
 destructor More...
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Types

typedef muisorhelper::CandMap< BT > CandMap
 
typedef
muisorhelper::DepositContainer 
DepositContainer
 
typedef muisorhelper::Isolator Isolator
 
typedef muisorhelper::Result Result
 
typedef muisorhelper::Results Results
 
typedef muisorhelper::ResultType ResultType
 

Private Member Functions

void callWhatProduces ()
 declare what's going to be produced More...
 
unsigned int initAssociation (edm::Event &event, CandMap &candMapT) const
 
void initVetos (std::vector< reco::IsoDeposit::Vetos * > &vetos, CandMap &candMap) const
 
void writeOut (edm::Event &event, const CandMap &candMap, const Results &results) const
 choose which result type to write here More...
 
template<typename RT >
void writeOutImpl (edm::Event &event, const CandMap &candMapT, const Results &results) const
 actually do the writing here More...
 

Private Attributes

reco::TrackBase::Point theBeam
 
std::string theBeamlineOption
 beam spot More...
 
edm::InputTag theBeamSpotLabel
 
edm::ParameterSet theConfig
 
std::vector< DepositConftheDepositConfs
 
IsolatortheIsolator
 the isolator More...
 
bool theRemoveOtherVetos
 choose which muon vetos should be removed from all deposits More...
 
ResultType theResultType
 
VetoCuts theVetoCuts
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

template<typename BT = reco::Candidate>
class MuIsolatorResultProducer< BT >

BT == base type.

Definition at line 52 of file MuIsolatorResultProducer.h.

Member Typedef Documentation

template<typename BT = reco::Candidate>
typedef muisorhelper::CandMap<BT> MuIsolatorResultProducer< BT >::CandMap
private

Definition at line 68 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
typedef muisorhelper::DepositContainer MuIsolatorResultProducer< BT >::DepositContainer
private

Definition at line 66 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
typedef muisorhelper::Isolator MuIsolatorResultProducer< BT >::Isolator
private

Definition at line 62 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
typedef muisorhelper::Result MuIsolatorResultProducer< BT >::Result
private

Definition at line 63 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
typedef muisorhelper::Results MuIsolatorResultProducer< BT >::Results
private

Definition at line 65 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
typedef muisorhelper::ResultType MuIsolatorResultProducer< BT >::ResultType
private

Definition at line 64 of file MuIsolatorResultProducer.h.

Constructor & Destructor Documentation

template<typename BT >
MuIsolatorResultProducer< BT >::MuIsolatorResultProducer ( const edm::ParameterSet par)

constructor with config

read input config for deposit types and weights and thresholds to apply to them

will switch to a factory at some point

FIXME

FIXME: need to get the file name here

"other vetoes" is limited to the same collection now for non-trivial choice an external map with pre-made selection flags can be a better choice

Definition at line 186 of file MuIsolatorResultProducer.h.

template<typename BT >
MuIsolatorResultProducer< BT >::~MuIsolatorResultProducer ( )
virtual

destructor

Definition at line 275 of file MuIsolatorResultProducer.h.

Member Function Documentation

template<typename BT >
void MuIsolatorResultProducer< BT >::callWhatProduces ( )
inlineprivate

declare what's going to be produced

Definition at line 154 of file MuIsolatorResultProducer.h.

template<typename BT >
unsigned int MuIsolatorResultProducer< BT >::initAssociation ( edm::Event event,
CandMap candMapT 
) const
private

WARNING: the input ValueMaps are better be for a single key product ID no effort is done (FIXME) for more complex cases

init {muon, {[deposit,veto]_type}} container

Definition at line 352 of file MuIsolatorResultProducer.h.

template<typename BT >
void MuIsolatorResultProducer< BT >::initVetos ( std::vector< reco::IsoDeposit::Vetos * > &  vetos,
CandMap candMap 
) const
private

Definition at line 392 of file MuIsolatorResultProducer.h.

template<typename BT >
void MuIsolatorResultProducer< BT >::produce ( edm::Event event,
const edm::EventSetup eventSetup 
)
virtual

do it only if needed

"smart" container used to repackage deposits_type_candIndex into deposits_candIndex_type have to have it for veto removal (could do away without it otherwise) IMPORTANT: ALL THE REFERENCING BUSINESS IS DONE THROUGH POINTERS Access to the mapped values as reference type HAS TO BE AVAILABLE

isolator results will be here

extra vetos will be filled here

call the isolator result, passing {[deposit,vetos]_type} set and the candidate

do cleanup

Implements edm::EDProducer.

Definition at line 282 of file MuIsolatorResultProducer.h.

template<typename BT >
void MuIsolatorResultProducer< BT >::writeOut ( edm::Event event,
const CandMap candMap,
const Results results 
) const
inlineprivate

choose which result type to write here

Definition at line 139 of file MuIsolatorResultProducer.h.

template<typename BT >
template<typename RT >
void MuIsolatorResultProducer< BT >::writeOutImpl ( edm::Event event,
const CandMap candMapT,
const Results results 
) const
inlineprivate

actually do the writing here

make an output vec of what's to be written with a concrete type

fill/insert of non-empty values only

Definition at line 119 of file MuIsolatorResultProducer.h.

Member Data Documentation

template<typename BT = reco::Candidate>
reco::TrackBase::Point MuIsolatorResultProducer< BT >::theBeam
private

Definition at line 112 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
std::string MuIsolatorResultProducer< BT >::theBeamlineOption
private

beam spot

Definition at line 110 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
edm::InputTag MuIsolatorResultProducer< BT >::theBeamSpotLabel
private

Definition at line 111 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
edm::ParameterSet MuIsolatorResultProducer< BT >::theConfig
private

Definition at line 97 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
std::vector<DepositConf> MuIsolatorResultProducer< BT >::theDepositConfs
private

Definition at line 98 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
Isolator* MuIsolatorResultProducer< BT >::theIsolator
private

the isolator

Definition at line 105 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
bool MuIsolatorResultProducer< BT >::theRemoveOtherVetos
private

choose which muon vetos should be removed from all deposits

Definition at line 101 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
ResultType MuIsolatorResultProducer< BT >::theResultType
private

Definition at line 106 of file MuIsolatorResultProducer.h.

template<typename BT = reco::Candidate>
VetoCuts MuIsolatorResultProducer< BT >::theVetoCuts
private

Definition at line 102 of file MuIsolatorResultProducer.h.