CMS 3D CMS Logo

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

#include <ConversionProducer.h>

Inheritance diagram for ConversionProducer:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 ConversionProducer (const edm::ParameterSet &)
 
 ~ConversionProducer ()
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
- Public Member Functions inherited from edm::stream::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- 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 math::XYZPointF Point
 
typedef std::vector< PointPointCollection
 

Private Member Functions

void buildCollection (edm::Event &iEvent, const edm::EventSetup &iSetup, const std::multimap< float, edm::Ptr< reco::ConversionTrack > > &allTracks, const std::multimap< double, reco::CaloClusterPtr > &superClusterPtrs, const std::multimap< double, reco::CaloClusterPtr > &basicClusterPtrs, const reco::Vertex &the_pvtx, reco::ConversionCollection &outputConvPhotonCollection)
 
void buildSuperAndBasicClusterGeoMap (const edm::Event &, std::multimap< double, reco::CaloClusterPtr > &basicClusterPtrs, std::multimap< double, reco::CaloClusterPtr > &superClusterPtrs)
 
bool checkPhi (const edm::RefToBase< reco::Track > &tk_l, const edm::RefToBase< reco::Track > &tk_r, const TrackerGeometry *trackerGeom, const MagneticField *magField, const reco::Vertex &the_vertex)
 
bool checkTrackPair (const std::pair< edm::RefToBase< reco::Track >, reco::CaloClusterPtr > &ll, const std::pair< edm::RefToBase< reco::Track >, reco::CaloClusterPtr > &rr)
 
bool checkVertex (const reco::TransientTrack &ttk_l, const reco::TransientTrack &ttk_r, const MagneticField *magField, reco::Vertex &the_vertex)
 
double etaTransformation (float EtaParticle, float Zvertex)
 
bool getMatchedBC (const std::multimap< double, reco::CaloClusterPtr > &bcMap, const math::XYZPointF &trackImpactPosition, reco::CaloClusterPtr &closestBC)
 
bool getTrackImpactPosition (const reco::Track *tk_ref, const TrackerGeometry *trackerGeom, const MagneticField *magField, math::XYZPointF &ew)
 
bool matchingSC (const std::multimap< double, reco::CaloClusterPtr > &scMap, reco::Conversion &conv, reco::CaloClusterPtrVector &mSC)
 
bool preselectTrackPair (const reco::TransientTrack &ttk_l, const reco::TransientTrack &ttk_r, double &appDist)
 
virtual void produce (edm::Event &, const edm::EventSetup &)
 
math::XYZPointF toFConverterP (const math::XYZPoint &val)
 
math::XYZVectorF toFConverterV (const math::XYZVector &val)
 
bool trackD0Cut (const edm::RefToBase< reco::Track > &ref)
 
bool trackD0Cut (const edm::RefToBase< reco::Track > &ref, const reco::Vertex &the_pvtx)
 
bool trackQualityFilter (const edm::RefToBase< reco::Track > &ref, bool isLeft)
 

Private Attributes

std::string algoName_
 
bool allowD0_
 
bool allowDeltaCot_
 
bool allowDeltaPhi_
 
bool allowMinApproach_
 
bool allowOppCharge_
 
bool allowSingleLeg_
 
bool allowTrackBC_
 
bool allowVertex_
 
edm::EDGetTokenT< edm::View
< reco::CaloCluster > > 
bcBarrelCollection_
 
edm::EDGetTokenT< edm::View
< reco::CaloCluster > > 
bcEndcapCollection_
 
bool bypassPreselEcal_
 
bool bypassPreselEcalEcal_
 
bool bypassPreselGsf_
 
std::string ConvertedPhotonCollection_
 
double d0Cut_
 
double deltaCotTheta_
 
double deltaEta_
 
double deltaPhi_
 
double dEtacutForSCmatching_
 
double dEtaTkBC_
 
double dPhicutForSCmatching_
 
double dPhiTkBC_
 
double dzCut_
 
double energyBC_
 
double energyTotalBC_
 
double halfWayEta_
 
double halfWayPhi_
 
double maxChi2Left_
 
double maxChi2Right_
 
unsigned int maxNumOfTrackInPU_
 
double maxTrackRho_
 
double maxTrackZ_
 
double minApproachHigh_
 
double minApproachLow_
 
double minHitsLeft_
 
double minHitsRight_
 
double minSCEt_
 
double r_cut
 
bool rightBC_
 
edm::EDGetTokenT< edm::View
< reco::CaloCluster > > 
scBarrelProducer_
 
edm::EDGetTokenT< edm::View
< reco::CaloCluster > > 
scEndcapProducer_
 
edm::EDGetTokenT< edm::View
< reco::ConversionTrack > > 
src_
 
const TransientTrackBuilderthettbuilder_
 
ConversionVertexFindertheVertexFinder_
 
bool usePvtx_
 
edm::EDGetTokenT
< reco::VertexCollection
vertexProducer_
 
double vtxChi2_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase 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::stream::EDProducerBase
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

$Id:

Authors
H. Liu, UC of Riverside US, N. Marinelli Univ of Notre Dame

