CMS 3D CMS Logo

DoubleCollectionMerger.h
Go to the documentation of this file.
1 
7 #ifndef TauAnalysis_MCEmbeddingTools_DoubleCollectionMerger_H
8 #define TauAnalysis_MCEmbeddingTools_DoubleCollectionMerger_H
9 
15 
18 
19 #include <iostream>
20 #include <map>
21 #include <string>
22 
23 template <typename T1, typename T2, typename T3, typename T4>
25 public:
26  explicit DoubleCollectionMerger(const edm::ParameterSet &);
27  ~DoubleCollectionMerger() override;
28 
29 private:
30  void produce(edm::Event &, const edm::EventSetup &) override;
31 
32  typedef T1 MergeCollection1;
33  typedef T2 BaseHit1;
34  typedef T3 MergeCollection2;
35  typedef T4 BaseHit2;
36  std::map<std::string, std::vector<edm::EDGetTokenT<MergeCollection1>>> inputs1_;
37  std::map<std::string, std::vector<edm::EDGetTokenT<MergeCollection2>>> inputs2_;
38 
39  void fill_output_obj(std::unique_ptr<MergeCollection1> &output1,
40  std::vector<edm::Handle<MergeCollection1>> &inputCollections1);
41  void fill_output_obj(std::unique_ptr<MergeCollection2> &output2,
42  std::vector<edm::Handle<MergeCollection2>> &inputCollections2);
43  void fill_output_obj_digiflag(std::unique_ptr<MergeCollection1> &output,
44  std::vector<edm::Handle<MergeCollection1>> &inputCollections);
45  void fill_output_obj_digiflag(std::unique_ptr<MergeCollection2> &output,
46  std::vector<edm::Handle<MergeCollection2>> &inputCollections);
47  void fill_output_obj_hcaldigi(std::unique_ptr<MergeCollection1> &output,
48  std::vector<edm::Handle<MergeCollection1>> &inputCollections);
49  void fill_output_obj_hcaldigi(std::unique_ptr<MergeCollection2> &output,
50  std::vector<edm::Handle<MergeCollection2>> &inputCollections);
51 };
52 #endif
void fill_output_obj(std::unique_ptr< MergeCollection1 > &output1, std::vector< edm::Handle< MergeCollection1 >> &inputCollections1)
void produce(edm::Event &, const edm::EventSetup &) override
void fill_output_obj_digiflag(std::unique_ptr< MergeCollection1 > &output, std::vector< edm::Handle< MergeCollection1 >> &inputCollections)
std::map< std::string, std::vector< edm::EDGetTokenT< MergeCollection2 > > > inputs2_
DoubleCollectionMerger(const edm::ParameterSet &)
void fill_output_obj_hcaldigi(std::unique_ptr< MergeCollection1 > &output, std::vector< edm::Handle< MergeCollection1 >> &inputCollections)
Definition: output.py:1
std::map< std::string, std::vector< edm::EDGetTokenT< MergeCollection1 > > > inputs1_