File indexing completed on 2024-09-10 02:59:05
0001 #ifndef PileupMixingContent_h
0002 #define PileupMixingContent_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <vector>
0020 #include <string>
0021 #include <iostream>
0022 #include "DataFormats/Provenance/interface/EventID.h"
0023
0024 class PileupMixingContent {
0025 public:
0026 PileupMixingContent() {}
0027
0028 PileupMixingContent(std::vector<int>& bunchCrossing,
0029 std::vector<int>& n_interactions,
0030 std::vector<float>& True_interactions,
0031 std::vector<edm::EventID>& eventInfos,
0032 int bunchSpacing)
0033 : eventInfos_(eventInfos), bunchSpacing_(bunchSpacing) {
0034 bunchCrossing_.reserve(bunchCrossing.size());
0035 n_interactions_.reserve(bunchCrossing.size());
0036 n_TrueInteractions_.reserve(bunchCrossing.size());
0037
0038 for (int inter = 0; inter < (int)bunchCrossing.size(); ++inter) {
0039 bunchCrossing_.push_back(bunchCrossing[inter]);
0040 n_interactions_.push_back(n_interactions[inter]);
0041 n_TrueInteractions_.push_back(True_interactions[inter]);
0042 }
0043 };
0044
0045 PileupMixingContent(std::vector<int>& bunchCrossing, std::vector<int>& n_interactions) {
0046 bunchCrossing_.reserve(bunchCrossing.size());
0047 n_interactions_.reserve(bunchCrossing.size());
0048
0049 for (int inter = 0; inter < (int)bunchCrossing.size(); ++inter) {
0050 bunchCrossing_.push_back(bunchCrossing[inter]);
0051 n_interactions_.push_back(n_interactions[inter]);
0052 n_TrueInteractions_.push_back(-1.);
0053 }
0054 };
0055
0056 ~PileupMixingContent() {
0057 bunchCrossing_.clear();
0058 n_interactions_.clear();
0059 n_TrueInteractions_.clear();
0060 eventInfos_.clear();
0061 };
0062
0063 const std::vector<int>& getMix_Ninteractions() const { return n_interactions_; }
0064 const std::vector<float>& getMix_TrueInteractions() const { return n_TrueInteractions_; }
0065 const std::vector<int>& getMix_bunchCrossing() const { return bunchCrossing_; }
0066 const int& getMix_bunchSpacing() const { return bunchSpacing_; }
0067 const std::vector<edm::EventID> getMix_eventInfo() const { return eventInfos_; }
0068
0069 private:
0070
0071
0072 std::vector<int> bunchCrossing_;
0073 std::vector<int> n_interactions_;
0074 std::vector<float> n_TrueInteractions_;
0075 std::vector<edm::EventID> eventInfos_;
0076 int bunchSpacing_;
0077 };
0078
0079 #endif