CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
TrackMergeremb< T1 > Class Template Reference

#include <TrackMergeremb.h>

Inheritance diagram for TrackMergeremb< T1 >:
edm::stream::EDProducer<>

Public Member Functions

 TrackMergeremb (const edm::ParameterSet &)
 
 ~TrackMergeremb () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Types

typedef T1 TrackCollectionemb
 
typedef edm::ValueMap< reco::TrackRefVectorTrackToTrackMapnew
 

Private Member Functions

void merg_and_put (edm::Event &, std::string, std::vector< edm::EDGetTokenT< TrackCollectionemb > > &)
 
template<>
void merg_and_put (edm::Event &iEvent, std::string instance, std::vector< edm::EDGetTokenT< reco::TrackCollection > > &to_merge)
 
template<>
void merg_and_put (edm::Event &iEvent, std::string instance, std::vector< edm::EDGetTokenT< reco::GsfTrackCollection > > &to_merge)
 
template<>
void merg_and_put (edm::Event &iEvent, std::string instance, std::vector< edm::EDGetTokenT< reco::MuonCollection > > &to_merge)
 
template<>
void merg_and_put (edm::Event &iEvent, std::string instance, std::vector< edm::EDGetTokenT< reco::PFCandidateCollection > > &to_merge)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
void willconsume (const edm::ParameterSet &iConfig)
 
template<>
void willconsume (const edm::ParameterSet &iConfig)
 
template<>
void willconsume (const edm::ParameterSet &iConfig)
 
void willproduce (std::string instance, std::string alias)
 
template<>
void willproduce (std::string instance, std::string alias)
 
template<>
void willproduce (std::string instance, std::string alias)
 
template<>
void willproduce (std::string instance, std::string alias)
 
template<>
void willproduce (std::string instance, std::string alias)
 

Private Attributes

std::map< std::string, std::vector< edm::EDGetTokenT< TrackCollectionemb > > > inputs_
 
edm::EDGetTokenT< reco::MuonCollectioninputs_fixmucol_
 
edm::EDGetTokenT< reco::MuonToMuonMapinputs_fixmurefs_
 
edm::EDGetTokenT< reco::TrackCollectioninputs_fixtrackcol_
 
edm::EDGetTokenT< TrackToTrackMapnewinputs_fixtrackrefs_
 
std::map< std::string, std::vector< edm::EDGetTokenT< edm::ValueMap< reco::MuonQuality > > > > inputs_qual_
 

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, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

template<typename T1>
class TrackMergeremb< T1 >

Author
Stefan Wayand; Christian Veelken, LLR

Definition at line 34 of file TrackMergeremb.h.

Member Typedef Documentation

template<typename T1 >
typedef T1 TrackMergeremb< T1 >::TrackCollectionemb
private

Definition at line 42 of file TrackMergeremb.h.

template<typename T1 >
typedef edm::ValueMap<reco::TrackRefVector> TrackMergeremb< T1 >::TrackToTrackMapnew
private

Definition at line 52 of file TrackMergeremb.h.

Constructor & Destructor Documentation

template<typename T1 >
TrackMergeremb< T1 >::TrackMergeremb ( const edm::ParameterSet iConfig)
explicit

Definition at line 62 of file TrackMergeremb.h.

References SiStripOfflineCRack_cfg::alias, edm::ParameterSet::getParameter(), TrackMergeremb< T1 >::inputs_, AlCaHLTBitMon_QueryRunRegistry::string, TrackMergeremb< T1 >::willconsume(), and TrackMergeremb< T1 >::willproduce().

62  {
63  std::string alias(iConfig.getParameter<std::string>("@module_label"));
64  std::vector<edm::InputTag> inCollections = iConfig.getParameter<std::vector<edm::InputTag> >("mergCollections");
65  for (auto inCollection : inCollections) {
66  inputs_[inCollection.instance()].push_back(consumes<TrackCollectionemb>(inCollection));
67  }
68  willconsume(iConfig);
69  for (auto toproduce : inputs_) {
70  willproduce(toproduce.first, alias);
71  }
72 }
T getParameter(std::string const &) const
void willconsume(const edm::ParameterSet &iConfig)
std::map< std::string, std::vector< edm::EDGetTokenT< TrackCollectionemb > > > inputs_
void willproduce(std::string instance, std::string alias)
template<typename T1 >
TrackMergeremb< T1 >::~TrackMergeremb ( )
override

