CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
CaloRecoTauTagInfoProducer Class Reference
Inheritance diagram for CaloRecoTauTagInfoProducer:
edm::EDProducer edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 CaloRecoTauTagInfoProducer (const edm::ParameterSet &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~CaloRecoTauTagInfoProducer () override
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDProducer () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 

Private Attributes

edm::InputTag CaloJetTracksAssociatorProducer_
 
CaloRecoTauTagInfoAlgorithmCaloRecoTauTagInfoAlgo_
 
edm::InputTag PVProducer_
 
double smearedPVsigmaX_
 
double smearedPVsigmaY_
 
double smearedPVsigmaZ_
 

Additional Inherited Members

- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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

Definition at line 40 of file CaloRecoTauTagInfoProducer.cc.

Constructor & Destructor Documentation

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

Definition at line 56 of file CaloRecoTauTagInfoProducer.cc.

References edm::ParameterSet::getParameter().

56  {
57  CaloJetTracksAssociatorProducer_ = iConfig.getParameter<edm::InputTag>("CaloJetTracksAssociatorProducer");
58  PVProducer_ = iConfig.getParameter<edm::InputTag>("PVProducer");
59  smearedPVsigmaX_ = iConfig.getParameter<double>("smearedPVsigmaX");
60  smearedPVsigmaY_ = iConfig.getParameter<double>("smearedPVsigmaY");
61  smearedPVsigmaZ_ = iConfig.getParameter<double>("smearedPVsigmaZ");
63 
64  produces<CaloTauTagInfoCollection>();
65  //produces<DetIdCollection>();
66 }
T getParameter(std::string const &) const
CaloRecoTauTagInfoAlgorithm * CaloRecoTauTagInfoAlgo_
CaloRecoTauTagInfoProducer::~CaloRecoTauTagInfoProducer ( )
override

Definition at line 67 of file CaloRecoTauTagInfoProducer.cc.

67  {
69 }
CaloRecoTauTagInfoAlgorithm * CaloRecoTauTagInfoAlgo_

Member Function Documentation

void CaloRecoTauTagInfoProducer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 103 of file CaloRecoTauTagInfoProducer.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), DEFINE_FWK_MODULE, and AlCaHLTBitMon_QueryRunRegistry::string.

