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 hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () 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::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)
 
template<>
void merg_and_put (edm::Event &iEvent, std::string instance, std::vector< edm::EDGetTokenT< reco::TrackCollection > > &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

◆ TrackCollectionemb

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

Definition at line 42 of file TrackMergeremb.h.

◆ TrackToTrackMapnew

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

Definition at line 52 of file TrackMergeremb.h.

Constructor & Destructor Documentation

◆ TrackMergeremb()

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

Definition at line 62 of file TrackMergeremb.h.

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 }

References SiStripOfflineCRack_cfg::alias, edm::ParameterSet::getParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~TrackMergeremb()

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

◆ merg_and_put() [1/5]

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 58 of file TrackMergeremb.cc.

60  {
61  std::unique_ptr<TrackCollectionemb> outTracks = std::unique_ptr<TrackCollectionemb>(new TrackCollectionemb);
62 
63  for (auto akt_collection : to_merge) {
65  iEvent.getByToken(akt_collection, track_col_in);
66 
67  size_t sedref_it = 0;
68  for (typename TrackCollectionemb::const_iterator it = track_col_in->begin(); it != track_col_in->end();
69  ++it, ++sedref_it) {
70  outTracks->push_back(typename T1::value_type(*it));
71  }
72 
73  } // end merge
74 
75  iEvent.put(std::move(outTracks), instance);
76 }

References iEvent, instance, and eostools::move().

◆ merg_and_put() [2/5]

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.

140  {
141  std::unique_ptr<reco::GsfTrackCollection> outTracks = std::make_unique<reco::GsfTrackCollection>();
142  std::unique_ptr<reco::TrackExtraCollection> outTracks_ex = std::make_unique<reco::TrackExtraCollection>();
143  std::unique_ptr<reco::GsfTrackExtraCollection> outTracks_exgsf = std::make_unique<reco::GsfTrackExtraCollection>();
144  std::unique_ptr<TrackingRecHitCollection> outTracks_rh = std::make_unique<TrackingRecHitCollection>();
145 
146  auto rTrackExtras = iEvent.getRefBeforePut<reco::TrackExtraCollection>();
147  auto rTrackExtras_gsf = iEvent.getRefBeforePut<reco::GsfTrackExtraCollection>();
148 
149  auto rHits = iEvent.getRefBeforePut<TrackingRecHitCollection>();
150 
151  for (auto akt_collection : to_merge) {
153  iEvent.getByToken(akt_collection, track_col_in);
154 
155  size_t sedref_it = 0;
156  for (reco::GsfTrackCollection::const_iterator it = track_col_in->begin(); it != track_col_in->end();
157  ++it, ++sedref_it) {
158  outTracks->push_back(reco::GsfTrack(*it));
159  outTracks_ex->push_back(reco::TrackExtra(*it->extra()));
160  outTracks_exgsf->push_back(reco::GsfTrackExtra(*it->gsfExtra()));
161 
162  outTracks->back().setExtra(reco::TrackExtraRef(rTrackExtras, outTracks_ex->size() - 1));
163  outTracks->back().setGsfExtra(reco::GsfTrackExtraRef(rTrackExtras_gsf, outTracks_exgsf->size() - 1));
164  }
165 
166  } // end merge
167 
168  iEvent.put(std::move(outTracks), instance);
169  iEvent.put(std::move(outTracks_ex), instance);
170  iEvent.put(std::move(outTracks_exgsf), instance);
171  iEvent.put(std::move(outTracks_rh), instance);
172 }

References iEvent, instance, and eostools::move().

◆ merg_and_put() [3/5]

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 199 of file TrackMergeremb.cc.