Description: Produces converted photon objects using default track collections

Implementation: <Notes on="" implementation>="">

Definition at line 66 of file ConversionProducer.h.

Member Typedef Documentation

Definition at line 86 of file ConversionProducer.h.

typedef std::vector<Point> ConversionProducer::PointCollection
private

Definition at line 87 of file ConversionProducer.h.

Constructor & Destructor Documentation

ConversionProducer::ConversionProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 73 of file ConversionProducer.cc.

ConversionProducer::~ConversionProducer ( )

Definition at line 172 of file ConversionProducer.cc.

Member Function Documentation

void ConversionProducer::buildCollection ( edm::Event iEvent,
const edm::EventSetup iSetup,
const std::multimap< float, edm::Ptr< reco::ConversionTrack > > &  allTracks,
const std::multimap< double, reco::CaloClusterPtr > &  superClusterPtrs,
const std::multimap< double, reco::CaloClusterPtr > &  basicClusterPtrs,
const reco::Vertex the_pvtx,
reco::ConversionCollection outputConvPhotonCollection 
)
private

match the track pair with a SC. If at least one track matches, store the SC

Definition at line 313 of file ConversionProducer.cc.

void ConversionProducer::buildSuperAndBasicClusterGeoMap ( const edm::Event iEvent,
std::multimap< double, reco::CaloClusterPtr > &  basicClusterPtrs,
std::multimap< double, reco::CaloClusterPtr > &  superClusterPtrs 
)
private

Definition at line 249 of file ConversionProducer.cc.

bool ConversionProducer::checkPhi ( const edm::RefToBase< reco::Track > &  tk_l,
const edm::RefToBase< reco::Track > &  tk_r,
const TrackerGeometry trackerGeom,
const MagneticField magField,
const reco::Vertex the_vertex 
)
private

Definition at line 746 of file ConversionProducer.cc.

bool ConversionProducer::checkTrackPair ( const std::pair< edm::RefToBase< reco::Track >, reco::CaloClusterPtr > &  ll,
const std::pair< edm::RefToBase< reco::Track >, reco::CaloClusterPtr > &  rr 
)
private

Definition at line 853 of file ConversionProducer.cc.

bool ConversionProducer::checkVertex ( const reco::TransientTrack ttk_l,
const reco::TransientTrack ttk_r,
const MagneticField magField,
reco::Vertex the_vertex 
)
private

Definition at line 877 of file ConversionProducer.cc.

double ConversionProducer::etaTransformation ( float  EtaParticle,
float  Zvertex 
)
private

Definition at line 895 of file ConversionProducer.cc.

bool ConversionProducer::getMatchedBC ( const std::multimap< double, reco::CaloClusterPtr > &  bcMap,
const math::XYZPointF trackImpactPosition,
reco::CaloClusterPtr closestBC 
)
private

Definition at line 710 of file ConversionProducer.cc.

bool ConversionProducer::getTrackImpactPosition ( const reco::Track tk_ref,
const TrackerGeometry trackerGeom,
const MagneticField magField,
math::XYZPointF ew 
)
private

Definition at line 633 of file ConversionProducer.cc.

bool ConversionProducer::matchingSC ( const std::multimap< double, reco::CaloClusterPtr > &  scMap,
reco::Conversion conv,
reco::CaloClusterPtrVector mSC 
)
private

Definition at line 681 of file ConversionProducer.cc.

bool ConversionProducer::preselectTrackPair ( const reco::TransientTrack ttk_l,
const reco::TransientTrack ttk_r,
double &  appDist 
)
private

Definition at line 793 of file ConversionProducer.cc.

void ConversionProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::stream::EDProducerBase.

Definition at line 183 of file ConversionProducer.cc.

math::XYZPointF ConversionProducer::toFConverterP ( const math::XYZPoint val)
inlineprivate

Definition at line 187 of file ConversionProducer.h.

math::XYZVectorF ConversionProducer::toFConverterV ( const math::XYZVector val)
inlineprivate

Definition at line 191 of file ConversionProducer.h.

bool ConversionProducer::trackD0Cut ( const edm::RefToBase< reco::Track > &  ref)
inlineprivate

Definition at line 622 of file ConversionProducer.cc.

bool ConversionProducer::trackD0Cut ( const edm::RefToBase< reco::Track > &  ref,
const reco::Vertex the_pvtx 
)
inlineprivate

Definition at line 627 of file ConversionProducer.cc.

bool ConversionProducer::trackQualityFilter ( const edm::RefToBase< reco::Track > &  ref,
bool  isLeft 
)
inlineprivate

Definition at line 611 of file ConversionProducer.cc.

Member Data Documentation

std::string ConversionProducer::algoName_
private

Definition at line 84 of file ConversionProducer.h.

bool ConversionProducer::allowD0_
private

Definition at line 97 of file ConversionProducer.h.

bool ConversionProducer::allowDeltaCot_
private

Definition at line 97 of file ConversionProducer.h.

bool ConversionProducer::allowDeltaPhi_
private