103  {
104  // caloRecoTauTagInfoProducer
106  desc.add<int>("tkminTrackerHitsn", 3);
107  desc.add<double>("ECALBasicClustersAroundCaloJet_DRConeSize", 0.5);
108  desc.add<int>("tkminPixelHitsn", 0);
109  desc.add<double>("ECALBasicClusterpropagTrack_matchingDRConeSize", 0.015);
110  desc.add<edm::InputTag>("PVProducer", edm::InputTag("offlinePrimaryVertices"));
111  desc.add<double>("tkminPt", 0.5);
112  desc.add<double>("smearedPVsigmaX", 0.0015);
113  desc.add<bool>("UsePVconstraint", true);
114  desc.add<double>("tkmaxChi2", 100.0);
115  desc.add<edm::InputTag>("EndcapBasicClustersSource", edm::InputTag("multi5x5SuperClusters","multi5x5EndcapBasicClusters"));
116  desc.add<double>("smearedPVsigmaY", 0.0015);
117  desc.add<edm::InputTag>("BarrelBasicClustersSource", edm::InputTag("hybridSuperClusters","hybridBarrelBasicClusters"));
118  desc.add<double>("ECALBasicClusterminE", 1.0);
119  desc.add<double>("smearedPVsigmaZ", 0.005);
120  desc.add<double>("tkPVmaxDZ", 1.0);
121  desc.add<bool>("UseTrackQuality", true);
122  desc.add<std::string>("tkQuality", "highPurity");
123  desc.add<double>("tkmaxipt", 0.1);
124  desc.add<edm::InputTag>("CaloJetTracksAssociatorProducer", edm::InputTag("ic5JetTracksAssociatorAtVertex"));
125  descriptions.add("caloRecoTauTagInfoProducer", desc);
126 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void CaloRecoTauTagInfoProducer::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 71 of file CaloRecoTauTagInfoProducer.cc.

References edm::AssociationVector< KeyRefProd, CVal, KeyRef, SizeType, KeyReferenceHelper >::begin(), edm::AssociationVector< KeyRefProd, CVal, KeyRef, SizeType, KeyReferenceHelper >::end(), edm::Event::getByLabel(), eostools::move(), edm::Handle< T >::product(), and edm::Event::put().

71  {
72  edm::Handle<JetTracksAssociationCollection> theCaloJetTracksAssociatorCollection;
73  iEvent.getByLabel(CaloJetTracksAssociatorProducer_,theCaloJetTracksAssociatorCollection);
74 
75  // query a rec/sim PV
77  iEvent.getByLabel(PVProducer_,thePVs);
78  const VertexCollection vertCollection=*(thePVs.product());
79  Vertex thePV;
80  thePV=*(vertCollection.begin());
81 
82  // auto selectedDetIds = std::make_unique<DetIdCollection>();
84 
85  for(JetTracksAssociationCollection::const_iterator iAssoc=theCaloJetTracksAssociatorCollection->begin();iAssoc!=theCaloJetTracksAssociatorCollection->end();iAssoc++){
86 // CaloTauTagInfo myCaloTauTagInfo=CaloRecoTauTagInfoAlgo_->buildCaloTauTagInfo(iEvent,iSetup,(*iAssoc).first.castTo<CaloJetRef>(),(*iAssoc).second,thePV);
87  CaloTauTagInfo myCaloTauTagInfo=CaloRecoTauTagInfoAlgo_->buildCaloTauTagInfo(iEvent,iSetup,(*iAssoc).first,(*iAssoc).second,thePV);
88  extCollection->push_back(myCaloTauTagInfo);
89  // std::vector<DetId> myDets = CaloRecoTauTagInfoAlgo_->getVectorDetId((*iAssoc).first.castTo<CaloJetRef>());
90 
91  //Saving the selectedDetIds
92  // for(unsigned int i=0; i<myDets.size();i++)
93  // selectedDetIds->push_back(myDets[i]);
94  }
95 
96  std::unique_ptr<CaloTauTagInfoCollection> resultExt(extCollection);
97  iEvent.put(std::move(resultExt));
98 
99  // iEvent.put(std::move(selectedDetIds));
100 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:125
transient_vector_type::const_iterator const_iterator
reco::CaloTauTagInfo buildCaloTauTagInfo(edm::Event &, const edm::EventSetup &, const reco::CaloJetRef &, const reco::TrackRefVector &, const reco::Vertex &)
const_iterator end() const
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
std::vector< CaloTauTagInfo > CaloTauTagInfoCollection
collection of CaloTauTagInfo objects
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:480
CaloRecoTauTagInfoAlgorithm * CaloRecoTauTagInfoAlgo_
T const * product() const
Definition: Handle.h:74
const_iterator begin() const
def move(src, dest)
Definition: eostools.py:511

Member Data Documentation

edm::InputTag CaloRecoTauTagInfoProducer::CaloJetTracksAssociatorProducer_
private

Definition at line 48 of file CaloRecoTauTagInfoProducer.cc.

CaloRecoTauTagInfoAlgorithm* CaloRecoTauTagInfoProducer::CaloRecoTauTagInfoAlgo_
private

Definition at line 47 of file CaloRecoTauTagInfoProducer.cc.

edm::InputTag CaloRecoTauTagInfoProducer::PVProducer_
private

Definition at line 49 of file CaloRecoTauTagInfoProducer.cc.

double CaloRecoTauTagInfoProducer::smearedPVsigmaX_
private

Definition at line 50 of file CaloRecoTauTagInfoProducer.cc.

double CaloRecoTauTagInfoProducer::smearedPVsigmaY_
private

Definition at line 51 of file CaloRecoTauTagInfoProducer.cc.

double CaloRecoTauTagInfoProducer::smearedPVsigmaZ_
private

Definition at line 52 of file CaloRecoTauTagInfoProducer.cc.