200  {
201  std::unique_ptr<reco::MuonCollection> outTracks = std::make_unique<reco::MuonCollection>();
202  std::unique_ptr<reco::CaloMuonCollection> calomu =
203  std::make_unique<reco::CaloMuonCollection>(); //not implemented so far
204 
205  edm::Handle<TrackToTrackMapnew> track_ref_map;
206  iEvent.getByToken(inputs_fixtrackrefs_, track_ref_map);
207 
209  iEvent.getByToken(inputs_fixtrackcol_, track_new_col);
210  std::map<reco::TrackRef, reco::TrackRef>
211  simple_track_to_track_map; //I didn't find a more elegant way, so just build a good old fassion std::map
212  for (unsigned abc = 0; abc < track_new_col->size(); ++abc) {
213  reco::TrackRef trackRef(track_new_col, abc);
214  simple_track_to_track_map[((*track_ref_map)[trackRef])[0]] = trackRef;
215  }
216 
217  std::vector<reco::MuonRef> muonRefColl;
218  reco::MuonRefProd outputMuonsRefProd = iEvent.getRefBeforePut<reco::MuonCollection>();
219  unsigned new_idx = 0;
220  for (auto akt_collection : to_merge) {
222  iEvent.getByToken(akt_collection, track_col_in);
223  unsigned old_idx = 0;
224  for (reco::MuonCollection::const_iterator it = track_col_in->begin(); it != track_col_in->end();
225  ++it, ++old_idx, ++new_idx) {
226  outTracks->push_back(reco::Muon(*it));
227  reco::MuonRef muRefold(track_col_in, old_idx);
228  muonRefColl.push_back(muRefold);
229  reco::MuonRef muRefnew(outputMuonsRefProd, new_idx);
230 
231  if (it->track().isNonnull()) {
232  //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;
233  outTracks->back().setTrack(simple_track_to_track_map[it->track()]);
234  }
235  }
236 
237  } // end merge
238 
239  const int nMuons = outTracks->size();
240 
241  std::vector<reco::MuonTimeExtra> dtTimeColl(nMuons);
242  std::vector<reco::MuonTimeExtra> cscTimeColl(nMuons);
243  std::vector<reco::MuonTimeExtra> combinedTimeColl(nMuons);
244  std::vector<reco::IsoDeposit> trackDepColl(nMuons);
245  std::vector<reco::IsoDeposit> ecalDepColl(nMuons);
246  std::vector<reco::IsoDeposit> hcalDepColl(nMuons);
247  std::vector<reco::IsoDeposit> hoDepColl(nMuons);
248  std::vector<reco::IsoDeposit> jetDepColl(nMuons);
249 
250  edm::OrphanHandle<reco::MuonCollection> muonHandle = iEvent.put(std::move(outTracks));
251 
252  auto fillMap = [](auto refH, auto& vec, edm::Event& ev, const std::string& cAl = "") {
253  typedef edm::ValueMap<typename std::decay<decltype(vec)>::type::value_type> MapType;
254  std::unique_ptr<MapType> oMap(new MapType());
255  {
256  typename MapType::Filler filler(*oMap);
257  filler.insert(refH, vec.begin(), vec.end());
258  vec.clear();
259  filler.fill();
260  }
261  ev.put(std::move(oMap), cAl);
262  };
263 
264  fillMap(muonHandle, combinedTimeColl, iEvent, "combined");
265  fillMap(muonHandle, dtTimeColl, iEvent, "dt");
266  fillMap(muonHandle, cscTimeColl, iEvent, "csc");
267  fillMap(muonHandle, trackDepColl, iEvent, "tracker");
268  fillMap(muonHandle, ecalDepColl, iEvent, "ecal");
269  fillMap(muonHandle, hcalDepColl, iEvent, "hcal");
270  fillMap(muonHandle, hoDepColl, iEvent, "ho");
271  fillMap(muonHandle, jetDepColl, iEvent, "jets");
272  fillMap(muonHandle, muonRefColl, iEvent);
273  iEvent.put(std::move(calomu));
274 }

