#include <PhysicsTools/PatAlgos/interface/PATUserDataMerger.h>
Public Member Functions | |
void | add (ObjectType &patObject, edm::Event const &iEvent, edm::EventSetup const &iSetup) |
PATUserDataMerger (const edm::ParameterSet &iConfig) | |
PATUserDataMerger () | |
~PATUserDataMerger () | |
Private Attributes | |
Operation | loader_ |
std::vector< edm::InputTag > | userDataSrc_ |
This expects one input: src: The data to add to the objects that get passed to this object, which are ValueMaps to some type (like UserData or double).
This will be called from PATUserDataHelper to handle the templated cases like UserData or double. PATUserDataHelper will then add all the instantiated cases.
Definition at line 62 of file PATUserDataMerger.h.
pat::PATUserDataMerger< ObjectType, Operation >::PATUserDataMerger | ( | ) | [inline] |
pat::PATUserDataMerger< ObjectType, Operation >::PATUserDataMerger | ( | const edm::ParameterSet & | iConfig | ) | [inline] |
Definition at line 86 of file PATUserDataMerger.h.
00086 : 00087 userDataSrc_(iConfig.getParameter<std::vector<edm::InputTag> >("src") ) 00088 { 00089 }
pat::PATUserDataMerger< ObjectType, Operation >::~PATUserDataMerger | ( | ) | [inline] |
void pat::PATUserDataMerger< ObjectType, Operation >::add | ( | ObjectType & | patObject, | |
edm::Event const & | iEvent, | |||
edm::EventSetup const & | iSetup | |||
) | [inline] |
Definition at line 110 of file PATUserDataMerger.h.
References edm::Event::getByLabel(), edm::Ptr< T >::id(), pat::PATUserDataMerger< ObjectType, Operation >::loader_, and pat::PATUserDataMerger< ObjectType, Operation >::userDataSrc_.
Referenced by pat::PATUserDataHelper< ObjectType >::add().
00113 { 00114 00115 std::vector<edm::InputTag>::const_iterator input_it = userDataSrc_.begin(), 00116 input_begin = userDataSrc_.begin(), 00117 input_end = userDataSrc_.end(); 00118 00119 for ( ; input_it != input_end; ++input_it ) { 00120 00121 // Declare the object handles: 00122 // ValueMap containing the values, or edm::Ptr's to the UserData that 00123 // is associated to those PAT Objects 00124 edm::Handle<typename Operation::product_type> userData; 00125 00126 // Get the objects by label 00127 iEvent.getByLabel( *input_it, userData ); 00128 00129 edm::Ptr<reco::Candidate> recoObject = patObject.originalObjectRef(); 00130 if ( userData->contains( recoObject.id() ) ) { 00131 loader_.addData( patObject, input_it->encode(), (*userData)[recoObject]); 00132 } 00133 00134 } 00135 00136 }
Operation pat::PATUserDataMerger< ObjectType, Operation >::loader_ [private] |
Definition at line 78 of file PATUserDataMerger.h.
Referenced by pat::PATUserDataMerger< ObjectType, Operation >::add().
std::vector<edm::InputTag> pat::PATUserDataMerger< ObjectType, Operation >::userDataSrc_ [private] |
Definition at line 77 of file PATUserDataMerger.h.
Referenced by pat::PATUserDataMerger< ObjectType, Operation >::add().