Definition at line 97 of file ConversionProducer.h.

bool ConversionProducer::allowMinApproach_
private

Definition at line 97 of file ConversionProducer.h.

bool ConversionProducer::allowOppCharge_
private

Definition at line 97 of file ConversionProducer.h.

bool ConversionProducer::allowSingleLeg_
private

Definition at line 131 of file ConversionProducer.h.

bool ConversionProducer::allowTrackBC_
private

Definition at line 97 of file ConversionProducer.h.

bool ConversionProducer::allowVertex_
private

Definition at line 97 of file ConversionProducer.h.

edm::EDGetTokenT<edm::View<reco::CaloCluster> > ConversionProducer::bcBarrelCollection_
private

Definition at line 93 of file ConversionProducer.h.

edm::EDGetTokenT<edm::View<reco::CaloCluster> > ConversionProducer::bcEndcapCollection_
private

Definition at line 94 of file ConversionProducer.h.

bool ConversionProducer::bypassPreselEcal_
private

Definition at line 99 of file ConversionProducer.h.

bool ConversionProducer::bypassPreselEcalEcal_
private

Definition at line 99 of file ConversionProducer.h.

bool ConversionProducer::bypassPreselGsf_
private

Definition at line 99 of file ConversionProducer.h.

std::string ConversionProducer::ConvertedPhotonCollection_
private

Definition at line 95 of file ConversionProducer.h.

double ConversionProducer::d0Cut_
private

Definition at line 118 of file ConversionProducer.h.

double ConversionProducer::deltaCotTheta_
private

Definition at line 125 of file ConversionProducer.h.

double ConversionProducer::deltaEta_
private

Definition at line 107 of file ConversionProducer.h.

double ConversionProducer::deltaPhi_
private

Definition at line 125 of file ConversionProducer.h.

double ConversionProducer::dEtacutForSCmatching_
private

Definition at line 114 of file ConversionProducer.h.

double ConversionProducer::dEtaTkBC_
private

Definition at line 120 of file ConversionProducer.h.

double ConversionProducer::dPhicutForSCmatching_
private

Definition at line 115 of file ConversionProducer.h.

double ConversionProducer::dPhiTkBC_
private

Definition at line 120 of file ConversionProducer.h.

double ConversionProducer::dzCut_
private

Definition at line 119 of file ConversionProducer.h.

double ConversionProducer::energyBC_
private

Definition at line 116 of file ConversionProducer.h.

double ConversionProducer::energyTotalBC_
private

Definition at line 117 of file ConversionProducer.h.

double ConversionProducer::halfWayEta_
private

Definition at line 109 of file ConversionProducer.h.

double ConversionProducer::halfWayPhi_
private

Definition at line 109 of file ConversionProducer.h.

double ConversionProducer::maxChi2Left_
private

Definition at line 122 of file ConversionProducer.h.

double ConversionProducer::maxChi2Right_
private

Definition at line 122 of file ConversionProducer.h.

unsigned int ConversionProducer::maxNumOfTrackInPU_
private

Definition at line 110 of file ConversionProducer.h.

double ConversionProducer::maxTrackRho_
private

Definition at line 112 of file ConversionProducer.h.

double ConversionProducer::maxTrackZ_
private

Definition at line 111 of file ConversionProducer.h.

double ConversionProducer::minApproachHigh_
private

Definition at line 125 of file ConversionProducer.h.

double ConversionProducer::minApproachLow_
private

Definition at line 125 of file ConversionProducer.h.

double ConversionProducer::minHitsLeft_
private

Definition at line 123 of file ConversionProducer.h.

double ConversionProducer::minHitsRight_
private

Definition at line 123 of file ConversionProducer.h.

double ConversionProducer::minSCEt_
private

Definition at line 113 of file ConversionProducer.h.

double ConversionProducer::r_cut
private

Definition at line 128 of file ConversionProducer.h.

bool ConversionProducer::rightBC_
private

Definition at line 132 of file ConversionProducer.h.

edm::EDGetTokenT<edm::View<reco::CaloCluster> > ConversionProducer::scBarrelProducer_
private

Definition at line 91 of file ConversionProducer.h.

edm::EDGetTokenT<edm::View<reco::CaloCluster> > ConversionProducer::scEndcapProducer_
private

Definition at line 92 of file ConversionProducer.h.

edm::EDGetTokenT<edm::View<reco::ConversionTrack> > ConversionProducer::src_
private

Definition at line 89 of file ConversionProducer.h.

const TransientTrackBuilder* ConversionProducer::thettbuilder_
private

Definition at line 105 of file ConversionProducer.h.

ConversionVertexFinder* ConversionProducer::theVertexFinder_
private

Definition at line 103 of file ConversionProducer.h.

bool ConversionProducer::usePvtx_
private

Definition at line 101 of file ConversionProducer.h.

edm::EDGetTokenT<reco::VertexCollection> ConversionProducer::vertexProducer_
private

Definition at line 102 of file ConversionProducer.h.

double ConversionProducer::vtxChi2_
private

Definition at line 129 of file ConversionProducer.h.