References PA_ZEESkim_cff::decay, ev, trigObjTnPSource_cfi::filler, iEvent, eostools::move(), custom_jme_cff::nMuons, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ merg_and_put() [4/5]

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 291 of file TrackMergeremb.cc.

292  {
293  std::unique_ptr<reco::PFCandidateCollection> outTracks = std::make_unique<reco::PFCandidateCollection>();
294 
295  edm::Handle<TrackToTrackMapnew> track_ref_map;
296  iEvent.getByToken(inputs_fixtrackrefs_, track_ref_map);
297 
299  iEvent.getByToken(inputs_fixtrackcol_, track_new_col);
300  std::map<reco::TrackRef, reco::TrackRef>
301  simple_track_to_track_map; //I didn't find a more elegant way, so just build a good old fassion std::map
302  for (unsigned abc = 0; abc < track_new_col->size(); ++abc) {
303  reco::TrackRef trackRef(track_new_col, abc);
304  simple_track_to_track_map[((*track_ref_map)[trackRef])[0]] = trackRef;
305  }
306 
308  iEvent.getByToken(inputs_fixmurefs_, muon_ref_map);
309 
311  iEvent.getByToken(inputs_fixmucol_, muon_new_col);
312  std::map<reco::MuonRef, reco::MuonRef>
313  simple_mu_to_mu_map; //I didn't find a more elegant way, so just build a good old fassion std::map
314  for (unsigned abc = 0; abc < muon_new_col->size(); ++abc) {
315  reco::MuonRef muRef(muon_new_col, abc);
316  simple_mu_to_mu_map[(*muon_ref_map)[muRef]] = muRef;
317  }
318 
319  for (auto akt_collection : to_merge) {
321  iEvent.getByToken(akt_collection, track_col_in);
322  for (reco::PFCandidateCollection::const_iterator it = track_col_in->begin(); it != track_col_in->end(); ++it) {
323  outTracks->push_back(reco::PFCandidate(*it));
324  //if (fabs(it->pdgId()) == 13){
325  if (it->trackRef().isNonnull() && outTracks->back().charge()) {
326  //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;
327  outTracks->back().setTrackRef(simple_track_to_track_map[it->trackRef()]);
328  }
329  if (it->muonRef().isNonnull()) {
330  //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;
331  outTracks->back().setMuonRef(simple_mu_to_mu_map[it->muonRef()]);
332  }
333  }
334  } // end merge
335 
336  iEvent.put(std::move(outTracks), instance);
337 }

References iEvent, instance, and eostools::move().

◆ merg_and_put() [5/5]

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 87 of file TrackMergeremb.cc.

88  {
89  std::unique_ptr<reco::TrackCollection> outTracks = std::make_unique<reco::TrackCollection>();
90  std::unique_ptr<reco::TrackExtraCollection> outTracks_ex = std::make_unique<reco::TrackExtraCollection>();
91  std::unique_ptr<TrackingRecHitCollection> outTracks_rh = std::make_unique<TrackingRecHitCollection>();
92  std::unique_ptr<TrackToTrackMapnew> outTracks_refs = std::make_unique<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 }

References trigObjTnPSource_cfi::filler, iEvent, instance, eostools::move(), and edm::RefVector< C, T, F >::push_back().

◆ produce()

template<typename T1 >
void TrackMergeremb< T1 >::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 80 of file TrackMergeremb.h.

80  {
81  for (auto input_ : inputs_) {
82  merg_and_put(iEvent, input_.first, input_.second);
83 
84  } // end instance
85 }

References iEvent.

◆ willconsume() [1/3]

template<typename T1 >
void TrackMergeremb< T1 >::willconsume ( const edm::ParameterSet iConfig)
private

Definition at line 55 of file TrackMergeremb.cc.

55 {}

◆ willconsume() [2/3]

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

Definition at line 193 of file TrackMergeremb.cc.