Definition at line 75 of file TrackMergeremb.h.

75  {
76  // nothing to be done yet...
77 }

Member Function Documentation

template<typename T1 >
void TrackMergeremb< T1 >::merg_and_put ( edm::Event iEvent,
std::string  instance,
std::vector< edm::EDGetTokenT< TrackCollectionemb > > &  to_merge 
)
private

Definition at line 56 of file TrackMergeremb.cc.

References edm::Event::getByToken(), eostools::move(), and edm::Event::put().

Referenced by TrackMergeremb< T1 >::produce().

58  {
59  std::unique_ptr<TrackCollectionemb> outTracks = std::unique_ptr<TrackCollectionemb>(new TrackCollectionemb);
60 
61  for (auto akt_collection : to_merge) {
63  iEvent.getByToken(akt_collection, track_col_in);
64 
65  size_t sedref_it = 0;
66  for (typename TrackCollectionemb::const_iterator it = track_col_in->begin(); it != track_col_in->end();
67  ++it, ++sedref_it) {
68  outTracks->push_back(typename T1::value_type(*it));
69  }
70 
71  } // end merge
72 
73  iEvent.put(std::move(outTracks), instance);
74 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
static PFTauRenderPlugin instance
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
def move(src, dest)
Definition: eostools.py:511
template<>
void TrackMergeremb< reco::TrackCollection >::merg_and_put ( edm::Event iEvent,
std::string  instance,
std::vector< edm::EDGetTokenT< reco::TrackCollection > > &  to_merge 
)
private

Definition at line 85 of file TrackMergeremb.cc.

References edm::helper::Filler< Map >::fill(), trigObjTnPSource_cfi::filler, edm::Event::getByToken(), edm::Event::getRefBeforePut(), edm::helper::Filler< Map >::insert(), eostools::move(), edm::RefVector< C, T, F >::push_back(), and edm::Event::put().

86  {
87  std::unique_ptr<reco::TrackCollection> outTracks = std::unique_ptr<reco::TrackCollection>(new reco::TrackCollection);
88  std::unique_ptr<reco::TrackExtraCollection> outTracks_ex =
89  std::unique_ptr<reco::TrackExtraCollection>(new reco::TrackExtraCollection());
90  std::unique_ptr<TrackingRecHitCollection> outTracks_rh =
91  std::unique_ptr<TrackingRecHitCollection>(new TrackingRecHitCollection());
92  std::unique_ptr<TrackToTrackMapnew> outTracks_refs = std::unique_ptr<TrackToTrackMapnew>(new TrackToTrackMapnew());
93 
94  auto rTrackExtras = iEvent.getRefBeforePut<reco::TrackExtraCollection>();
95  // auto rHits = iEvent.getRefBeforePut<TrackingRecHitCollection>();
96 
97  std::vector<reco::TrackRefVector> trackRefColl;
98  //std::vector<reco::TrackRef> trackRefColl;
99 
100  for (auto akt_collection : to_merge) {
102  iEvent.getByToken(akt_collection, track_col_in);
103 
104  unsigned sedref_it = 0;
105  for (reco::TrackCollection::const_iterator it = track_col_in->begin(); it != track_col_in->end();
106  ++it, ++sedref_it) {
107  outTracks->push_back(reco::Track(*it));
108  outTracks_ex->push_back(reco::TrackExtra(*it->extra()));
109  outTracks->back().setExtra(reco::TrackExtraRef(rTrackExtras, outTracks_ex->size() - 1));
110  reco::TrackRef trackRefold(track_col_in, sedref_it);
111 
112  reco::TrackRefVector trackRefColl_helpvec;
113  trackRefColl_helpvec.push_back(trackRefold);
114  trackRefColl.push_back(trackRefColl_helpvec);
115  }
116 
117  } // end merge
118 
119  edm::OrphanHandle<reco::TrackCollection> trackHandle = iEvent.put(std::move(outTracks), instance);
120  iEvent.put(std::move(outTracks_ex), instance);
121 
122  TrackToTrackMapnew::Filler filler(*outTracks_refs);
123  filler.insert(trackHandle, trackRefColl.begin(), trackRefColl.end());
124  filler.fill();
125 
126  iEvent.put(std::move(outTracks_refs));
127  iEvent.put(std::move(outTracks_rh), instance); // not implemented so far
128 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
static PFTauRenderPlugin instance
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
RefProd< PROD > getRefBeforePut()
Definition: Event.h:156
helper::Filler< ValueMap< T > > Filler
Definition: ValueMap.h:168
std::vector< TrackExtra > TrackExtraCollection
collection of TrackExtra objects
Definition: TrackExtraFwd.h:10
edm::OwnVector< TrackingRecHit > TrackingRecHitCollection
collection of TrackingRecHits
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
Definition: RefVector.h:67
edm::ValueMap< reco::TrackRefVector > TrackToTrackMapnew
def move(src, dest)
Definition: eostools.py:511
template<>
void TrackMergeremb< reco::GsfTrackCollection >::merg_and_put ( edm::Event iEvent,
std::string  instance,
std::vector< edm::EDGetTokenT< reco::GsfTrackCollection > > &  to_merge 
)
private

Definition at line 139 of file TrackMergeremb.cc.

References edm::Event::getByToken(), edm::Event::getRefBeforePut(), eostools::move(), and edm::Event::put().

140  {
141  std::unique_ptr<reco::GsfTrackCollection> outTracks =
142  std::unique_ptr<reco::GsfTrackCollection>(new reco::GsfTrackCollection);
143  std::unique_ptr<reco::TrackExtraCollection> outTracks_ex =
144  std::unique_ptr<reco::TrackExtraCollection>(new reco::TrackExtraCollection());
145  std::unique_ptr<reco::GsfTrackExtraCollection> outTracks_exgsf =
146  std::unique_ptr<reco::GsfTrackExtraCollection>(new reco::GsfTrackExtraCollection());
147  std::unique_ptr<TrackingRecHitCollection> outTracks_rh =
148  std::unique_ptr<TrackingRecHitCollection>(new TrackingRecHitCollection());
149 
150  auto rTrackExtras = iEvent.getRefBeforePut<reco::TrackExtraCollection>();
151  auto rTrackExtras_gsf = iEvent.getRefBeforePut<reco::GsfTrackExtraCollection>();
152 
153  auto rHits = iEvent.getRefBeforePut<TrackingRecHitCollection>();
154 
155  for (auto akt_collection : to_merge) {
157  iEvent.getByToken(akt_collection, track_col_in);
158 
159  size_t sedref_it = 0;
160  for (reco::GsfTrackCollection::const_iterator it = track_col_in->begin(); it != track_col_in->end();
161  ++it, ++sedref_it) {
162  outTracks->push_back(reco::GsfTrack(*it));
163  outTracks_ex->push_back(reco::TrackExtra(*it->extra()));
164  outTracks_exgsf->push_back(reco::GsfTrackExtra(*it->gsfExtra()));
165 
166  outTracks->back().setExtra(reco::TrackExtraRef(rTrackExtras, outTracks_ex->size() - 1));
167  outTracks->back().setGsfExtra(reco::GsfTrackExtraRef(rTrackExtras_gsf, outTracks_exgsf->size() - 1));
168  }
169 
170  } // end merge
171 
172  iEvent.put(std::move(outTracks), instance);
173  iEvent.put(std::move(outTracks_ex), instance);
174  iEvent.put(std::move(outTracks_exgsf), instance);
175  iEvent.put(std::move(outTracks_rh), instance);
176 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
static PFTauRenderPlugin instance
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
std::vector< GsfTrackExtra > GsfTrackExtraCollection
collection of GsfTrackExtra objects
std::vector< GsfTrack > GsfTrackCollection
collection of GsfTracks
Definition: GsfTrackFwd.h:9
RefProd< PROD > getRefBeforePut()
Definition: Event.h:156
std::vector< TrackExtra > TrackExtraCollection
collection of TrackExtra objects
Definition: TrackExtraFwd.h:10
edm::OwnVector< TrackingRecHit > TrackingRecHitCollection
collection of TrackingRecHits
def move(src, dest)
Definition: eostools.py:511
template<>
void TrackMergeremb< reco::MuonCollection >::merg_and_put ( edm::Event iEvent,
std::string  instance,
std::vector< edm::EDGetTokenT< reco::MuonCollection > > &  to_merge 
)
private

Definition at line 203 of file TrackMergeremb.cc.

References ev, trigObjTnPSource_cfi::filler, edm::Event::getByToken(), edm::Event::getRefBeforePut(), eostools::move(), jets_cff::nMuons, edm::Event::put(), and AlCaHLTBitMon_QueryRunRegistry::string.

204  {
205  std::unique_ptr<reco::MuonCollection> outTracks = std::unique_ptr<reco::MuonCollection>(new reco::MuonCollection);
206  std::unique_ptr<reco::CaloMuonCollection> calomu =
207  std::unique_ptr<reco::CaloMuonCollection>(new reco::CaloMuonCollection); //not implemented so far
208 
209  edm::Handle<TrackToTrackMapnew> track_ref_map;
210  iEvent.getByToken(inputs_fixtrackrefs_, track_ref_map);
211 
213  iEvent.getByToken(inputs_fixtrackcol_, track_new_col);
214  std::map<reco::TrackRef, reco::TrackRef>
215  simple_track_to_track_map; //I didn't find a more elegant way, so just build a good old fassion std::map
216  for (unsigned abc = 0; abc < track_new_col->size(); ++abc) {
217  reco::TrackRef trackRef(track_new_col, abc);
218  simple_track_to_track_map[((*track_ref_map)[trackRef])[0]] = trackRef;
219  }
220 
221  std::vector<reco::MuonRef> muonRefColl;
222  reco::MuonRefProd outputMuonsRefProd = iEvent.getRefBeforePut<reco::MuonCollection>();
223  unsigned new_idx = 0;
224  for (auto akt_collection : to_merge) {
226  iEvent.getByToken(akt_collection, track_col_in);
227  unsigned old_idx = 0;
228  for (reco::MuonCollection::const_iterator it = track_col_in->begin(); it != track_col_in->end();
229  ++it, ++old_idx, ++new_idx) {
230  outTracks->push_back(reco::Muon(*it));
231  reco::MuonRef muRefold(track_col_in, old_idx);
232  muonRefColl.push_back(muRefold);
233  reco::MuonRef muRefnew(outputMuonsRefProd, new_idx);
234 
235  if (it->track().isNonnull()) {
236  //std::cout<<"pfmerge tr: "<<it->trackRef().id()<< " "<< it->trackRef().key()<< " " << simple_track_to_track_map[it->trackRef()].id() << " " << simple_track_to_track_map[it->trackRef()].key() <<std::endl;
237  outTracks->back().setTrack(simple_track_to_track_map[it->track()]);
238  }
239  }
240 
241  } // end merge
242 
243  const int nMuons = outTracks->size();
244 
245  std::vector<reco::MuonTimeExtra> dtTimeColl(nMuons);
246  std::vector<reco::MuonTimeExtra> cscTimeColl(nMuons);
247  std::vector<reco::MuonTimeExtra> combinedTimeColl(nMuons);
248  std::vector<reco::IsoDeposit> trackDepColl(nMuons);
249  std::vector<reco::IsoDeposit> ecalDepColl(nMuons);
250  std::vector<reco::IsoDeposit> hcalDepColl(nMuons);
251  std::vector<reco::IsoDeposit> hoDepColl(nMuons);
252  std::vector<reco::IsoDeposit> jetDepColl(nMuons);
253 
254  edm::OrphanHandle<reco::MuonCollection> muonHandle = iEvent.put(std::move(outTracks));
255 
256  auto fillMap = [](auto refH, auto& vec, edm::Event& ev, const std::string& cAl = "") {
258  std::unique_ptr<MapType> oMap(new MapType());
259  {
260  typename MapType::Filler filler(*oMap);
261  filler.insert(refH, vec.begin(), vec.end());
262  vec.clear();
263  filler.fill();
264  }
265  ev.put(std::move(oMap), cAl);
266  };
267 
268  fillMap(muonHandle, combinedTimeColl, iEvent, "combined");
269  fillMap(muonHandle, dtTimeColl, iEvent, "dt");
270  fillMap(muonHandle, cscTimeColl, iEvent, "csc");
271  fillMap(muonHandle, trackDepColl, iEvent, "tracker");
272  fillMap(muonHandle, ecalDepColl, iEvent, "ecal");
273  fillMap(muonHandle, hcalDepColl, iEvent, "hcal");
274  fillMap(muonHandle, hoDepColl, iEvent, "ho");
275  fillMap(muonHandle, jetDepColl, iEvent, "jets");
276  fillMap(muonHandle, muonRefColl, iEvent);
277  iEvent.put(std::move(calomu));
278 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
std::vector< CaloMuon > CaloMuonCollection
collection of Muon objects
Definition: MuonFwd.h:27
bool ev
edm::EDGetTokenT< reco::TrackCollection > inputs_fixtrackcol_
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
RefProd< PROD > getRefBeforePut()
Definition: Event.h:156
edm::EDGetTokenT< TrackToTrackMapnew > inputs_fixtrackrefs_
def move(src, dest)
Definition: eostools.py:511
template<>
void TrackMergeremb< reco::PFCandidateCollection >::merg_and_put ( edm::Event iEvent,
std::string  instance,
std::vector< edm::EDGetTokenT< reco::PFCandidateCollection > > &  to_merge 
)
private

Definition at line 295 of file TrackMergeremb.cc.

References DEFINE_FWK_MODULE, edm::Event::getByToken(), eostools::move(), and edm::Event::put().

296  {
297  std::unique_ptr<reco::PFCandidateCollection> outTracks =
298  std::unique_ptr<reco::PFCandidateCollection>(new reco::PFCandidateCollection);
299 
300  edm::Handle<TrackToTrackMapnew> track_ref_map;
301  iEvent.getByToken(inputs_fixtrackrefs_, track_ref_map);
302 
304  iEvent.getByToken(inputs_fixtrackcol_, track_new_col);
305  std::map<reco::TrackRef, reco::TrackRef>
306  simple_track_to_track_map; //I didn't find a more elegant way, so just build a good old fassion std::map
307  for (unsigned abc = 0; abc < track_new_col->size(); ++abc) {
308  reco::TrackRef trackRef(track_new_col, abc);
309  simple_track_to_track_map[((*track_ref_map)[trackRef])[0]] = trackRef;
310  }
311 
313  iEvent.getByToken(inputs_fixmurefs_, muon_ref_map);
314 
316  iEvent.getByToken(inputs_fixmucol_, muon_new_col);
317  std::map<reco::MuonRef, reco::MuonRef>
318  simple_mu_to_mu_map; //I didn't find a more elegant way, so just build a good old fassion std::map
319  for (unsigned abc = 0; abc < muon_new_col->size(); ++abc) {
320  reco::MuonRef muRef(muon_new_col, abc);
321  simple_mu_to_mu_map[(*muon_ref_map)[muRef]] = muRef;
322  }
323 
324  for (auto akt_collection : to_merge) {
326  iEvent.getByToken(akt_collection, track_col_in);
327  for (reco::PFCandidateCollection::const_iterator it = track_col_in->begin(); it != track_col_in->end(); ++it) {
328  outTracks->push_back(reco::PFCandidate(*it));
329  //if (fabs(it->pdgId()) == 13){
330  if (it->trackRef().isNonnull() && outTracks->back().charge()) {
331  //std::cout<<"pfmerge tr: "<<it->trackRef().id()<< " "<< it->trackRef().key()<< " " << simple_track_to_track_map[it->trackRef()].id() << " " << simple_track_to_track_map[it->trackRef()].key() <<std::endl;
332  outTracks->back().setTrackRef(simple_track_to_track_map[it->trackRef()]);
333  }
334  if (it->muonRef().isNonnull()) {
335  //std::cout<<"pfmerge mu: "<<it->muonRef().id()<< " "<< it->muonRef().key()<< " " << simple_mu_to_mu_map[it->muonRef()].id() << " " << simple_mu_to_mu_map[it->muonRef()].key() <<std::endl;
336  outTracks->back().setMuonRef(simple_mu_to_mu_map[it->muonRef()]);
337  }
338  }
339  } // end merge
340 
341  iEvent.put(std::move(outTracks), instance);
342 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:131
static PFTauRenderPlugin instance
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
edm::EDGetTokenT< reco::MuonToMuonMap > inputs_fixmurefs_
edm::EDGetTokenT< reco::TrackCollection > inputs_fixtrackcol_
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
edm::EDGetTokenT< reco::MuonCollection > inputs_fixmucol_
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
edm::EDGetTokenT< TrackToTrackMapnew > inputs_fixtrackrefs_
def move(src, dest)
Definition: eostools.py:511
template<typename T1 >
void TrackMergeremb< T1 >::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 80 of file TrackMergeremb.h.

References TrackMergeremb< T1 >::inputs_, and TrackMergeremb< T1 >::merg_and_put().

80  {
81  for (auto input_ : inputs_) {
82  merg_and_put(iEvent, input_.first, input_.second);
83 
84  } // end instance
85 }
std::map< std::string, std::vector< edm::EDGetTokenT< TrackCollectionemb > > > inputs_
void merg_and_put(edm::Event &, std::string, std::vector< edm::EDGetTokenT< TrackCollectionemb > > &)
template<typename T1 >
void TrackMergeremb< T1 >::willconsume ( const edm::ParameterSet iConfig)
private

Definition at line 53 of file TrackMergeremb.cc.

Referenced by TrackMergeremb< T1 >::TrackMergeremb().

53 {}
template<>
void TrackMergeremb< reco::MuonCollection >::willconsume ( const edm::ParameterSet iConfig)
private

Definition at line 197 of file TrackMergeremb.cc.

References HLT_2018_cff::InputTag.

197  {
198  inputs_fixtrackrefs_ = consumes<TrackToTrackMapnew>(edm::InputTag("generalTracks"));
199  inputs_fixtrackcol_ = consumes<reco::TrackCollection>(edm::InputTag("generalTracks"));
200 }
edm::EDGetTokenT< reco::TrackCollection > inputs_fixtrackcol_
edm::EDGetTokenT< TrackToTrackMapnew > inputs_fixtrackrefs_
template<>
void TrackMergeremb< reco::PFCandidateCollection >::willconsume ( const edm::ParameterSet iConfig)
private

Definition at line 287 of file TrackMergeremb.cc.

References HLT_2018_cff::InputTag.

287  {
288  inputs_fixtrackrefs_ = consumes<TrackToTrackMapnew>(edm::InputTag("generalTracks"));
289  inputs_fixtrackcol_ = consumes<reco::TrackCollection>(edm::InputTag("generalTracks"));
290  inputs_fixmurefs_ = consumes<reco::MuonToMuonMap>(edm::InputTag("muons1stStep"));
291  inputs_fixmucol_ = consumes<reco::MuonCollection>(edm::InputTag("muons1stStep"));
292 }
edm::EDGetTokenT< reco::MuonToMuonMap > inputs_fixmurefs_
edm::EDGetTokenT< reco::TrackCollection > inputs_fixtrackcol_
edm::EDGetTokenT< reco::MuonCollection > inputs_fixmucol_
edm::EDGetTokenT< TrackToTrackMapnew > inputs_fixtrackrefs_
template<typename T1 >
void TrackMergeremb< T1 >::willproduce ( std::string  instance,
std::string  alias 
)
private

Definition at line 48 of file TrackMergeremb.cc.

References instance.

Referenced by TrackMergeremb< T1 >::TrackMergeremb().

48  {
49  produces<TrackCollectionemb>(instance);
50 }
static PFTauRenderPlugin instance
template<>
void TrackMergeremb< reco::TrackCollection >::willproduce ( std::string  instance,
std::string  alias 
)
private

Definition at line 77 of file TrackMergeremb.cc.

References instance.

77  {
78  produces<reco::TrackCollection>(instance).setBranchAlias(alias + "Tracks");
79  produces<reco::TrackExtraCollection>(instance).setBranchAlias(alias + "TrackExtras");
80  produces<TrackingRecHitCollection>(instance).setBranchAlias(alias + "RecHits");
81  produces<TrackToTrackMapnew>();
82 }
static PFTauRenderPlugin instance
template<>
void TrackMergeremb< reco::GsfTrackCollection >::willproduce ( std::string  instance,
std::string  alias 
)
private

Definition at line 131 of file TrackMergeremb.cc.

References instance.

131  {
132  produces<reco::GsfTrackCollection>(instance).setBranchAlias(alias + "GsfTracks");
133  produces<reco::TrackExtraCollection>(instance).setBranchAlias(alias + "TrackExtras");
134  produces<reco::GsfTrackExtraCollection>(instance).setBranchAlias(alias + "GsfTrackExtras");
135  produces<TrackingRecHitCollection>(instance).setBranchAlias(alias + "RecHits");
136 }
static PFTauRenderPlugin instance
template<>
void TrackMergeremb< reco::MuonCollection >::willproduce ( std::string  instance,
std::string  alias 
)
private

Definition at line 179 of file TrackMergeremb.cc.

179  {
180  produces<reco::MuonCollection>();
181  produces<reco::CaloMuonCollection>();
182  produces<reco::MuonTimeExtraMap>("combined");
183  produces<reco::MuonTimeExtraMap>("dt");
184  produces<reco::MuonTimeExtraMap>("csc");
185 
186  // todo make this configurable (or not )
187  produces<reco::IsoDepositMap>("tracker");
188  produces<reco::IsoDepositMap>("ecal");
189  produces<reco::IsoDepositMap>("hcal");
190  produces<reco::IsoDepositMap>("ho");
191  produces<reco::IsoDepositMap>("jets");
192 
193  produces<reco::MuonToMuonMap>();
194 }
template<>
void TrackMergeremb< reco::PFCandidateCollection >::willproduce ( std::string  instance,
std::string  alias 
)
private

Definition at line 281 of file TrackMergeremb.cc.

References instance.

281  {
282  produces<reco::PFCandidateCollection>(instance);
283  // std::cout<<"Produce PF Collection: "<<instance<<std::endl;
284 }
static PFTauRenderPlugin instance

Member Data Documentation

template<typename T1 >
std::map<std::string, std::vector<edm::EDGetTokenT<TrackCollectionemb> > > TrackMergeremb< T1 >::inputs_
private
template<typename T1 >
edm::EDGetTokenT<reco::MuonCollection> TrackMergeremb< T1 >::inputs_fixmucol_
private

Definition at line 58 of file TrackMergeremb.h.

template<typename T1 >
edm::EDGetTokenT<reco::MuonToMuonMap> TrackMergeremb< T1 >::inputs_fixmurefs_
private

Definition at line 57 of file TrackMergeremb.h.

template<typename T1 >
edm::EDGetTokenT<reco::TrackCollection> TrackMergeremb< T1 >::inputs_fixtrackcol_
private

Definition at line 55 of file TrackMergeremb.h.

template<typename T1 >
edm::EDGetTokenT<TrackToTrackMapnew> TrackMergeremb< T1 >::inputs_fixtrackrefs_
private

Definition at line 54 of file TrackMergeremb.h.

template<typename T1 >
std::map<std::string, std::vector<edm::EDGetTokenT<edm::ValueMap<reco::MuonQuality> > > > TrackMergeremb< T1 >::inputs_qual_
private

Definition at line 49 of file TrackMergeremb.h.