38 template <
typename T1,
typename T2>
42 std::map<uint32_t, std::vector<BaseHit> > output_map;
45 for (
typename MergeCollection::const_iterator clustSet =
inputCollection->begin();
48 DetId detIdObject(clustSet->detId());
51 output_map[detIdObject.rawId()].push_back(*clustIt);
56 for (
typename std::map<uint32_t, std::vector<BaseHit> >::const_iterator outHits = output_map.begin();
57 outHits != output_map.end();
59 DetId detIdObject(outHits->first);
60 typename MergeCollection::FastFiller spc(*
output, detIdObject);
61 for (
const auto &
Hit : outHits->second) {
67 template <
typename T1,
typename T2>
70 std::map<uint32_t, BaseHit> output_map;
76 T2 *akt_calo_obj = &output_map[detIdObject.rawId()];
77 float new_energy = akt_calo_obj->energy() +
recHit->energy();
79 newRecHit.setEnergy(new_energy);
80 *akt_calo_obj = newRecHit;
84 for (
typename std::map<uint32_t, BaseHit>::const_iterator outHits = output_map.begin(); outHits != output_map.end();
86 output->push_back(outHits->second);
92 template <
typename T1,
typename T2>
95 std::map<uint32_t, std::vector<BaseHit> > output_map;
101 output_map[detIdObject].push_back(*
recHit);
105 for (
typename std::map<uint32_t, std::vector<BaseHit> >::const_iterator outHits = output_map.begin();
106 outHits != output_map.end();
109 outHits->second.begin(),
110 outHits->second.end());
115 template <
typename T1,
typename T2>
126 fill_output_obj_tracker(
output, inputCollections,
true);
132 fill_output_obj_tracker(
output, inputCollections);
139 fill_output_obj_calo(
output, inputCollections);
145 fill_output_obj_calo(
output, inputCollections);
151 fill_output_obj_calo(
output, inputCollections);
157 fill_output_obj_calo(
output, inputCollections);
163 fill_output_obj_calo(
output, inputCollections);
169 fill_output_obj_calo(
output, inputCollections);
176 fill_output_obj_muonchamber(
output, inputCollections);
182 fill_output_obj_muonchamber(
output, inputCollections);
188 fill_output_obj_muonchamber(
output, inputCollections);
CollectionMerger< edm::SortedCollection< HORecHit >, HORecHit > HORecHitColMerger
#define DEFINE_FWK_MODULE(type)
CollectionMerger< edm::SortedCollection< CastorRecHit >, CastorRecHit > CastorRecHitColMerger
data_type const * const_iterator
Container::value_type value_type
CollectionMerger< edmNew::DetSetVector< SiPixelCluster >, SiPixelCluster > PixelColMerger
void fill_output_obj_muonchamber(std::unique_ptr< MergeCollection > &output, std::vector< edm::Handle< MergeCollection > > &inputCollections)
void fill_output_obj_calo(std::unique_ptr< MergeCollection > &output, std::vector< edm::Handle< MergeCollection > > &inputCollections)
CollectionMerger< edm::SortedCollection< ZDCRecHit >, ZDCRecHit > ZDCRecHitColMerger
Pixel cluster – collection of neighboring pixels above threshold.
void fill_output_obj(std::unique_ptr< MergeCollection > &output, std::vector< edm::Handle< MergeCollection > > &inputCollections)
CollectionMerger< edmNew::DetSetVector< SiStripCluster >, SiStripCluster > StripColMerger
CollectionMerger< edm::RangeMap< DTLayerId, edm::OwnVector< DTRecHit1DPair > >, DTRecHit1DPair > DTRecHitColMerger
CollectionMerger< edm::RangeMap< CSCDetId, edm::OwnVector< CSCRecHit2D > >, CSCRecHit2D > CSCRecHitColMerger
CollectionMerger< edm::SortedCollection< HFRecHit >, HFRecHit > HFRecHitColMerger
CollectionMerger< edm::RangeMap< RPCDetId, edm::OwnVector< RPCRecHit > >, RPCRecHit > RPCRecHitColMerger
void fill_output_obj_tracker(std::unique_ptr< MergeCollection > &output, std::vector< edm::Handle< MergeCollection > > &inputCollections, bool print_pixel=false)
CollectionMerger< edm::SortedCollection< HBHERecHit >, HBHERecHit > HBHERecHitColMerger
CollectionMerger< edm::SortedCollection< EcalRecHit >, EcalRecHit > EcalRecHitColMerger