193  {
194  inputs_fixtrackrefs_ = consumes<TrackToTrackMapnew>(edm::InputTag("generalTracks"));
195  inputs_fixtrackcol_ = consumes<reco::TrackCollection>(edm::InputTag("generalTracks"));
196 }

◆ willconsume() [3/3]

template<>
void TrackMergeremb< reco::PFCandidateCollection >::willconsume ( const edm::ParameterSet iConfig)
private

Definition at line 283 of file TrackMergeremb.cc.

283  {
284  inputs_fixtrackrefs_ = consumes<TrackToTrackMapnew>(edm::InputTag("generalTracks"));
285  inputs_fixtrackcol_ = consumes<reco::TrackCollection>(edm::InputTag("generalTracks"));
286  inputs_fixmurefs_ = consumes<reco::MuonToMuonMap>(edm::InputTag("muons1stStep"));
287  inputs_fixmucol_ = consumes<reco::MuonCollection>(edm::InputTag("muons1stStep"));
288 }

◆ willproduce() [1/5]

template<typename T1 >
void TrackMergeremb< T1 >::willproduce ( std::string  instance,
std::string  alias 
)
private

Definition at line 50 of file TrackMergeremb.cc.

50  {
51  produces<TrackCollectionemb>(instance);
52 }

References instance.

◆ willproduce() [2/5]

template<>
void TrackMergeremb< reco::TrackCollection >::willproduce ( std::string  instance,
std::string  alias 
)
private

Definition at line 79 of file TrackMergeremb.cc.

79  {
80  produces<reco::TrackCollection>(instance).setBranchAlias(alias + "Tracks");
81  produces<reco::TrackExtraCollection>(instance).setBranchAlias(alias + "TrackExtras");
82  produces<TrackingRecHitCollection>(instance).setBranchAlias(alias + "RecHits");
83  produces<TrackToTrackMapnew>();
84 }

References SiStripOfflineCRack_cfg::alias, and instance.

◆ willproduce() [3/5]

template<>
void TrackMergeremb< reco::GsfTrackCollection >::willproduce ( std::string  instance,
std::string  alias 
)
private

Definition at line 131 of file TrackMergeremb.cc.

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 }

References SiStripOfflineCRack_cfg::alias, and instance.

◆ willproduce() [4/5]

template<>
void TrackMergeremb< reco::MuonCollection >::willproduce ( std::string  instance,
std::string  alias 
)
private

Definition at line 175 of file TrackMergeremb.cc.

175  {
176  produces<reco::MuonCollection>();
177  produces<reco::CaloMuonCollection>();
178  produces<reco::MuonTimeExtraMap>("combined");
179  produces<reco::MuonTimeExtraMap>("dt");
180  produces<reco::MuonTimeExtraMap>("csc");
181 
182  // todo make this configurable (or not )
183  produces<reco::IsoDepositMap>("tracker");
184  produces<reco::IsoDepositMap>("ecal");
185  produces<reco::IsoDepositMap>("hcal");
186  produces<reco::IsoDepositMap>("ho");
187  produces<reco::IsoDepositMap>("jets");
188 
189  produces<reco::MuonToMuonMap>();
190 }

◆ willproduce() [5/5]

template<>
void TrackMergeremb< reco::PFCandidateCollection >::willproduce ( std::string  instance,
std::string  alias 
)
private

Definition at line 277 of file TrackMergeremb.cc.

277  {
278  produces<reco::PFCandidateCollection>(instance);
279  // std::cout<<"Produce PF Collection: "<<instance<<std::endl;
280 }

References instance.

Member Data Documentation

◆ inputs_

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

Definition at line 48 of file TrackMergeremb.h.

◆ inputs_fixmucol_

template<typename T1 >
edm::EDGetTokenT<reco::MuonCollection> TrackMergeremb< T1 >::inputs_fixmucol_
private

Definition at line 58 of file TrackMergeremb.h.

◆ inputs_fixmurefs_

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

Definition at line 57 of file TrackMergeremb.h.

◆ inputs_fixtrackcol_

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

Definition at line 55 of file TrackMergeremb.h.

◆ inputs_fixtrackrefs_

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

Definition at line 54 of file TrackMergeremb.h.

◆ inputs_qual_

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.

edm::RefProd< MuonCollection >
TrackMergeremb::inputs_fixmurefs_
edm::EDGetTokenT< reco::MuonToMuonMap > inputs_fixmurefs_
Definition: TrackMergeremb.h:57
custom_jme_cff.nMuons
nMuons
Definition: custom_jme_cff.py:148
TrackMergeremb::willconsume
void willconsume(const edm::ParameterSet &iConfig)
Definition: TrackMergeremb.cc:55
TrackMergeremb::inputs_
std::map< std::string, std::vector< edm::EDGetTokenT< TrackCollectionemb > > > inputs_
Definition: TrackMergeremb.h:48
TrackMergeremb::inputs_fixtrackrefs_
edm::EDGetTokenT< TrackToTrackMapnew > inputs_fixtrackrefs_
Definition: TrackMergeremb.h:54
reco::GsfTrackExtraCollection
std::vector< GsfTrackExtra > GsfTrackExtraCollection
collection of GsfTrackExtra objects
Definition: GsfTrackExtraFwd.h:9
edm::RefVector< TrackCollection >
edm::Handle
Definition: AssociativeIterator.h:50
reco::Muon
Definition: Muon.h:27
edm::Ref< TrackExtraCollection >
reco::TrackExtra
Definition: TrackExtra.h:26
TrackMergeremb::inputs_fixmucol_
edm::EDGetTokenT< reco::MuonCollection > inputs_fixmucol_
Definition: TrackMergeremb.h:58
reco::GsfTrack
Definition: GsfTrack.h:12
reco::MuonCollection
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
reco::Track
Definition: Track.h:27
reco::TrackExtraCollection
std::vector< TrackExtra > TrackExtraCollection
collection of TrackExtra objects
Definition: TrackExtraFwd.h:10
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TrackMergeremb::willproduce
void willproduce(std::string instance, std::string alias)
Definition: TrackMergeremb.cc:50
trigObjTnPSource_cfi.filler
filler
Definition: trigObjTnPSource_cfi.py:21
TrackMergeremb::inputs_fixtrackcol_
edm::EDGetTokenT< reco::TrackCollection > inputs_fixtrackcol_
Definition: TrackMergeremb.h:55
iEvent
int iEvent
Definition: GenABIO.cc:224
edm::ValueMap::Filler
helper::Filler< ValueMap< T > > Filler
Definition: ValueMap.h:168
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition: JetExtendedAssociation.h:30
edm::RefVector::push_back
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
Definition: RefVector.h:67
instance
static PFTauRenderPlugin instance
Definition: PFTauRenderPlugin.cc:70
PA_ZEESkim_cff.decay
decay
Definition: PA_ZEESkim_cff.py:26
eostools.move
def move(src, dest)
Definition: eostools.py:511
edm::OrphanHandle
Definition: EDProductfwd.h:39
edm::ValueMap
Definition: ValueMap.h:107
SiStripOfflineCRack_cfg.alias
alias
Definition: SiStripOfflineCRack_cfg.py:128
ev
bool ev
Definition: Hydjet2Hadronizer.cc:95
TrackMergeremb::TrackCollectionemb
T1 TrackCollectionemb
Definition: TrackMergeremb.h:42
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
reco::GsfTrackExtra
Definition: GsfTrackExtra.h:16
edm::Event
Definition: Event.h:73
edm::InputTag
Definition: InputTag.h:15
TrackMergeremb::merg_and_put
void merg_and_put(edm::Event &, std::string, std::vector< edm::EDGetTokenT< TrackCollectionemb > > &)
Definition: TrackMergeremb.cc:58
edm::OwnVector< TrackingRecHit >