diff --git a/DataFormats/HLTReco/src/classes_def.xml b/DataFormats/HLTReco/src/classes_def.xml
index ae2e7dd188a94..4d35592dc998c 100644
--- a/DataFormats/HLTReco/src/classes_def.xml
+++ b/DataFormats/HLTReco/src/classes_def.xml
@@ -37,32 +37,27 @@
-
+
-
+
+
-
-
-
-
-
-
-
-
+
+
-
+
diff --git a/DataFormats/HcalIsolatedTrack/src/classes_def.xml b/DataFormats/HcalIsolatedTrack/src/classes_def.xml
index d304711d65c60..223b57b525480 100644
--- a/DataFormats/HcalIsolatedTrack/src/classes_def.xml
+++ b/DataFormats/HcalIsolatedTrack/src/classes_def.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/DataFormats/L1TCalorimeter/interface/CaloCluster.h b/DataFormats/L1TCalorimeter/interface/CaloCluster.h
index 88a9f5c9f6944..734c5129aa6b0 100644
--- a/DataFormats/L1TCalorimeter/interface/CaloCluster.h
+++ b/DataFormats/L1TCalorimeter/interface/CaloCluster.h
@@ -5,76 +5,77 @@
#include "DataFormats/L1Trigger/interface/BXVector.h"
namespace l1t {
+ namespace io_v1 {
+ class CaloCluster : public L1Candidate {
+ public:
+ enum ClusterFlag {
+ INCLUDE_SEED = 0,
+ INCLUDE_NW = 1,
+ INCLUDE_N = 2,
+ INCLUDE_NE = 3,
+ INCLUDE_E = 4,
+ INCLUDE_SE = 5,
+ INCLUDE_S = 6,
+ INCLUDE_SW = 7,
+ INCLUDE_W = 8,
+ INCLUDE_NN = 9,
+ INCLUDE_SS = 10,
+ TRIM_LEFT = 11,
+ IS_SECONDARY = 12,
+ MERGE_UPDOWN = 13, // 0=up, 1=down
+ MERGE_LEFTRIGHT = 14 // 0=left, 1=right
+ };
- class CaloCluster : public L1Candidate {
- public:
- enum ClusterFlag {
- INCLUDE_SEED = 0,
- INCLUDE_NW = 1,
- INCLUDE_N = 2,
- INCLUDE_NE = 3,
- INCLUDE_E = 4,
- INCLUDE_SE = 5,
- INCLUDE_S = 6,
- INCLUDE_SW = 7,
- INCLUDE_W = 8,
- INCLUDE_NN = 9,
- INCLUDE_SS = 10,
- TRIM_LEFT = 11,
- IS_SECONDARY = 12,
- MERGE_UPDOWN = 13, // 0=up, 1=down
- MERGE_LEFTRIGHT = 14 // 0=left, 1=right
- };
-
- public:
- CaloCluster() {}
- CaloCluster(const LorentzVector p4, int pt = 0, int eta = 0, int phi = 0);
+ public:
+ CaloCluster() {}
+ CaloCluster(const LorentzVector p4, int pt = 0, int eta = 0, int phi = 0);
- ~CaloCluster() override;
+ ~CaloCluster() override;
- void setClusterFlag(ClusterFlag flag, bool val = true);
- void setHwPtEm(int pt);
- void setHwPtHad(int pt);
- void setHwSeedPt(int pt);
- void setFgEta(int fgEta);
- void setFgPhi(int fgPhi);
- void setHOverE(int hOverE);
- void setFgECAL(int fgECAL);
+ void setClusterFlag(ClusterFlag flag, bool val = true);
+ void setHwPtEm(int pt);
+ void setHwPtHad(int pt);
+ void setHwSeedPt(int pt);
+ void setFgEta(int fgEta);
+ void setFgPhi(int fgPhi);
+ void setHOverE(int hOverE);
+ void setFgECAL(int fgECAL);
- bool checkClusterFlag(ClusterFlag flag) const;
- bool isValid() const;
- int hwPtEm() const;
- int hwPtHad() const;
- int hwSeedPt() const;
- int fgEta() const;
- int fgPhi() const;
- int hOverE() const;
- int fgECAL() const;
- int clusterFlags() const { return m_clusterFlags; }
+ bool checkClusterFlag(ClusterFlag flag) const;
+ bool isValid() const;
+ int hwPtEm() const;
+ int hwPtHad() const;
+ int hwSeedPt() const;
+ int fgEta() const;
+ int fgPhi() const;
+ int hOverE() const;
+ int fgECAL() const;
+ int clusterFlags() const { return m_clusterFlags; }
- bool operator<(const CaloCluster& cl) const;
- bool operator>(const CaloCluster& cl) const { return cl < *this; };
- bool operator<=(const CaloCluster& cl) const { return !(cl > *this); };
- bool operator>=(const CaloCluster& cl) const { return !(cl < *this); };
+ bool operator<(const CaloCluster& cl) const;
+ bool operator>(const CaloCluster& cl) const { return cl < *this; };
+ bool operator<=(const CaloCluster& cl) const { return !(cl > *this); };
+ bool operator>=(const CaloCluster& cl) const { return !(cl < *this); };
- private:
- // Summary of clustering outcomes
- int m_clusterFlags{0}; // see ClusterFlag bits (15 bits, will evolve)
+ private:
+ // Summary of clustering outcomes
+ int m_clusterFlags{0}; // see ClusterFlag bits (15 bits, will evolve)
- // Energies
- int m_hwPtEm{0};
- int m_hwPtHad{0};
- int m_hwSeedPt{0};
+ // Energies
+ int m_hwPtEm{0};
+ int m_hwPtHad{0};
+ int m_hwSeedPt{0};
- // fine grained position
- int m_fgEta{0}; // 2 bits (to be defined in agreement with GT inputs)
- int m_fgPhi{0}; // 2 bits (to be defined in agreement with GT inputs)
-
- // identification variables
- int m_hOverE{0}; // 8 bits (between 0 and 1 -> resolution=1/256=0.39%). Number of bits is not definitive
- int m_fgECAL{0}; // FG bit of the seed tower
- };
+ // fine grained position
+ int m_fgEta{0}; // 2 bits (to be defined in agreement with GT inputs)
+ int m_fgPhi{0}; // 2 bits (to be defined in agreement with GT inputs)
+ // identification variables
+ int m_hOverE{0}; // 8 bits (between 0 and 1 -> resolution=1/256=0.39%). Number of bits is not definitive
+ int m_fgECAL{0}; // FG bit of the seed tower
+ };
+ } // namespace io_v1
+ using CaloCluster = io_v1::CaloCluster;
typedef BXVector CaloClusterBxCollection;
} // namespace l1t
diff --git a/DataFormats/L1TCalorimeter/interface/CaloTower.h b/DataFormats/L1TCalorimeter/interface/CaloTower.h
index b932b35e22acf..258d647b12a99 100644
--- a/DataFormats/L1TCalorimeter/interface/CaloTower.h
+++ b/DataFormats/L1TCalorimeter/interface/CaloTower.h
@@ -6,49 +6,51 @@
namespace l1t {
- class CaloTower;
- typedef BXVector CaloTowerBxCollection;
-
- class CaloTower : public L1Candidate {
- public:
- CaloTower() : etEm_(0.), etHad_(0.), hwEtEm_(0), hwEtHad_(0), hwEtRatio_(0) {}
-
- CaloTower(const LorentzVector& p4,
- double etEm = 0.,
- double etHad = 0.,
- int pt = 0,
- int eta = 0,
- int phi = 0,
- int qual = 0,
- int hwEtEm = 0,
- int hwEtHad = 0,
- int hwEtRatio = 0);
-
- ~CaloTower() override;
-
- void setEtEm(double et);
- void setEtHad(double et);
-
- void setHwEtEm(int et);
- void setHwEtHad(int et);
- void setHwEtRatio(int ratio);
-
- double etEm() const;
- double etHad() const;
-
- int hwEtEm() const;
- int hwEtHad() const;
- int hwEtRatio() const;
-
- private:
- // additional hardware quantities
- double etEm_;
- double etHad_;
-
- int hwEtEm_;
- int hwEtHad_;
- int hwEtRatio_;
- };
+ namespace io_v1 {
+ class CaloTower : public L1Candidate {
+ public:
+ CaloTower() : etEm_(0.), etHad_(0.), hwEtEm_(0), hwEtHad_(0), hwEtRatio_(0) {}
+
+ CaloTower(const LorentzVector& p4,
+ double etEm = 0.,
+ double etHad = 0.,
+ int pt = 0,
+ int eta = 0,
+ int phi = 0,
+ int qual = 0,
+ int hwEtEm = 0,
+ int hwEtHad = 0,
+ int hwEtRatio = 0);
+
+ ~CaloTower() override;
+
+ void setEtEm(double et);
+ void setEtHad(double et);
+
+ void setHwEtEm(int et);
+ void setHwEtHad(int et);
+ void setHwEtRatio(int ratio);
+
+ double etEm() const;
+ double etHad() const;
+
+ int hwEtEm() const;
+ int hwEtHad() const;
+ int hwEtRatio() const;
+
+ private:
+ // additional hardware quantities
+ double etEm_;
+ double etHad_;
+
+ int hwEtEm_;
+ int hwEtHad_;
+ int hwEtRatio_;
+ };
+ } // namespace io_v1
+ using CaloTower = io_v1::CaloTower;
+
+ using CaloTowerBxCollection = BXVector;
} // namespace l1t
diff --git a/DataFormats/L1TCalorimeter/src/classes_def.xml b/DataFormats/L1TCalorimeter/src/classes_def.xml
index ca48fe424fd0d..d960b67741cc5 100644
--- a/DataFormats/L1TCalorimeter/src/classes_def.xml
+++ b/DataFormats/L1TCalorimeter/src/classes_def.xml
@@ -9,13 +9,17 @@
-
-
+
+
+
+
-
-
+
+
+
+
diff --git a/DataFormats/L1TCalorimeterPhase2/src/classes_def.xml b/DataFormats/L1TCalorimeterPhase2/src/classes_def.xml
index 7e82060cd986b..7e2ccb76cc9b0 100644
--- a/DataFormats/L1TCalorimeterPhase2/src/classes_def.xml
+++ b/DataFormats/L1TCalorimeterPhase2/src/classes_def.xml
@@ -5,7 +5,7 @@
-
+
@@ -13,14 +13,14 @@
-
+
-
+
@@ -35,7 +35,7 @@
-
+
@@ -71,7 +71,7 @@
-
+
diff --git a/DataFormats/L1TCorrelator/interface/TkElectron.h b/DataFormats/L1TCorrelator/interface/TkElectron.h
index 29a1df62b023b..d0b370d763002 100644
--- a/DataFormats/L1TCorrelator/interface/TkElectron.h
+++ b/DataFormats/L1TCorrelator/interface/TkElectron.h
@@ -19,44 +19,46 @@
#include
namespace l1t {
+ namespace io_v1 {
+ class TkElectron : public TkEm {
+ public:
+ typedef TTTrack L1TTTrackType;
+ typedef std::vector L1TTTrackCollection;
- class TkElectron : public TkEm {
- public:
- typedef TTTrack L1TTTrackType;
- typedef std::vector L1TTTrackCollection;
+ TkElectron();
- TkElectron();
+ TkElectron(const LorentzVector& p4,
+ const edm::Ptr& egCaloPtr,
+ const edm::Ptr& trkPtr,
+ float tkisol = -999.);
- TkElectron(const LorentzVector& p4,
- const edm::Ptr& egCaloPtr,
- const edm::Ptr& trkPtr,
- float tkisol = -999.);
+ TkElectron(const LorentzVector& p4, float tkisol = -999.);
- TkElectron(const LorentzVector& p4, float tkisol = -999.);
+ // ---------- const member functions ---------------------
- // ---------- const member functions ---------------------
+ const edm::Ptr& trkPtr() const { return trkPtr_; }
- const edm::Ptr& trkPtr() const { return trkPtr_; }
+ float trkzVtx() const { return trkzVtx_; }
+ float idScore() const { return idScore_; }
+ // ---------- member functions ---------------------------
- float trkzVtx() const { return trkzVtx_; }
- float idScore() const { return idScore_; }
- // ---------- member functions ---------------------------
+ void setTrkPtr(const edm::Ptr& tkPtr) { trkPtr_ = tkPtr; }
+ void setTrkzVtx(float TrkzVtx) { trkzVtx_ = TrkzVtx; }
+ void setIdScore(float score) { idScore_ = score; }
- void setTrkPtr(const edm::Ptr& tkPtr) { trkPtr_ = tkPtr; }
- void setTrkzVtx(float TrkzVtx) { trkzVtx_ = TrkzVtx; }
- void setIdScore(float score) { idScore_ = score; }
-
- l1gt::Electron hwObj() const {
- if (encoding() != HWEncoding::GT) {
- throw cms::Exception("RuntimeError") << "TkElectron::hwObj : encoding is not in GT format!" << std::endl;
+ l1gt::Electron hwObj() const {
+ if (encoding() != HWEncoding::GT) {
+ throw cms::Exception("RuntimeError") << "TkElectron::hwObj : encoding is not in GT format!" << std::endl;
+ }
+ return l1gt::Electron::unpack_ap(egBinaryWord());
}
- return l1gt::Electron::unpack_ap(egBinaryWord());
- }
-
- private:
- edm::Ptr trkPtr_;
- float trkzVtx_;
- float idScore_;
- };
+
+ private:
+ edm::Ptr trkPtr_;
+ float trkzVtx_;
+ float idScore_;
+ };
+ } // namespace io_v1
+ using TkElectron = io_v1::TkElectron;
} // namespace l1t
#endif
diff --git a/DataFormats/L1TCorrelator/interface/TkElectronFwd.h b/DataFormats/L1TCorrelator/interface/TkElectronFwd.h
index afef20cfa5da5..53ce87783c290 100644
--- a/DataFormats/L1TCorrelator/interface/TkElectronFwd.h
+++ b/DataFormats/L1TCorrelator/interface/TkElectronFwd.h
@@ -13,7 +13,10 @@
#include "DataFormats/L1Trigger/interface/RegionalOutput.h"
namespace l1t {
- class TkElectron;
+ namespace io_v1 {
+ class TkElectron;
+ }
+ using TkElectron = io_v1::TkElectron;
typedef std::vector TkElectronCollection;
diff --git a/DataFormats/L1TCorrelator/interface/TkEm.h b/DataFormats/L1TCorrelator/interface/TkEm.h
index 051a324a8e082..aff9bb1ae4a26 100644
--- a/DataFormats/L1TCorrelator/interface/TkEm.h
+++ b/DataFormats/L1TCorrelator/interface/TkEm.h
@@ -19,73 +19,75 @@
#include
namespace l1t {
+ namespace io_v1 {
+ class TkEm : public L1Candidate {
+ public:
+ TkEm();
- class TkEm : public L1Candidate {
- public:
- TkEm();
+ TkEm(const LorentzVector& p4, float tkisol = -999., float tkisolPV = -999);
- TkEm(const LorentzVector& p4, float tkisol = -999., float tkisolPV = -999);
+ TkEm(const LorentzVector& p4, const edm::Ptr& egCaloPtr, float tkisol = -999., float tkisolPV = -999);
- TkEm(const LorentzVector& p4, const edm::Ptr& egCaloPtr, float tkisol = -999., float tkisolPV = -999);
+ enum class HWEncoding { None, CT, GT };
- enum class HWEncoding { None, CT, GT };
+ // ---------- const member functions ---------------------
- // ---------- const member functions ---------------------
+ const edm::Ptr& egCaloPtr() const { return egCaloPtr_; }
- const edm::Ptr& egCaloPtr() const { return egCaloPtr_; }
+ float trkIsol() const { return trkIsol_; } // not constrained to the PV, just track ptSum
+ float trkIsolPV() const { return trkIsolPV_; } // constrained to the PV by DZ
+ float pfIsol() const { return pfIsol_; } // not constrained to the PV, just track ptSum
+ float pfIsolPV() const { return pfIsolPV_; } // constrained to the PV by DZ
+ float puppiIsol() const { return puppiIsol_; } // not constrained to the PV, just track ptSum
+ float puppiIsolPV() const { return puppiIsolPV_; } // constrained to the PV by DZ
- float trkIsol() const { return trkIsol_; } // not constrained to the PV, just track ptSum
- float trkIsolPV() const { return trkIsolPV_; } // constrained to the PV by DZ
- float pfIsol() const { return pfIsol_; } // not constrained to the PV, just track ptSum
- float pfIsolPV() const { return pfIsolPV_; } // constrained to the PV by DZ
- float puppiIsol() const { return puppiIsol_; } // not constrained to the PV, just track ptSum
- float puppiIsolPV() const { return puppiIsolPV_; } // constrained to the PV by DZ
+ // ---------- member functions ---------------------------
- // ---------- member functions ---------------------------
+ void setTrkIsol(float TrkIsol) { trkIsol_ = TrkIsol; }
+ void setTrkIsolPV(float TrkIsolPV) { trkIsolPV_ = TrkIsolPV; }
+ void setPFIsol(float pfIsol) { pfIsol_ = pfIsol; }
+ void setPFIsolPV(float pfIsolPV) { pfIsolPV_ = pfIsolPV; }
+ void setPuppiIsol(float puppiIsol) { puppiIsol_ = puppiIsol; }
+ void setPuppiIsolPV(float puppiIsolPV) { puppiIsolPV_ = puppiIsolPV; }
+ void setEgCaloPtr(const edm::Ptr& egPtr) { egCaloPtr_ = egPtr; }
- void setTrkIsol(float TrkIsol) { trkIsol_ = TrkIsol; }
- void setTrkIsolPV(float TrkIsolPV) { trkIsolPV_ = TrkIsolPV; }
- void setPFIsol(float pfIsol) { pfIsol_ = pfIsol; }
- void setPFIsolPV(float pfIsolPV) { pfIsolPV_ = pfIsolPV; }
- void setPuppiIsol(float puppiIsol) { puppiIsol_ = puppiIsol; }
- void setPuppiIsolPV(float puppiIsolPV) { puppiIsolPV_ = puppiIsolPV; }
- void setEgCaloPtr(const edm::Ptr& egPtr) { egCaloPtr_ = egPtr; }
+ template
+ void setEgBinaryWord(ap_uint word, HWEncoding encoding) {
+ egBinaryWord0_ = word;
+ egBinaryWord1_ = (word >> 32);
+ egBinaryWord2_ = (word >> 64);
+ encoding_ = encoding;
+ }
- template
- void setEgBinaryWord(ap_uint word, HWEncoding encoding) {
- egBinaryWord0_ = word;
- egBinaryWord1_ = (word >> 32);
- egBinaryWord2_ = (word >> 64);
- encoding_ = encoding;
- }
+ l1gt::Photon hwObj() const {
+ if (encoding() != HWEncoding::GT) {
+ throw cms::Exception("RuntimeError") << "TkEm::hwObj : encoding is not in GT format!" << std::endl;
+ }
+ return l1gt::Photon::unpack_ap(egBinaryWord());
+ }
- l1gt::Photon hwObj() const {
- if (encoding() != HWEncoding::GT) {
- throw cms::Exception("RuntimeError") << "TkEm::hwObj : encoding is not in GT format!" << std::endl;
+ template
+ ap_uint egBinaryWord() const {
+ return ap_uint(egBinaryWord0_) | (ap_uint(egBinaryWord1_) << 32) | (ap_uint(egBinaryWord2_) << 64);
}
- return l1gt::Photon::unpack_ap(egBinaryWord());
- }
-
- template
- ap_uint egBinaryWord() const {
- return ap_uint(egBinaryWord0_) | (ap_uint(egBinaryWord1_) << 32) | (ap_uint(egBinaryWord2_) << 64);
- }
-
- HWEncoding encoding() const { return encoding_; }
-
- private:
- edm::Ptr egCaloPtr_;
- float trkIsol_;
- float trkIsolPV_;
- float pfIsol_;
- float pfIsolPV_;
- float puppiIsol_;
- float puppiIsolPV_;
- uint32_t egBinaryWord0_;
- uint32_t egBinaryWord1_;
- uint32_t egBinaryWord2_;
- HWEncoding encoding_;
- };
+
+ HWEncoding encoding() const { return encoding_; }
+
+ private:
+ edm::Ptr egCaloPtr_;
+ float trkIsol_;
+ float trkIsolPV_;
+ float pfIsol_;
+ float pfIsolPV_;
+ float puppiIsol_;
+ float puppiIsolPV_;
+ uint32_t egBinaryWord0_;
+ uint32_t egBinaryWord1_;
+ uint32_t egBinaryWord2_;
+ HWEncoding encoding_;
+ };
+ } // namespace io_v1
+ using TkEm = io_v1::TkEm;
} // namespace l1t
#endif
diff --git a/DataFormats/L1TCorrelator/interface/TkEmFwd.h b/DataFormats/L1TCorrelator/interface/TkEmFwd.h
index 8a190eec390ff..8e3e2b932068e 100644
--- a/DataFormats/L1TCorrelator/interface/TkEmFwd.h
+++ b/DataFormats/L1TCorrelator/interface/TkEmFwd.h
@@ -14,7 +14,10 @@
namespace l1t {
- class TkEm;
+ namespace io_v1 {
+ class TkEm;
+ }
+ using TkEm = io_v1::TkEm;
typedef std::vector TkEmCollection;
diff --git a/DataFormats/L1TCorrelator/interface/TkEtMiss.h b/DataFormats/L1TCorrelator/interface/TkEtMiss.h
index 8fdcd13246938..b7454fcafdcfc 100644
--- a/DataFormats/L1TCorrelator/interface/TkEtMiss.h
+++ b/DataFormats/L1TCorrelator/interface/TkEtMiss.h
@@ -6,60 +6,63 @@
#include "DataFormats/L1Trigger/interface/VertexWord.h"
namespace l1t {
- class TkEtMiss : public L1Candidate {
- public:
- enum EtMissType { kMET, kMHT, kNumTypes };
- TkEtMiss();
- TkEtMiss(const LorentzVector& p4,
- EtMissType type,
- const double& etTotal,
- const double& etMissPU,
- const double& etTotalPU,
- const edm::Ref& aVtxRef = edm::Ref(),
- int bx = 0);
+ namespace io_v1 {
+ class TkEtMiss : public L1Candidate {
+ public:
+ enum EtMissType { kMET, kMHT, kNumTypes };
+ TkEtMiss();
+ TkEtMiss(const LorentzVector& p4,
+ EtMissType type,
+ const double& etTotal,
+ const double& etMissPU,
+ const double& etTotalPU,
+ const edm::Ref& aVtxRef = edm::Ref(),
+ int bx = 0);
- TkEtMiss(const LorentzVector& p4,
- EtMissType type,
- const double& etTotal,
- const double& etMissPU,
- const double& etTotalPU,
- int bx = 0);
+ TkEtMiss(const LorentzVector& p4,
+ EtMissType type,
+ const double& etTotal,
+ const double& etMissPU,
+ const double& etTotalPU,
+ int bx = 0);
- TkEtMiss(const LorentzVector& p4, EtMissType type, const double& EtPhi, const int& NumTracks, int bx = 0);
+ TkEtMiss(const LorentzVector& p4, EtMissType type, const double& EtPhi, const int& NumTracks, int bx = 0);
- // ---------- const member functions ---------------------
- EtMissType type() const { return type_; } // kMET or kMHT
- // For type = kMET, this is |MET|; for type = kMHT, this is |MHT|
- double etMiss() const { return et(); }
- // For type = kMET, this is total ET; for type = kMHT, this is total HT
- double etTotal() const { return etTot_; }
- // EtMiss and EtTot from PU vertices
- double etMissPU() const { return etMissPU_; }
- double etTotalPU() const { return etTotalPU_; }
- int bx() const { return bx_; }
- const edm::Ref& vtxRef() const { return vtxRef_; }
+ // ---------- const member functions ---------------------
+ EtMissType type() const { return type_; } // kMET or kMHT
+ // For type = kMET, this is |MET|; for type = kMHT, this is |MHT|
+ double etMiss() const { return et(); }
+ // For type = kMET, this is total ET; for type = kMHT, this is total HT
+ double etTotal() const { return etTot_; }
+ // EtMiss and EtTot from PU vertices
+ double etMissPU() const { return etMissPU_; }
+ double etTotalPU() const { return etTotalPU_; }
+ int bx() const { return bx_; }
+ const edm::Ref& vtxRef() const { return vtxRef_; }
- double etPhi() const { return etPhi_; }
- int etQual() const { return etQual_; }
+ double etPhi() const { return etPhi_; }
+ int etQual() const { return etQual_; }
- // ---------- member functions ---------------------------
- void setEtTotal(const double& etTotal) { etTot_ = etTotal; }
- void setBx(int bx) { bx_ = bx; }
+ // ---------- member functions ---------------------------
+ void setEtTotal(const double& etTotal) { etTot_ = etTotal; }
+ void setBx(int bx) { bx_ = bx; }
- private:
- // ---------- member data --------------------------------
- EtMissType type_;
- double etTot_;
- double etMissPU_;
- double etTotalPU_;
- edm::Ref vtxRef_;
+ private:
+ // ---------- member data --------------------------------
+ EtMissType type_;
+ double etTot_;
+ double etMissPU_;
+ double etTotalPU_;
+ edm::Ref vtxRef_;
- double etMiss_;
- double etPhi_;
- int etQual_;
+ double etMiss_;
+ double etPhi_;
+ int etQual_;
- int bx_;
- };
+ int bx_;
+ };
+ } // namespace io_v1
+ using TkEtMiss = io_v1::TkEtMiss;
} // namespace l1t
#endif
diff --git a/DataFormats/L1TCorrelator/interface/TkEtMissFwd.h b/DataFormats/L1TCorrelator/interface/TkEtMissFwd.h
index d70874b0222b2..5c9c772ed5465 100644
--- a/DataFormats/L1TCorrelator/interface/TkEtMissFwd.h
+++ b/DataFormats/L1TCorrelator/interface/TkEtMissFwd.h
@@ -7,7 +7,10 @@
#include "DataFormats/Common/interface/RefVector.h"
namespace l1t {
- class TkEtMiss;
+ namespace io_v1 {
+ class TkEtMiss;
+ }
+ using TkEtMiss = io_v1::TkEtMiss;
typedef std::vector TkEtMissCollection;
} // namespace l1t
#endif
diff --git a/DataFormats/L1TCorrelator/interface/TkHTMiss.h b/DataFormats/L1TCorrelator/interface/TkHTMiss.h
index 174511c34aa09..f4b60812642f7 100644
--- a/DataFormats/L1TCorrelator/interface/TkHTMiss.h
+++ b/DataFormats/L1TCorrelator/interface/TkHTMiss.h
@@ -12,47 +12,50 @@
#include "DataFormats/L1TCorrelator/interface/TkJetFwd.h"
namespace l1t {
- class TkHTMiss : public L1Candidate {
- public:
- TkHTMiss();
- TkHTMiss(const LorentzVector& p4,
- double EtTotal,
- const edm::RefProd& jetCollRef = edm::RefProd(),
- const edm::Ref& aVtxRef = edm::Ref(),
- int bx = 0);
-
- // ---------- const member functions ---------------------
- double EtMiss() const { // HTM (missing HT)
- return et();
- }
- double etTotal() const { return etTot_; }
- // HTM and HT from PU vertices
- double etMissPU() const { return etMissPU_; }
- double etTotalPU() const { return etTotalPU_; }
- int bx() const { return bx_; }
- float vtx() const { return zvtx_; }
- const edm::RefProd& jetCollectionRef() const { return jetCollectionRef_; }
- const edm::Ref& vtxRef() const { return vtxRef_; }
-
- // ---------- member functions ---------------------------
- void setEtTotal(double EtTotal) { etTot_ = EtTotal; }
- void setEtTotalPU(double EtTotalPU) { etTotalPU_ = EtTotalPU; }
- void setEtMissPU(double EtMissPU) { etMissPU_ = EtMissPU; }
- void setVtx(const float& zvtx) { zvtx_ = zvtx; }
- void setBx(int bx) { bx_ = bx; }
-
- private:
- // ---------- member data --------------------------------
- float zvtx_; // zvtx used to constrain the jets
- double etTot_; // HT
- double etMissPU_; // HTM form jets that don't come from zvtx
- double etTotalPU_; // HT from jets that don't come from zvtx
-
- edm::RefProd jetCollectionRef_;
- edm::Ref vtxRef_;
-
- int bx_;
- };
+ namespace io_v1 {
+ class TkHTMiss : public L1Candidate {
+ public:
+ TkHTMiss();
+ TkHTMiss(const LorentzVector& p4,
+ double EtTotal,
+ const edm::RefProd& jetCollRef = edm::RefProd(),
+ const edm::Ref& aVtxRef = edm::Ref(),
+ int bx = 0);
+
+ // ---------- const member functions ---------------------
+ double EtMiss() const { // HTM (missing HT)
+ return et();
+ }
+ double etTotal() const { return etTot_; }
+ // HTM and HT from PU vertices
+ double etMissPU() const { return etMissPU_; }
+ double etTotalPU() const { return etTotalPU_; }
+ int bx() const { return bx_; }
+ float vtx() const { return zvtx_; }
+ const edm::RefProd& jetCollectionRef() const { return jetCollectionRef_; }
+ const edm::Ref& vtxRef() const { return vtxRef_; }
+
+ // ---------- member functions ---------------------------
+ void setEtTotal(double EtTotal) { etTot_ = EtTotal; }
+ void setEtTotalPU(double EtTotalPU) { etTotalPU_ = EtTotalPU; }
+ void setEtMissPU(double EtMissPU) { etMissPU_ = EtMissPU; }
+ void setVtx(const float& zvtx) { zvtx_ = zvtx; }
+ void setBx(int bx) { bx_ = bx; }
+
+ private:
+ // ---------- member data --------------------------------
+ float zvtx_; // zvtx used to constrain the jets
+ double etTot_; // HT
+ double etMissPU_; // HTM form jets that don't come from zvtx
+ double etTotalPU_; // HT from jets that don't come from zvtx
+
+ edm::RefProd jetCollectionRef_;
+ edm::Ref vtxRef_;
+
+ int bx_;
+ };
+ } // namespace io_v1
+ using TkHTMiss = io_v1::TkHTMiss;
} // namespace l1t
#endif
diff --git a/DataFormats/L1TCorrelator/interface/TkHTMissFwd.h b/DataFormats/L1TCorrelator/interface/TkHTMissFwd.h
index 6be4314fe7858..6fe2b146a8e71 100644
--- a/DataFormats/L1TCorrelator/interface/TkHTMissFwd.h
+++ b/DataFormats/L1TCorrelator/interface/TkHTMissFwd.h
@@ -7,7 +7,10 @@
#include "DataFormats/Common/interface/RefVector.h"
namespace l1t {
- class TkHTMiss;
+ namespace io_v1 {
+ class TkHTMiss;
+ }
+ using TkHTMiss = io_v1::TkHTMiss;
typedef std::vector TkHTMissCollection;
} // namespace l1t
diff --git a/DataFormats/L1TCorrelator/interface/TkJet.h b/DataFormats/L1TCorrelator/interface/TkJet.h
index 82f983d23f168..401ac20591e46 100644
--- a/DataFormats/L1TCorrelator/interface/TkJet.h
+++ b/DataFormats/L1TCorrelator/interface/TkJet.h
@@ -14,52 +14,54 @@
#include "DataFormats/L1TrackTrigger/interface/TTTypes.h"
namespace l1t {
+ namespace io_v1 {
+ class TkJet : public L1Candidate {
+ public:
+ typedef TTTrack L1TTTrackType;
+ typedef std::vector L1TTTrackCollection;
- class TkJet : public L1Candidate {
- public:
- typedef TTTrack L1TTTrackType;
- typedef std::vector L1TTTrackCollection;
+ TkJet();
- TkJet();
+ TkJet(const LorentzVector& p4,
+ const edm::Ref& jetRef,
+ const std::vector >& trkPtrs,
+ float jetvtx = -999.);
+ TkJet(const LorentzVector& p4,
+ const std::vector >& trkPtrs,
+ float jetvtx = -999.,
+ unsigned int ntracks = 0,
+ unsigned int tighttracks = 0,
+ unsigned int displacedtracks = 0,
+ unsigned int tightdisplacedtracks = 0,
+ bool displacedTag = false);
- TkJet(const LorentzVector& p4,
- const edm::Ref& jetRef,
- const std::vector >& trkPtrs,
- float jetvtx = -999.);
- TkJet(const LorentzVector& p4,
- const std::vector >& trkPtrs,
- float jetvtx = -999.,
- unsigned int ntracks = 0,
- unsigned int tighttracks = 0,
- unsigned int displacedtracks = 0,
- unsigned int tightdisplacedtracks = 0,
- bool displacedTag = false);
+ // ---------- const member functions ---------------------
- // ---------- const member functions ---------------------
+ const edm::Ref& jetRef() const { return jetRef_; }
- const edm::Ref& jetRef() const { return jetRef_; }
+ const std::vector >& trkPtrs() const { return trkPtrs_; }
- const std::vector >& trkPtrs() const { return trkPtrs_; }
+ float jetVtx() const { return JetVtx_; }
+ unsigned int ntracks() const { return ntracks_; }
+ unsigned int nTighttracks() const { return tighttracks_; }
+ unsigned int nDisptracks() const { return displacedtracks_; }
+ unsigned int nTightDisptracks() const { return tightdisplacedtracks_; }
+ bool isDisplaced() const { return displacedTag_; }
- float jetVtx() const { return JetVtx_; }
- unsigned int ntracks() const { return ntracks_; }
- unsigned int nTighttracks() const { return tighttracks_; }
- unsigned int nDisptracks() const { return displacedtracks_; }
- unsigned int nTightDisptracks() const { return tightdisplacedtracks_; }
- bool isDisplaced() const { return displacedTag_; }
+ // ---------- member functions ---------------------------
+ void setJetVtx(float JetVtx) { JetVtx_ = JetVtx; }
- // ---------- member functions ---------------------------
- void setJetVtx(float JetVtx) { JetVtx_ = JetVtx; }
+ int bx() const;
- int bx() const;
-
- private:
- edm::Ref jetRef_;
- std::vector > trkPtrs_;
- float JetVtx_;
- unsigned int ntracks_, tighttracks_, displacedtracks_, tightdisplacedtracks_;
- bool displacedTag_;
- };
+ private:
+ edm::Ref jetRef_;
+ std::vector > trkPtrs_;
+ float JetVtx_;
+ unsigned int ntracks_, tighttracks_, displacedtracks_, tightdisplacedtracks_;
+ bool displacedTag_;
+ };
+ } // namespace io_v1
+ using TkJet = io_v1::TkJet;
} // namespace l1t
#endif
diff --git a/DataFormats/L1TCorrelator/interface/TkJetFwd.h b/DataFormats/L1TCorrelator/interface/TkJetFwd.h
index 5696712a4141e..da9690e20af1c 100644
--- a/DataFormats/L1TCorrelator/interface/TkJetFwd.h
+++ b/DataFormats/L1TCorrelator/interface/TkJetFwd.h
@@ -12,8 +12,10 @@
#include "DataFormats/Common/interface/RefVector.h"
namespace l1t {
-
- class TkJet;
+ namespace io_v1 {
+ class TkJet;
+ }
+ using TkJet = io_v1::TkJet;
typedef edm::RefProd TkJetRefProd;
diff --git a/DataFormats/L1TCorrelator/interface/TkTriplet.h b/DataFormats/L1TCorrelator/interface/TkTriplet.h
index 2c2cc599432b6..f4c635b40fe30 100644
--- a/DataFormats/L1TCorrelator/interface/TkTriplet.h
+++ b/DataFormats/L1TCorrelator/interface/TkTriplet.h
@@ -15,41 +15,43 @@
#include
namespace l1t {
-
- class TkTriplet : public L1Candidate {
- public:
- typedef TTTrack L1TTTrackType;
- typedef std::vector L1TTTrackCollection;
-
- TkTriplet();
-
- TkTriplet(const LorentzVector& p4, int charge);
- TkTriplet(const LorentzVector& p4,
- int charge,
- double pair_mass_max,
- double pair_mass_min,
- double pair_dz_max,
- double pair_dz_min,
- std::vector> trkPtrList);
-
- ~TkTriplet() override {}
-
- int getTripletCharge() const { return charge_; }
- double getPairMassMax() const { return pair_mass_max_; }
- double getPairMassMin() const { return pair_mass_min_; }
- double getPairDzMax() const { return pair_dz_max_; }
- double getPairDzMin() const { return pair_dz_min_; }
- const edm::Ptr& trkPtr(size_t i) const { return trkPtrList_.at(i); }
- int bx() const;
-
- private:
- int charge_;
- double pair_mass_max_;
- double pair_mass_min_;
- double pair_dz_max_;
- double pair_dz_min_;
- std::vector> trkPtrList_;
- };
+ namespace io_v1 {
+ class TkTriplet : public L1Candidate {
+ public:
+ typedef TTTrack L1TTTrackType;
+ typedef std::vector L1TTTrackCollection;
+
+ TkTriplet();
+
+ TkTriplet(const LorentzVector& p4, int charge);
+ TkTriplet(const LorentzVector& p4,
+ int charge,
+ double pair_mass_max,
+ double pair_mass_min,
+ double pair_dz_max,
+ double pair_dz_min,
+ std::vector> trkPtrList);
+
+ ~TkTriplet() override {}
+
+ int getTripletCharge() const { return charge_; }
+ double getPairMassMax() const { return pair_mass_max_; }
+ double getPairMassMin() const { return pair_mass_min_; }
+ double getPairDzMax() const { return pair_dz_max_; }
+ double getPairDzMin() const { return pair_dz_min_; }
+ const edm::Ptr& trkPtr(size_t i) const { return trkPtrList_.at(i); }
+ int bx() const;
+
+ private:
+ int charge_;
+ double pair_mass_max_;
+ double pair_mass_min_;
+ double pair_dz_max_;
+ double pair_dz_min_;
+ std::vector> trkPtrList_;
+ };
+ } // namespace io_v1
+ using TkTriplet = io_v1::TkTriplet;
} // namespace l1t
#endif
diff --git a/DataFormats/L1TCorrelator/interface/TkTripletFwd.h b/DataFormats/L1TCorrelator/interface/TkTripletFwd.h
index 0132fc2b66765..2af78354ca3a3 100644
--- a/DataFormats/L1TCorrelator/interface/TkTripletFwd.h
+++ b/DataFormats/L1TCorrelator/interface/TkTripletFwd.h
@@ -15,7 +15,10 @@
namespace l1t {
- class TkTriplet;
+ namespace io_v1 {
+ class TkTriplet;
+ }
+ using TkTriplet = io_v1::TkTriplet;
typedef edm::RefProd TkTripletRefProd;
diff --git a/DataFormats/L1TCorrelator/src/classes_def.xml b/DataFormats/L1TCorrelator/src/classes_def.xml
index 30ab39372a30b..6f5b865066d4c 100644
--- a/DataFormats/L1TCorrelator/src/classes_def.xml
+++ b/DataFormats/L1TCorrelator/src/classes_def.xml
@@ -1,113 +1,111 @@
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
-
-
+
-
+
-
+
-
+
diff --git a/DataFormats/L1THGCal/interface/HGCalCluster.h b/DataFormats/L1THGCal/interface/HGCalCluster.h
index 2c132916bf024..b4b813b38c1c9 100644
--- a/DataFormats/L1THGCal/interface/HGCalCluster.h
+++ b/DataFormats/L1THGCal/interface/HGCalCluster.h
@@ -8,22 +8,24 @@
namespace l1t {
- class HGCalCluster : public HGCalClusterT {
- public:
- HGCalCluster() {}
- HGCalCluster(const LorentzVector p4, int pt = 0, int eta = 0, int phi = 0);
+ namespace io_v1 {
+ class HGCalCluster : public HGCalClusterT {
+ public:
+ HGCalCluster() {}
+ HGCalCluster(const LorentzVector p4, int pt = 0, int eta = 0, int phi = 0);
- HGCalCluster(const edm::Ptr &tc);
+ HGCalCluster(const edm::Ptr& tc);
- ~HGCalCluster() override;
+ ~HGCalCluster() override;
- void setModule(uint32_t module) { module_ = module; }
- uint32_t module() const { return module_; }
-
- private:
- uint32_t module_;
- };
+ void setModule(uint32_t module) { module_ = module; }
+ uint32_t module() const { return module_; }
+ private:
+ uint32_t module_;
+ };
+ } // namespace io_v1
+ using HGCalCluster = io_v1::HGCalCluster;
typedef BXVector HGCalClusterBxCollection;
} // namespace l1t
diff --git a/DataFormats/L1THGCal/interface/HGCalMulticluster.h b/DataFormats/L1THGCal/interface/HGCalMulticluster.h
index d0d58a6d1021d..dc0275f5b5da3 100644
--- a/DataFormats/L1THGCal/interface/HGCalMulticluster.h
+++ b/DataFormats/L1THGCal/interface/HGCalMulticluster.h
@@ -9,89 +9,92 @@
#include
namespace l1t {
+ namespace io_v1 {
+ class HGCalMulticluster : public HGCalClusterT {
+ public:
+ HGCalMulticluster() : hOverEValid_(false) {}
+ HGCalMulticluster(const LorentzVector p4, int pt = 0, int eta = 0, int phi = 0);
+
+ HGCalMulticluster(const edm::Ptr& tc, float fraction = 1);
+
+ ~HGCalMulticluster() override;
+
+ float hOverE() const {
+ // --- this below would be faster when reading old objects, as HoE will only be computed once,
+ // --- but it may not be allowed by CMS rules because of the const_cast
+ // --- and could potentially cause a data race
+ // if (!hOverEValid_) (const_cast(this))->saveHOverE();
+ // --- this below is safe in any case
+ return hOverEValid_ ? hOverE_ : l1t::HGCalClusterT::hOverE();
+ }
- class HGCalMulticluster : public HGCalClusterT {
- public:
- HGCalMulticluster() : hOverEValid_(false) {}
- HGCalMulticluster(const LorentzVector p4, int pt = 0, int eta = 0, int phi = 0);
-
- HGCalMulticluster(const edm::Ptr& tc, float fraction = 1);
-
- ~HGCalMulticluster() override;
-
- float hOverE() const {
- // --- this below would be faster when reading old objects, as HoE will only be computed once,
- // --- but it may not be allowed by CMS rules because of the const_cast
- // --- and could potentially cause a data race
- // if (!hOverEValid_) (const_cast(this))->saveHOverE();
- // --- this below is safe in any case
- return hOverEValid_ ? hOverE_ : l1t::HGCalClusterT::hOverE();
- }
-
- void saveHOverE() {
- hOverE_ = l1t::HGCalClusterT::hOverE();
- hOverEValid_ = true;
- }
-
- enum EnergyInterpretation { EM = 0 };
-
- void saveEnergyInterpretation(const HGCalMulticluster::EnergyInterpretation eInt, double energy);
+ void saveHOverE() {
+ hOverE_ = l1t::HGCalClusterT::hOverE();
+ hOverEValid_ = true;
+ }
- double iEnergy(const HGCalMulticluster::EnergyInterpretation eInt) const {
- return energy() * interpretationFraction(eInt);
- }
+ enum EnergyInterpretation { EM = 0 };
- double iPt(const HGCalMulticluster::EnergyInterpretation eInt) const { return pt() * interpretationFraction(eInt); }
+ void saveEnergyInterpretation(const HGCalMulticluster::EnergyInterpretation eInt, double energy);
- math::XYZTLorentzVector iP4(const HGCalMulticluster::EnergyInterpretation eInt) const {
- return p4() * interpretationFraction(eInt);
- }
+ double iEnergy(const HGCalMulticluster::EnergyInterpretation eInt) const {
+ return energy() * interpretationFraction(eInt);
+ }
- math::PtEtaPhiMLorentzVector iPolarP4(const HGCalMulticluster::EnergyInterpretation eInt) const {
- return math::PtEtaPhiMLorentzVector(pt() * interpretationFraction(eInt), eta(), phi(), 0.);
- }
+ double iPt(const HGCalMulticluster::EnergyInterpretation eInt) const {
+ return pt() * interpretationFraction(eInt);
+ }
- private:
- template
- struct KeyGetter {
- const typename Iter::value_type::first_type& operator()(const typename Iter::value_type& p) const {
- return p.first;
+ math::XYZTLorentzVector iP4(const HGCalMulticluster::EnergyInterpretation eInt) const {
+ return p4() * interpretationFraction(eInt);
}
- };
- template
- boost::transform_iterator, Iter> key_iterator(Iter itr) const {
- return boost::make_transform_iterator, Iter>(itr, KeyGetter());
- }
+ math::PtEtaPhiMLorentzVector iPolarP4(const HGCalMulticluster::EnergyInterpretation eInt) const {
+ return math::PtEtaPhiMLorentzVector(pt() * interpretationFraction(eInt), eta(), phi(), 0.);
+ }
- public:
- typedef boost::transform_iterator::const_iterator>,
- std::map::const_iterator>
- EnergyInterpretation_const_iterator;
+ private:
+ template
+ struct KeyGetter {
+ const typename Iter::value_type::first_type& operator()(const typename Iter::value_type& p) const {
+ return p.first;
+ }
+ };
+
+ template
+ boost::transform_iterator, Iter> key_iterator(Iter itr) const {
+ return boost::make_transform_iterator, Iter>(itr, KeyGetter());
+ }
- std::pair energyInterpretations() const {
- return std::make_pair(key_iterator(energyInterpretationFractions_.cbegin()),
- key_iterator(energyInterpretationFractions_.cend()));
- }
+ public:
+ typedef boost::transform_iterator::const_iterator>,
+ std::map::const_iterator>
+ EnergyInterpretation_const_iterator;
- EnergyInterpretation_const_iterator interpretations_begin() const {
- return key_iterator(energyInterpretationFractions_.cbegin());
- }
+ std::pair energyInterpretations() const {
+ return std::make_pair(key_iterator(energyInterpretationFractions_.cbegin()),
+ key_iterator(energyInterpretationFractions_.cend()));
+ }
- EnergyInterpretation_const_iterator interpretations_end() const {
- return key_iterator(energyInterpretationFractions_.cend());
- }
+ EnergyInterpretation_const_iterator interpretations_begin() const {
+ return key_iterator(energyInterpretationFractions_.cbegin());
+ }
- size_type interpretations_size() const { return energyInterpretationFractions_.size(); }
+ EnergyInterpretation_const_iterator interpretations_end() const {
+ return key_iterator(energyInterpretationFractions_.cend());
+ }
- private:
- double interpretationFraction(const HGCalMulticluster::EnergyInterpretation eInt) const;
+ size_type interpretations_size() const { return energyInterpretationFractions_.size(); }
- float hOverE_;
- bool hOverEValid_;
- std::map energyInterpretationFractions_;
- };
+ private:
+ double interpretationFraction(const HGCalMulticluster::EnergyInterpretation eInt) const;
+ float hOverE_;
+ bool hOverEValid_;
+ std::map energyInterpretationFractions_;
+ };
+ } // namespace io_v1
+ using HGCalMulticluster = io_v1::HGCalMulticluster;
typedef BXVector HGCalMulticlusterBxCollection;
} // namespace l1t
diff --git a/DataFormats/L1THGCal/interface/HGCalTower.h b/DataFormats/L1THGCal/interface/HGCalTower.h
index 74c392ee0ee07..5e4c3634cc36a 100644
--- a/DataFormats/L1THGCal/interface/HGCalTower.h
+++ b/DataFormats/L1THGCal/interface/HGCalTower.h
@@ -6,61 +6,60 @@
#include "DataFormats/L1THGCal/interface/HGCalTowerID.h"
namespace l1t {
-
- class HGCalTower;
+ namespace io_v1 {
+ class HGCalTower : public L1Candidate {
+ public:
+ HGCalTower() : etEm_(0.), etHad_(0.), id_(0), hwEtEm_(0), hwEtHad_(0), hwEtRatio_(0) {}
+
+ HGCalTower(double etEm,
+ double etHad,
+ double eta,
+ double phi,
+ uint32_t id,
+ int hwpt = 0,
+ int hweta = 0,
+ int hwphi = 0,
+ int qual = 0,
+ int hwEtEm = 0,
+ int hwEtHad = 0,
+ int hwEtRatio = 0);
+
+ ~HGCalTower() override;
+
+ void addEtEm(double et);
+ void addEtHad(double et);
+
+ double etEm() const { return etEm_; };
+ double etHad() const { return etHad_; };
+
+ const HGCalTower& operator+=(const HGCalTower& tower);
+
+ HGCalTowerID id() const { return id_; }
+ short zside() const { return id_.zside(); }
+
+ void setHwEtEm(int et) { hwEtEm_ = et; }
+ void setHwEtHad(int et) { hwEtHad_ = et; }
+ void setHwEtRatio(int ratio) { hwEtRatio_ = ratio; }
+
+ int hwEtEm() const { return hwEtEm_; }
+ int hwEtHad() const { return hwEtHad_; }
+ int hwEtRatio() const { return hwEtRatio_; }
+
+ private:
+ void addEt(double et);
+
+ // additional hardware quantities
+ double etEm_;
+ double etHad_;
+ HGCalTowerID id_;
+
+ int hwEtEm_;
+ int hwEtHad_;
+ int hwEtRatio_;
+ };
+ } // namespace io_v1
+ using HGCalTower = io_v1::HGCalTower;
typedef BXVector HGCalTowerBxCollection;
-
- class HGCalTower : public L1Candidate {
- public:
- HGCalTower() : etEm_(0.), etHad_(0.), id_(0), hwEtEm_(0), hwEtHad_(0), hwEtRatio_(0) {}
-
- HGCalTower(double etEm,
- double etHad,
- double eta,
- double phi,
- uint32_t id,
- int hwpt = 0,
- int hweta = 0,
- int hwphi = 0,
- int qual = 0,
- int hwEtEm = 0,
- int hwEtHad = 0,
- int hwEtRatio = 0);
-
- ~HGCalTower() override;
-
- void addEtEm(double et);
- void addEtHad(double et);
-
- double etEm() const { return etEm_; };
- double etHad() const { return etHad_; };
-
- const HGCalTower& operator+=(const HGCalTower& tower);
-
- HGCalTowerID id() const { return id_; }
- short zside() const { return id_.zside(); }
-
- void setHwEtEm(int et) { hwEtEm_ = et; }
- void setHwEtHad(int et) { hwEtHad_ = et; }
- void setHwEtRatio(int ratio) { hwEtRatio_ = ratio; }
-
- int hwEtEm() const { return hwEtEm_; }
- int hwEtHad() const { return hwEtHad_; }
- int hwEtRatio() const { return hwEtRatio_; }
-
- private:
- void addEt(double et);
-
- // additional hardware quantities
- double etEm_;
- double etHad_;
- HGCalTowerID id_;
-
- int hwEtEm_;
- int hwEtHad_;
- int hwEtRatio_;
- };
-
} // namespace l1t
#endif
diff --git a/DataFormats/L1THGCal/interface/HGCalTowerMap.h b/DataFormats/L1THGCal/interface/HGCalTowerMap.h
index d670ea2f29be0..2289cf501c097 100644
--- a/DataFormats/L1THGCal/interface/HGCalTowerMap.h
+++ b/DataFormats/L1THGCal/interface/HGCalTowerMap.h
@@ -8,30 +8,31 @@
namespace l1t {
- class HGCalTowerMap;
struct HGCalTowerCoord;
- typedef BXVector HGCalTowerMapBxCollection;
-
- class HGCalTowerMap {
- public:
- HGCalTowerMap() : layer_(0) {}
+ namespace io_v1 {
+ class HGCalTowerMap {
+ public:
+ HGCalTowerMap() : layer_(0) {}
- HGCalTowerMap(const std::vector& tower_ids, const int layer);
+ HGCalTowerMap(const std::vector& tower_ids, const int layer);
- int layer() const { return layer_; }
+ int layer() const { return layer_; }
- const HGCalTowerMap& operator+=(const HGCalTowerMap& map);
+ const HGCalTowerMap& operator+=(const HGCalTowerMap& map);
- bool addEt(const std::unordered_map& towerIDandShares, float etEm, float etHad);
+ bool addEt(const std::unordered_map& towerIDandShares, float etEm, float etHad);
- unsigned nTowers() const { return towerMap_.size(); }
- const std::unordered_map& towers() const { return towerMap_; }
+ unsigned nTowers() const { return towerMap_.size(); }
+ const std::unordered_map& towers() const { return towerMap_; }
- private:
- std::unordered_map towerMap_;
- unsigned layer_;
- };
+ private:
+ std::unordered_map towerMap_;
+ unsigned layer_;
+ };
+ } // namespace io_v1
+ using HGCalTowerMap = io_v1::HGCalTowerMap;
+ typedef BXVector HGCalTowerMapBxCollection;
} // namespace l1t
#endif
diff --git a/DataFormats/L1THGCal/interface/HGCalTriggerCell.h b/DataFormats/L1THGCal/interface/HGCalTriggerCell.h
index b65fb11316047..a7ee9e32d281c 100644
--- a/DataFormats/L1THGCal/interface/HGCalTriggerCell.h
+++ b/DataFormats/L1THGCal/interface/HGCalTriggerCell.h
@@ -7,46 +7,46 @@
#include "DataFormats/DetId/interface/DetId.h"
namespace l1t {
+ namespace io_v1 {
+ class HGCalTriggerCell : public L1Candidate {
+ public:
+ HGCalTriggerCell() {}
- class HGCalTriggerCell;
- typedef BXVector HGCalTriggerCellBxCollection;
-
- class HGCalTriggerCell : public L1Candidate {
- public:
- HGCalTriggerCell() {}
+ HGCalTriggerCell(const LorentzVector& p4, int pt = 0, int eta = 0, int phi = 0, int qual = 0, uint32_t detid = 0);
- HGCalTriggerCell(const LorentzVector& p4, int pt = 0, int eta = 0, int phi = 0, int qual = 0, uint32_t detid = 0);
+ ~HGCalTriggerCell() override;
- ~HGCalTriggerCell() override;
+ void setDetId(uint32_t detid) { detid_ = DetId(detid); }
+ void setPosition(const GlobalPoint& position) { position_ = position; }
- void setDetId(uint32_t detid) { detid_ = DetId(detid); }
- void setPosition(const GlobalPoint& position) { position_ = position; }
+ uint32_t detId() const { return detid_.rawId(); }
+ const GlobalPoint& position() const { return position_; }
- uint32_t detId() const { return detid_.rawId(); }
- const GlobalPoint& position() const { return position_; }
+ int subdetId() const { return detid_.subdetId(); }
- int subdetId() const { return detid_.subdetId(); }
+ void setMipPt(double value) { mipPt_ = value; }
+ double mipPt() const { return mipPt_; }
- void setMipPt(double value) { mipPt_ = value; }
- double mipPt() const { return mipPt_; }
+ void setUncompressedCharge(uint32_t value) { uncompressedCharge_ = value; }
+ uint32_t uncompressedCharge() const { return uncompressedCharge_; }
- void setUncompressedCharge(uint32_t value) { uncompressedCharge_ = value; }
- uint32_t uncompressedCharge() const { return uncompressedCharge_; }
+ void setCompressedCharge(uint32_t value) { compressedCharge_ = value; }
+ uint32_t compressedCharge() const { return compressedCharge_; }
- void setCompressedCharge(uint32_t value) { compressedCharge_ = value; }
- uint32_t compressedCharge() const { return compressedCharge_; }
+ void setPt(double pT);
- void setPt(double pT);
+ private:
+ DetId detid_;
+ GlobalPoint position_;
- private:
- DetId detid_;
- GlobalPoint position_;
+ double mipPt_{0.};
- double mipPt_{0.};
-
- uint32_t uncompressedCharge_{0};
- uint32_t compressedCharge_{0};
- };
+ uint32_t uncompressedCharge_{0};
+ uint32_t compressedCharge_{0};
+ };
+ } // namespace io_v1
+ using HGCalTriggerCell = io_v1::HGCalTriggerCell;
+ typedef BXVector HGCalTriggerCellBxCollection;
} // namespace l1t
diff --git a/DataFormats/L1THGCal/src/classes_def.xml b/DataFormats/L1THGCal/src/classes_def.xml
index cb370fe7f7025..6bb8390f5bf74 100644
--- a/DataFormats/L1THGCal/src/classes_def.xml
+++ b/DataFormats/L1THGCal/src/classes_def.xml
@@ -14,47 +14,47 @@
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
+
@@ -66,33 +66,33 @@
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
+
diff --git a/DataFormats/L1TMuon/interface/EMTFHit.h b/DataFormats/L1TMuon/interface/EMTFHit.h
index 00a12df3f8643..74d8559c6a71d 100644
--- a/DataFormats/L1TMuon/interface/EMTFHit.h
+++ b/DataFormats/L1TMuon/interface/EMTFHit.h
@@ -23,231 +23,232 @@ namespace l1t {
namespace l1tmu = L1TMuon;
- class EMTFHit {
- public:
- EMTFHit()
- : rawDetId(0),
- subsystem(-99),
- endcap(-99),
- station(-99),
- ring(-99),
- sector(-99),
- sector_RPC(-99),
- sector_idx(-99),
- subsector(-99),
- subsector_RPC(-99),
- chamber(-99),
- csc_ID(-99),
- csc_nID(-99),
- roll(-99),
- neighbor(-99),
- mpc_link(-99),
- pc_sector(-99),
- pc_station(-99),
- pc_chamber(-99),
- pc_segment(-99),
- wire(-99),
- strip(-99),
- strip_hi(-99),
- strip_low(-99),
- strip_quart(-99), // Run 3
- strip_eighth(-99), // Run 3
- strip_quart_bit(-99), // Run 3
- strip_eighth_bit(-99), // Run 3
- muon_shower_valid(-99), // Run 3 muon shower
- muon_shower_inTime(-99), // Run 3 muon shower
- muon_shower_outOfTime(-99), // Run 3 muon shower
- track_num(-99),
- quality(-99),
- pattern(-99),
- pattern_run3(-99), // Run 3
- bend(-99),
- slope(-99), // Run 3
- valid(-99),
- sync_err(-99),
- layer(-99), // TODO: verify inclusion for GEM, or better to generalize this class... - JS 06.07.20
- bc0(-99),
- bx(-99),
- stub_num(-99),
- phi_fp(-99),
- theta_fp(-99),
- zone_hit(-99),
- zone_code(-99),
- fs_segment(-99),
- fs_zone_code(-99),
- bt_station(-99),
- bt_segment(-99),
- phi_loc(-99),
- phi_glob(-999),
- theta(-99),
- eta(-99),
- time(-99),
- phi_sim(-999),
- theta_sim(-99),
- eta_sim(-99),
- rho_sim(-99),
- z_sim(-99),
- alct_quality(-99),
- clct_quality(-99) {}
+ namespace io_v1 {
+ class EMTFHit {
+ public:
+ EMTFHit()
+ : rawDetId(0),
+ subsystem(-99),
+ endcap(-99),
+ station(-99),
+ ring(-99),
+ sector(-99),
+ sector_RPC(-99),
+ sector_idx(-99),
+ subsector(-99),
+ subsector_RPC(-99),
+ chamber(-99),
+ csc_ID(-99),
+ csc_nID(-99),
+ roll(-99),
+ neighbor(-99),
+ mpc_link(-99),
+ pc_sector(-99),
+ pc_station(-99),
+ pc_chamber(-99),
+ pc_segment(-99),
+ wire(-99),
+ strip(-99),
+ strip_hi(-99),
+ strip_low(-99),
+ strip_quart(-99), // Run 3
+ strip_eighth(-99), // Run 3
+ strip_quart_bit(-99), // Run 3
+ strip_eighth_bit(-99), // Run 3
+ muon_shower_valid(-99), // Run 3 muon shower
+ muon_shower_inTime(-99), // Run 3 muon shower
+ muon_shower_outOfTime(-99), // Run 3 muon shower
+ track_num(-99),
+ quality(-99),
+ pattern(-99),
+ pattern_run3(-99), // Run 3
+ bend(-99),
+ slope(-99), // Run 3
+ valid(-99),
+ sync_err(-99),
+ layer(-99), // TODO: verify inclusion for GEM, or better to generalize this class... - JS 06.07.20
+ bc0(-99),
+ bx(-99),
+ stub_num(-99),
+ phi_fp(-99),
+ theta_fp(-99),
+ zone_hit(-99),
+ zone_code(-99),
+ fs_segment(-99),
+ fs_zone_code(-99),
+ bt_station(-99),
+ bt_segment(-99),
+ phi_loc(-99),
+ phi_glob(-999),
+ theta(-99),
+ eta(-99),
+ time(-99),
+ phi_sim(-999),
+ theta_sim(-99),
+ eta_sim(-99),
+ rho_sim(-99),
+ z_sim(-99),
+ alct_quality(-99),
+ clct_quality(-99) {}
- virtual ~EMTFHit() {}
+ virtual ~EMTFHit() {}
- CSCDetId CreateCSCDetId() const;
- RPCDetId CreateRPCDetId() const;
- GEMDetId CreateGEMDetId() const;
- ME0DetId CreateME0DetId() const;
+ CSCDetId CreateCSCDetId() const;
+ RPCDetId CreateRPCDetId() const;
+ GEMDetId CreateGEMDetId() const;
+ ME0DetId CreateME0DetId() const;
- // void ImportCSCCorrelatedLCTDigi (const CSCCorrelatedLCTDigi& _digi);
- CSCCorrelatedLCTDigi CreateCSCCorrelatedLCTDigi(const bool isRun3) const;
- // Run 3 muon shower
- CSCShowerDigi CreateCSCShowerDigi() const;
- // void ImportRPCDigi (const RPCDigi& _digi);
- // RPCDigi CreateRPCDigi() const;
- // void ImportCPPFDigi (const CPPFDigi& _digi);
- CPPFDigi CreateCPPFDigi() const;
- // void ImportGEMPadDigiCluster (const GEMPadDigiCluster& _digi); // TODO: implement placeholder when others are implemented
- GEMPadDigiCluster CreateGEMPadDigiCluster() const;
+ // void ImportCSCCorrelatedLCTDigi (const CSCCorrelatedLCTDigi& _digi);
+ CSCCorrelatedLCTDigi CreateCSCCorrelatedLCTDigi(const bool isRun3) const;
+ // Run 3 muon shower
+ CSCShowerDigi CreateCSCShowerDigi() const;
+ // void ImportRPCDigi (const RPCDigi& _digi);
+ // RPCDigi CreateRPCDigi() const;
+ // void ImportCPPFDigi (const CPPFDigi& _digi);
+ CPPFDigi CreateCPPFDigi() const;
+ // void ImportGEMPadDigiCluster (const GEMPadDigiCluster& _digi); // TODO: implement placeholder when others are implemented
+ GEMPadDigiCluster CreateGEMPadDigiCluster() const;
- // void PrintSimulatorHeader() const;
- // void PrintForSimulator() const;
+ // void PrintSimulatorHeader() const;
+ // void PrintForSimulator() const;
- //void SetCSCDetId (const CSCDetId& id) { csc_DetId = id; }
- //void SetRPCDetId (const RPCDetId& id) { rpc_DetId = id; }
- //void SetGEMDetId (const GEMDetId& id) { gem_DetId = id; }
- //void SetCSCLCTDigi (const CSCCorrelatedLCTDigi& digi) { csc_LCTDigi = digi; }
- //void SetRPCDigi (const RPCDigi& digi) { rpc_Digi = digi; }
- //void SetCPPFDigi (const CPPFDigi& digi) { cppf_Digi = digi; }
- //void SetGEMPadDigiCluster (const GEMPadDigiCluster& digi) { gem_PadClusterDigi = digi; }
- void SetCSCDetId(const CSCDetId& id) { rawDetId = id.rawId(); }
- void SetRPCDetId(const RPCDetId& id) { rawDetId = id.rawId(); }
- void SetGEMDetId(const GEMDetId& id) { rawDetId = id.rawId(); }
- void SetME0DetId(const ME0DetId& id) { rawDetId = id.rawId(); }
- void SetDTDetId(const DTChamberId& id) { rawDetId = id.rawId(); }
+ //void SetCSCDetId (const CSCDetId& id) { csc_DetId = id; }
+ //void SetRPCDetId (const RPCDetId& id) { rpc_DetId = id; }
+ //void SetGEMDetId (const GEMDetId& id) { gem_DetId = id; }
+ //void SetCSCLCTDigi (const CSCCorrelatedLCTDigi& digi) { csc_LCTDigi = digi; }
+ //void SetRPCDigi (const RPCDigi& digi) { rpc_Digi = digi; }
+ //void SetCPPFDigi (const CPPFDigi& digi) { cppf_Digi = digi; }
+ //void SetGEMPadDigiCluster (const GEMPadDigiCluster& digi) { gem_PadClusterDigi = digi; }
+ void SetCSCDetId(const CSCDetId& id) { rawDetId = id.rawId(); }
+ void SetRPCDetId(const RPCDetId& id) { rawDetId = id.rawId(); }
+ void SetGEMDetId(const GEMDetId& id) { rawDetId = id.rawId(); }
+ void SetME0DetId(const ME0DetId& id) { rawDetId = id.rawId(); }
+ void SetDTDetId(const DTChamberId& id) { rawDetId = id.rawId(); }
- //CSCDetId CSC_DetId () const { return csc_DetId; }
- //RPCDetId RPC_DetId () const { return rpc_DetId; }
- //GEMDetId GEM_DetId () const { return gem_DetId; }
- //CSCCorrelatedLCTDigi CSC_LCTDigi () const { return csc_LCTDigi; }
- //RPCDigi RPC_Digi () const { return rpc_Digi; }
- //CPPFDigi CPPF_Digi () const { return cppf_Digi; }
- //GEMPadDigiCluster GEM_PadClusterDigi () const { return gem_PadClusterDigi; }
- CSCDetId CSC_DetId() const { return CSCDetId(rawDetId); }
- RPCDetId RPC_DetId() const { return RPCDetId(rawDetId); }
- GEMDetId GEM_DetId() const { return GEMDetId(rawDetId); }
- ME0DetId ME0_DetId() const { return ME0DetId(rawDetId); }
- DTChamberId DT_DetId() const { return DTChamberId(rawDetId); }
+ //CSCDetId CSC_DetId () const { return csc_DetId; }
+ //RPCDetId RPC_DetId () const { return rpc_DetId; }
+ //GEMDetId GEM_DetId () const { return gem_DetId; }
+ //CSCCorrelatedLCTDigi CSC_LCTDigi () const { return csc_LCTDigi; }
+ //RPCDigi RPC_Digi () const { return rpc_Digi; }
+ //CPPFDigi CPPF_Digi () const { return cppf_Digi; }
+ //GEMPadDigiCluster GEM_PadClusterDigi () const { return gem_PadClusterDigi; }
+ CSCDetId CSC_DetId() const { return CSCDetId(rawDetId); }
+ RPCDetId RPC_DetId() const { return RPCDetId(rawDetId); }
+ GEMDetId GEM_DetId() const { return GEMDetId(rawDetId); }
+ ME0DetId ME0_DetId() const { return ME0DetId(rawDetId); }
+ DTChamberId DT_DetId() const { return DTChamberId(rawDetId); }
- void set_subsystem(int bits) { subsystem = bits; }
- void set_endcap(int bits) { endcap = bits; }
- void set_station(int bits) { station = bits; }
- void set_ring(int bits) { ring = bits; }
- void set_sector(int bits) { sector = bits; }
- void set_sector_RPC(int bits) { sector_RPC = bits; }
- void set_sector_idx(int bits) { sector_idx = bits; }
- void set_subsector(int bits) { subsector = bits; }
- void set_subsector_RPC(int bits) { subsector_RPC = bits; }
- void set_chamber(int bits) { chamber = bits; }
- void set_csc_ID(int bits) { csc_ID = bits; }
- void set_csc_nID(int bits) { csc_nID = bits; }
- void set_roll(int bits) { roll = bits; }
- void set_neighbor(int bits) { neighbor = bits; }
- void set_mpc_link(int bits) { mpc_link = bits; }
- void set_pc_sector(int bits) { pc_sector = bits; }
- void set_pc_station(int bits) { pc_station = bits; }
- void set_pc_chamber(int bits) { pc_chamber = bits; }
- void set_pc_segment(int bits) { pc_segment = bits; }
- void set_wire(int bits) { wire = bits; }
- void set_strip(int bits) { strip = bits; }
- void set_strip_hi(int bits) { strip_hi = bits; }
- void set_strip_low(int bits) { strip_low = bits; }
- void set_strip_quart(int bits) { strip_quart = bits; } // Run 3
- void set_strip_eighth(int bits) { strip_eighth = bits; } // Run 3
- void set_strip_quart_bit(int bits) { strip_quart_bit = bits; } // Run 3
- void set_strip_eighth_bit(int bits) { strip_eighth_bit = bits; } // Run 3
- void set_muon_shower_valid(int bits) { muon_shower_valid = bits; } // Run 3 muon shower
- void set_muon_shower_inTime(int bits) { muon_shower_inTime = bits; } // Run 3 muon shower
- void set_muon_shower_outOfTime(int bits) { muon_shower_outOfTime = bits; } // Run 3 muon shower
- void set_track_num(int bits) { track_num = bits; }
- void set_quality(int bits) { quality = bits; }
- void set_pattern(int bits) { pattern = bits; }
- void set_pattern_run3(int bits) { pattern_run3 = bits; } // Run 3
- void set_bend(int bits) { bend = bits; }
- void set_slope(int bits) { slope = bits; } // Run 3
- void set_valid(int bits) { valid = bits; }
- void set_sync_err(int bits) { sync_err = bits; }
- // GEM specific aliases
- void set_pad(int bits) { set_strip(bits); }
- void set_pad_hi(int bits) { set_strip_hi(bits); }
- void set_pad_low(int bits) { set_strip_low(bits); }
- void set_partition(int bits) { set_roll(bits); }
- void set_layer(int bits) { layer = bits; }
- void set_cluster_size(int bits) { set_quality(bits); }
- void set_cluster_id(int bits) { set_track_num(bits); }
- // END GEM specific
- void set_bc0(int bits) { bc0 = bits; }
- void set_bx(int bits) { bx = bits; }
- void set_stub_num(int bits) { stub_num = bits; }
- void set_phi_fp(int bits) { phi_fp = bits; }
- void set_theta_fp(int bits) { theta_fp = bits; }
- void set_zone_hit(int bits) { zone_hit = bits; }
- void set_zone_code(int bits) { zone_code = bits; }
- void set_fs_segment(int bits) { fs_segment = bits; }
- void set_fs_zone_code(int bits) { fs_zone_code = bits; }
- void set_bt_station(int bits) { bt_station = bits; }
- void set_bt_segment(int bits) { bt_segment = bits; }
- void set_phi_loc(float val) { phi_loc = val; }
- void set_phi_glob(float val) { phi_glob = val; }
- void set_theta(float val) { theta = val; }
- void set_eta(float val) { eta = val; }
- void set_time(float val) { time = val; }
- void set_phi_sim(float val) { phi_sim = val; }
- void set_theta_sim(float val) { theta_sim = val; }
- void set_eta_sim(float val) { eta_sim = val; }
- void set_rho_sim(float val) { rho_sim = val; }
- void set_z_sim(float val) { z_sim = val; }
- void set_alct_quality(int bits) { alct_quality = bits; }
- void set_clct_quality(int bits) { clct_quality = bits; }
+ void set_subsystem(int bits) { subsystem = bits; }
+ void set_endcap(int bits) { endcap = bits; }
+ void set_station(int bits) { station = bits; }
+ void set_ring(int bits) { ring = bits; }
+ void set_sector(int bits) { sector = bits; }
+ void set_sector_RPC(int bits) { sector_RPC = bits; }
+ void set_sector_idx(int bits) { sector_idx = bits; }
+ void set_subsector(int bits) { subsector = bits; }
+ void set_subsector_RPC(int bits) { subsector_RPC = bits; }
+ void set_chamber(int bits) { chamber = bits; }
+ void set_csc_ID(int bits) { csc_ID = bits; }
+ void set_csc_nID(int bits) { csc_nID = bits; }
+ void set_roll(int bits) { roll = bits; }
+ void set_neighbor(int bits) { neighbor = bits; }
+ void set_mpc_link(int bits) { mpc_link = bits; }
+ void set_pc_sector(int bits) { pc_sector = bits; }
+ void set_pc_station(int bits) { pc_station = bits; }
+ void set_pc_chamber(int bits) { pc_chamber = bits; }
+ void set_pc_segment(int bits) { pc_segment = bits; }
+ void set_wire(int bits) { wire = bits; }
+ void set_strip(int bits) { strip = bits; }
+ void set_strip_hi(int bits) { strip_hi = bits; }
+ void set_strip_low(int bits) { strip_low = bits; }
+ void set_strip_quart(int bits) { strip_quart = bits; } // Run 3
+ void set_strip_eighth(int bits) { strip_eighth = bits; } // Run 3
+ void set_strip_quart_bit(int bits) { strip_quart_bit = bits; } // Run 3
+ void set_strip_eighth_bit(int bits) { strip_eighth_bit = bits; } // Run 3
+ void set_muon_shower_valid(int bits) { muon_shower_valid = bits; } // Run 3 muon shower
+ void set_muon_shower_inTime(int bits) { muon_shower_inTime = bits; } // Run 3 muon shower
+ void set_muon_shower_outOfTime(int bits) { muon_shower_outOfTime = bits; } // Run 3 muon shower
+ void set_track_num(int bits) { track_num = bits; }
+ void set_quality(int bits) { quality = bits; }
+ void set_pattern(int bits) { pattern = bits; }
+ void set_pattern_run3(int bits) { pattern_run3 = bits; } // Run 3
+ void set_bend(int bits) { bend = bits; }
+ void set_slope(int bits) { slope = bits; } // Run 3
+ void set_valid(int bits) { valid = bits; }
+ void set_sync_err(int bits) { sync_err = bits; }
+ // GEM specific aliases
+ void set_pad(int bits) { set_strip(bits); }
+ void set_pad_hi(int bits) { set_strip_hi(bits); }
+ void set_pad_low(int bits) { set_strip_low(bits); }
+ void set_partition(int bits) { set_roll(bits); }
+ void set_layer(int bits) { layer = bits; }
+ void set_cluster_size(int bits) { set_quality(bits); }
+ void set_cluster_id(int bits) { set_track_num(bits); }
+ // END GEM specific
+ void set_bc0(int bits) { bc0 = bits; }
+ void set_bx(int bits) { bx = bits; }
+ void set_stub_num(int bits) { stub_num = bits; }
+ void set_phi_fp(int bits) { phi_fp = bits; }
+ void set_theta_fp(int bits) { theta_fp = bits; }
+ void set_zone_hit(int bits) { zone_hit = bits; }
+ void set_zone_code(int bits) { zone_code = bits; }
+ void set_fs_segment(int bits) { fs_segment = bits; }
+ void set_fs_zone_code(int bits) { fs_zone_code = bits; }
+ void set_bt_station(int bits) { bt_station = bits; }
+ void set_bt_segment(int bits) { bt_segment = bits; }
+ void set_phi_loc(float val) { phi_loc = val; }
+ void set_phi_glob(float val) { phi_glob = val; }
+ void set_theta(float val) { theta = val; }
+ void set_eta(float val) { eta = val; }
+ void set_time(float val) { time = val; }
+ void set_phi_sim(float val) { phi_sim = val; }
+ void set_theta_sim(float val) { theta_sim = val; }
+ void set_eta_sim(float val) { eta_sim = val; }
+ void set_rho_sim(float val) { rho_sim = val; }
+ void set_z_sim(float val) { z_sim = val; }
+ void set_alct_quality(int bits) { alct_quality = bits; }
+ void set_clct_quality(int bits) { clct_quality = bits; }
- int Subsystem() const { return subsystem; }
- int Endcap() const { return endcap; }
- int Station() const { return station; }
- int Ring() const { return ring; }
- int Sector() const { return sector; }
- int Sector_RPC() const { return sector_RPC; }
- int Sector_idx() const { return sector_idx; }
- int Subsector() const { return subsector; }
- int Subsector_RPC() const { return subsector_RPC; }
- int Chamber() const { return chamber; }
- int CSC_ID() const { return csc_ID; }
- int CSC_nID() const { return csc_nID; }
- int Roll() const { return roll; }
- int Neighbor() const { return neighbor; }
- int MPC_link() const { return mpc_link; }
- int PC_sector() const { return pc_sector; }
- int PC_station() const { return pc_station; }
- int PC_chamber() const { return pc_chamber; }
- int PC_segment() const { return pc_segment; }
- int Wire() const { return wire; }
- int Strip() const { return strip; }
- int Strip_hi() const { return strip_hi; }
- int Strip_low() const { return strip_low; }
- int Strip_quart() const { return strip_quart; } // Run 3
- int Strip_eighth() const { return strip_eighth; } // Run 3
- int Strip_quart_bit() const { return strip_quart_bit; } // Run 3
- int Strip_eighth_bit() const { return strip_eighth_bit; } // Run 3
- int Muon_shower_valid() const { return muon_shower_valid; } // Run 3 muon shower
- int Muon_shower_inTime() const { return muon_shower_inTime; } // Run 3 muon shower
- int Muon_shower_outOfTime() const { return muon_shower_outOfTime; } // Run 3 muon shower
- int Track_num() const { return track_num; }
- int Quality() const { return quality; }
- int Pattern() const { return pattern; }
- int Pattern_run3() const { return pattern_run3; } // Run 3
- int Bend() const { return bend; }
- int Slope() const { return slope; } // Run 3
- int Valid() const { return valid; }
- int Sync_err() const { return sync_err; }
- // GEM specific aliases for member variables that don't match GEM nomenclature
- /*
+ int Subsystem() const { return subsystem; }
+ int Endcap() const { return endcap; }
+ int Station() const { return station; }
+ int Ring() const { return ring; }
+ int Sector() const { return sector; }
+ int Sector_RPC() const { return sector_RPC; }
+ int Sector_idx() const { return sector_idx; }
+ int Subsector() const { return subsector; }
+ int Subsector_RPC() const { return subsector_RPC; }
+ int Chamber() const { return chamber; }
+ int CSC_ID() const { return csc_ID; }
+ int CSC_nID() const { return csc_nID; }
+ int Roll() const { return roll; }
+ int Neighbor() const { return neighbor; }
+ int MPC_link() const { return mpc_link; }
+ int PC_sector() const { return pc_sector; }
+ int PC_station() const { return pc_station; }
+ int PC_chamber() const { return pc_chamber; }
+ int PC_segment() const { return pc_segment; }
+ int Wire() const { return wire; }
+ int Strip() const { return strip; }
+ int Strip_hi() const { return strip_hi; }
+ int Strip_low() const { return strip_low; }
+ int Strip_quart() const { return strip_quart; } // Run 3
+ int Strip_eighth() const { return strip_eighth; } // Run 3
+ int Strip_quart_bit() const { return strip_quart_bit; } // Run 3
+ int Strip_eighth_bit() const { return strip_eighth_bit; } // Run 3
+ int Muon_shower_valid() const { return muon_shower_valid; } // Run 3 muon shower
+ int Muon_shower_inTime() const { return muon_shower_inTime; } // Run 3 muon shower
+ int Muon_shower_outOfTime() const { return muon_shower_outOfTime; } // Run 3 muon shower
+ int Track_num() const { return track_num; }
+ int Quality() const { return quality; }
+ int Pattern() const { return pattern; }
+ int Pattern_run3() const { return pattern_run3; } // Run 3
+ int Bend() const { return bend; }
+ int Slope() const { return slope; } // Run 3
+ int Valid() const { return valid; }
+ int Sync_err() const { return sync_err; }
+ // GEM specific aliases for member variables that don't match GEM nomenclature
+ /*
* Each GEM pad is the OR of two neighbouring strips in phi.
* For GE1/1 (10 degree chambers) this results in a total of 192 pads per eta partition
* 128 strips per phi sector
@@ -256,127 +257,128 @@ namespace l1t {
* 128 strips per phi sector
* 6 phi sectors per eta partition
*/
- /// Repurpose "strip" as GEM pad for GEM sourced hits
- int Pad() const { return Strip(); }
- /// Repurpose "strip" as GEM pad for GEM sourced hits
- int Pad_hi() const { return Strip_hi(); }
- /// Repurpose "strip" as GEM pad for GEM sourced hits
- int Pad_low() const { return Strip_low(); }
- /// "roll" corresponds to the GEM eta partition
- int Partition() const { return Roll(); }
- int Layer() const { return layer; }
- /// Repurpose "quality" as the GEM cluster_size (number of pads in the cluster)
- int ClusterSize() const { return Quality(); }
- /// Repurpose "track_num" as the GEM cluster_id
- int ClusterID() const { return Track_num(); }
- // END GEM specific
- int BC0() const { return bc0; }
- int BX() const { return bx; }
- int Stub_num() const { return stub_num; }
- int Phi_fp() const { return phi_fp; }
- int Theta_fp() const { return theta_fp; }
- int Zone_hit() const { return zone_hit; }
- int Zone_code() const { return zone_code; }
- int FS_segment() const { return fs_segment; }
- int FS_zone_code() const { return fs_zone_code; }
- int BT_station() const { return bt_station; }
- int BT_segment() const { return bt_segment; }
- float Phi_loc() const { return phi_loc; }
- float Phi_glob() const { return phi_glob; }
- float Theta() const { return theta; }
- float Eta() const { return eta; }
- float Time() const { return time; }
- float Phi_sim() const { return phi_sim; }
- float Theta_sim() const { return theta_sim; }
- float Eta_sim() const { return eta_sim; }
- float Rho_sim() const { return rho_sim; }
- float Z_sim() const { return z_sim; }
- int ALCT_quality() const { return alct_quality; }
- int CLCT_quality() const { return clct_quality; }
+ /// Repurpose "strip" as GEM pad for GEM sourced hits
+ int Pad() const { return Strip(); }
+ /// Repurpose "strip" as GEM pad for GEM sourced hits
+ int Pad_hi() const { return Strip_hi(); }
+ /// Repurpose "strip" as GEM pad for GEM sourced hits
+ int Pad_low() const { return Strip_low(); }
+ /// "roll" corresponds to the GEM eta partition
+ int Partition() const { return Roll(); }
+ int Layer() const { return layer; }
+ /// Repurpose "quality" as the GEM cluster_size (number of pads in the cluster)
+ int ClusterSize() const { return Quality(); }
+ /// Repurpose "track_num" as the GEM cluster_id
+ int ClusterID() const { return Track_num(); }
+ // END GEM specific
+ int BC0() const { return bc0; }
+ int BX() const { return bx; }
+ int Stub_num() const { return stub_num; }
+ int Phi_fp() const { return phi_fp; }
+ int Theta_fp() const { return theta_fp; }
+ int Zone_hit() const { return zone_hit; }
+ int Zone_code() const { return zone_code; }
+ int FS_segment() const { return fs_segment; }
+ int FS_zone_code() const { return fs_zone_code; }
+ int BT_station() const { return bt_station; }
+ int BT_segment() const { return bt_segment; }
+ float Phi_loc() const { return phi_loc; }
+ float Phi_glob() const { return phi_glob; }
+ float Theta() const { return theta; }
+ float Eta() const { return eta; }
+ float Time() const { return time; }
+ float Phi_sim() const { return phi_sim; }
+ float Theta_sim() const { return theta_sim; }
+ float Eta_sim() const { return eta_sim; }
+ float Rho_sim() const { return rho_sim; }
+ float Z_sim() const { return z_sim; }
+ int ALCT_quality() const { return alct_quality; }
+ int CLCT_quality() const { return clct_quality; }
- bool Is_DT() const { return subsystem == l1tmu::kDT; }
- bool Is_CSC() const { return subsystem == l1tmu::kCSC; }
- bool Is_RPC() const { return subsystem == l1tmu::kRPC; }
- bool Is_GEM() const { return subsystem == l1tmu::kGEM; }
- bool Is_ME0() const { return subsystem == l1tmu::kME0; }
+ bool Is_DT() const { return subsystem == l1tmu::kDT; }
+ bool Is_CSC() const { return subsystem == l1tmu::kCSC; }
+ bool Is_RPC() const { return subsystem == l1tmu::kRPC; }
+ bool Is_GEM() const { return subsystem == l1tmu::kGEM; }
+ bool Is_ME0() const { return subsystem == l1tmu::kME0; }
- private:
- //CSCDetId csc_DetId;
- //RPCDetId rpc_DetId;
- //GEMDetId gem_DetId;
- //CSCCorrelatedLCTDigi csc_LCTDigi;
- //RPCDigi rpc_Digi;
- //CPPFDigi cppf_Digi;
- //GEMPadDigiCluster gem_PadClusterDigi;
+ private:
+ //CSCDetId csc_DetId;
+ //RPCDetId rpc_DetId;
+ //GEMDetId gem_DetId;
+ //CSCCorrelatedLCTDigi csc_LCTDigi;
+ //RPCDigi rpc_Digi;
+ //CPPFDigi cppf_Digi;
+ //GEMPadDigiCluster gem_PadClusterDigi;
- uint32_t rawDetId; ///< raw CMSSW DetId
- int subsystem; ///< 0 - 4. 0 for DT, 1 for CSC, 2 for RPC, 3 for GEM, 4 for ME0
- int endcap; ///< +/-1. For ME+ and ME-.
- int station; ///< 1 - 4.
- int ring; ///< 1 - 4. ME1/1a is denoted as "Ring 4". Should check dependence on input CSCDetId convention. - AWB 02.03.17
- int sector; ///< 1 - 6. CSC / GEM / EMTF sector convention: sector 1 starts at 15 degrees
- int sector_RPC; ///< 1 - 6. RPC sector convention (in CMSSW): sector 1 starts at -5 degrees
- int sector_idx; ///< 0 - 11. 0 - 5 for ME+, 6 - 11 for ME-. For neighbor hits, set by EMTF sector that received it.
- int subsector; ///< 0 - 6. In CSCs, 1 or 2 for ME1, 0 for ME2/3/4.
- int subsector_RPC; ///< 0 - 6. RPC sector convention (in CMSSW): subsector 3 is the first chamber in the EMTF sector.
- int chamber; ///< 1 - 36. Chamber 1 starts at -5 degrees.
- int csc_ID; ///< 1 - 9. For CSCs only.
- int csc_nID; ///< 1 - 15. For CSCs only. Neighbors 10 - 15, 12 not filled.
- int roll; ///< 1 - 3. For RPCs only, sub-division of ring. (Range? - AWB 02.03.17)
- int neighbor; ///< 0 or 1. Filled in EMTFBlock(ME|GEM|RPC).cc
- int mpc_link; ///< 1 - 3. Filled in EMTFHit.cc from CSCCorrelatedLCTDigi
- int pc_sector; ///< 1 - 6. EMTF sector that received the LCT, even those sent from neighbor sectors.
- int pc_station; ///< 0 - 5. 0 for ME1 subsector 1, 5 for neighbor hits.
- int pc_chamber; ///< 0 - 8.
- int pc_segment; ///< 0 - 3.
- int wire; ///< 0 - 111 For CSCs only.
- int strip; ///< 0 - 158 For CSCs only.
- int strip_hi; ///< ? - ?. For RPCs only, highest strip in a cluster. (Range? - AWB 02.03.17)
- int strip_low; ///< ? - ?. For RPCs only, lowest strip in a cluster. (Range? - AWB 02.03.17)
- int strip_quart; ///< Run 3 CSC parameters
- int strip_eighth; ///< Run 3 CSC parameters
- int strip_quart_bit; ///< Run 3 CSC parameters
- int strip_eighth_bit; ///< Run 3 CSC parameters
- int muon_shower_valid; ///< Run 3 muon shower
- int muon_shower_inTime; ///< Run 3 muon shower
- int muon_shower_outOfTime; ///< Run 3 muon shower
- int track_num; ///< ? - ?. For CSCs only. (Range? - AWB 02.03.17)
- int quality; ///< 0 - 15. For CSCs only.
- int pattern; ///< 0 - 10. For CSCs only.
- int pattern_run3; ///< Run 3 For CSC only.
- int bend; ///< 0 or 1. For CSCs only.
- int slope; ///< Run 3 For CSC only.
- int valid; ///< 0 or 1. For CSCs only (for now; could use to flag failing clusters? - AWB 02.03.17)
- int sync_err; ///< 0 or 1. For CSCs only.
- // GEM specific
- int layer; ///< 0 - 1. For GEMs only, superchamber detector layer (1 or 2).
- // END GEM specific
- int bc0; ///< 0 or 1. Only from unpacked data? - AWB 02.03.17
- int bx; ///< -3 - +3.
- int stub_num; ///< 0 or 1. Only from unpacked data? - AWB 02.03.17
- int phi_fp; ///< 0 - 4920
- int theta_fp; ///< 0 - 127
- int zone_hit; ///< 4 - 156 (Range? - AWB 02.03.17)
- int zone_code; ///< 0 - 12. (Range? - AWB 02.03.17)
- int fs_segment; ///< 0 - 13. (Range? - AWB 02.03.17)
- int fs_zone_code; ///< 1 - 14. (Range? - AWB 02.03.17)
- int bt_station; ///< 0 - 4.
- int bt_segment; ///< 0 - 25. (Range? - AWB 02.03.17)
- float phi_loc; ///< -20 - 60 (Range? - AWB 02.03.17)
- float phi_glob; ///< +/-180.
- float theta; ///< 0 - 90.
- float eta; ///< +/-2.5.
- float time; ///< ? - ?. RPC time information (ns)
- float phi_sim; ///< +/-180.
- float theta_sim; ///< 0 - 90.
- float eta_sim; ///< +/-2.5.
- float rho_sim; ///< ? - ?.
- float z_sim; ///< ? - ?.
- int alct_quality; ///< 1 - 3. For emulated CSC LCTs only, maps to number of ALCT layers (4 - 6).
- int clct_quality; ///< 4 - 6. For emulated CSC LCTs only, maps to number of CLCT layers (4 - 6).
-
- }; // End of class EMTFHit
+ uint32_t rawDetId; ///< raw CMSSW DetId
+ int subsystem; ///< 0 - 4. 0 for DT, 1 for CSC, 2 for RPC, 3 for GEM, 4 for ME0
+ int endcap; ///< +/-1. For ME+ and ME-.
+ int station; ///< 1 - 4.
+ int ring; ///< 1 - 4. ME1/1a is denoted as "Ring 4". Should check dependence on input CSCDetId convention. - AWB 02.03.17
+ int sector; ///< 1 - 6. CSC / GEM / EMTF sector convention: sector 1 starts at 15 degrees
+ int sector_RPC; ///< 1 - 6. RPC sector convention (in CMSSW): sector 1 starts at -5 degrees
+ int sector_idx; ///< 0 - 11. 0 - 5 for ME+, 6 - 11 for ME-. For neighbor hits, set by EMTF sector that received it.
+ int subsector; ///< 0 - 6. In CSCs, 1 or 2 for ME1, 0 for ME2/3/4.
+ int subsector_RPC; ///< 0 - 6. RPC sector convention (in CMSSW): subsector 3 is the first chamber in the EMTF sector.
+ int chamber; ///< 1 - 36. Chamber 1 starts at -5 degrees.
+ int csc_ID; ///< 1 - 9. For CSCs only.
+ int csc_nID; ///< 1 - 15. For CSCs only. Neighbors 10 - 15, 12 not filled.
+ int roll; ///< 1 - 3. For RPCs only, sub-division of ring. (Range? - AWB 02.03.17)
+ int neighbor; ///< 0 or 1. Filled in EMTFBlock(ME|GEM|RPC).cc
+ int mpc_link; ///< 1 - 3. Filled in EMTFHit.cc from CSCCorrelatedLCTDigi
+ int pc_sector; ///< 1 - 6. EMTF sector that received the LCT, even those sent from neighbor sectors.
+ int pc_station; ///< 0 - 5. 0 for ME1 subsector 1, 5 for neighbor hits.
+ int pc_chamber; ///< 0 - 8.
+ int pc_segment; ///< 0 - 3.
+ int wire; ///< 0 - 111 For CSCs only.
+ int strip; ///< 0 - 158 For CSCs only.
+ int strip_hi; ///< ? - ?. For RPCs only, highest strip in a cluster. (Range? - AWB 02.03.17)
+ int strip_low; ///< ? - ?. For RPCs only, lowest strip in a cluster. (Range? - AWB 02.03.17)
+ int strip_quart; ///< Run 3 CSC parameters
+ int strip_eighth; ///< Run 3 CSC parameters
+ int strip_quart_bit; ///< Run 3 CSC parameters
+ int strip_eighth_bit; ///< Run 3 CSC parameters
+ int muon_shower_valid; ///< Run 3 muon shower
+ int muon_shower_inTime; ///< Run 3 muon shower
+ int muon_shower_outOfTime; ///< Run 3 muon shower
+ int track_num; ///< ? - ?. For CSCs only. (Range? - AWB 02.03.17)
+ int quality; ///< 0 - 15. For CSCs only.
+ int pattern; ///< 0 - 10. For CSCs only.
+ int pattern_run3; ///< Run 3 For CSC only.
+ int bend; ///< 0 or 1. For CSCs only.
+ int slope; ///< Run 3 For CSC only.
+ int valid; ///< 0 or 1. For CSCs only (for now; could use to flag failing clusters? - AWB 02.03.17)
+ int sync_err; ///< 0 or 1. For CSCs only.
+ // GEM specific
+ int layer; ///< 0 - 1. For GEMs only, superchamber detector layer (1 or 2).
+ // END GEM specific
+ int bc0; ///< 0 or 1. Only from unpacked data? - AWB 02.03.17
+ int bx; ///< -3 - +3.
+ int stub_num; ///< 0 or 1. Only from unpacked data? - AWB 02.03.17
+ int phi_fp; ///< 0 - 4920
+ int theta_fp; ///< 0 - 127
+ int zone_hit; ///< 4 - 156 (Range? - AWB 02.03.17)
+ int zone_code; ///< 0 - 12. (Range? - AWB 02.03.17)
+ int fs_segment; ///< 0 - 13. (Range? - AWB 02.03.17)
+ int fs_zone_code; ///< 1 - 14. (Range? - AWB 02.03.17)
+ int bt_station; ///< 0 - 4.
+ int bt_segment; ///< 0 - 25. (Range? - AWB 02.03.17)
+ float phi_loc; ///< -20 - 60 (Range? - AWB 02.03.17)
+ float phi_glob; ///< +/-180.
+ float theta; ///< 0 - 90.
+ float eta; ///< +/-2.5.
+ float time; ///< ? - ?. RPC time information (ns)
+ float phi_sim; ///< +/-180.
+ float theta_sim; ///< 0 - 90.
+ float eta_sim; ///< +/-2.5.
+ float rho_sim; ///< ? - ?.
+ float z_sim; ///< ? - ?.
+ int alct_quality; ///< 1 - 3. For emulated CSC LCTs only, maps to number of ALCT layers (4 - 6).
+ int clct_quality; ///< 4 - 6. For emulated CSC LCTs only, maps to number of CLCT layers (4 - 6).
+ }; // End of class EMTFHit
+ } // namespace io_v1
+ using EMTFHit = io_v1::EMTFHit;
// Define a vector of EMTFHit
typedef std::vector EMTFHitCollection;
diff --git a/DataFormats/L1TMuon/interface/EMTFTrack.h b/DataFormats/L1TMuon/interface/EMTFTrack.h
index d96c4fcc41275..9756b1f117818 100644
--- a/DataFormats/L1TMuon/interface/EMTFTrack.h
+++ b/DataFormats/L1TMuon/interface/EMTFTrack.h
@@ -41,212 +41,214 @@ namespace l1t {
uint16_t bt_si[5]; // ^
};
- class EMTFTrack {
- public:
- EMTFTrack()
- : _PtLUT(),
- endcap(-99),
- sector(-99),
- sector_idx(-99),
- mode(-99),
- mode_CSC(0),
- mode_RPC(0),
- mode_GEM(0),
- mode_neighbor(0),
- mode_inv(-99),
- rank(-99),
- winner(-99),
- charge(-99),
- bx(-99),
- first_bx(-99),
- second_bx(-99),
- pt(-99),
- pt_XML(-99),
- pt_dxy(-99),
- dxy(-99),
- zone(-99),
- ph_num(-99),
- ph_q(-99),
- theta_fp(-99),
- theta(-99),
- eta(-99),
- phi_fp(-99),
- phi_loc(-99),
- phi_glob(-999),
- gmt_pt(-99),
- gmt_pt_dxy(-99),
- gmt_dxy(-99),
- gmt_phi(-999),
- gmt_eta(-999),
- gmt_quality(-99),
- gmt_charge(-99),
- gmt_charge_valid(-99),
- track_num(-99),
- numHits(-99) {}
-
- virtual ~EMTFTrack() {}
-
- void ImportSP(const emtf::SP _SP, int _sector);
- // void ImportPtLUT( int _mode, unsigned long _address );
-
- void clear_Hits() {
- _Hits.clear();
- numHits = 0;
- mode_CSC = 0;
- mode_RPC = 0;
- mode_GEM = 0;
- mode_neighbor = 0;
- }
-
- void push_Hit(const EMTFHit& hit) {
- _Hits.push_back(hit);
- numHits = _Hits.size();
- if (hit.Is_CSC())
- mode_CSC |= (1 << (4 - hit.Station()));
- if (hit.Is_RPC())
- mode_RPC |= (1 << (4 - hit.Station()));
- if (hit.Is_GEM())
- mode_GEM |= (1 << (4 - hit.Station()));
- if (hit.Neighbor())
- mode_neighbor |= (1 << (4 - hit.Station()));
- }
-
- void set_Hits(const EMTFHitCollection& hits) {
- clear_Hits();
- for (const auto& hit : hits)
- push_Hit(hit);
- }
-
- void clear_HitIdx() { _HitIdx.clear(); }
- void push_HitIdx(unsigned int bits) { _HitIdx.push_back(bits); }
- void set_HitIdx(const std::vector& bits) { _HitIdx = bits; }
-
- int NumHits() const { return numHits; }
- EMTFHitCollection Hits() const { return _Hits; }
- std::vector HitIdx() const { return _HitIdx; }
-
- void set_PtLUT(EMTFPtLUT bits) { _PtLUT = bits; }
- EMTFPtLUT PtLUT() const { return _PtLUT; }
-
- void set_endcap(int bits) { endcap = bits; }
- void set_sector(int bits) { sector = bits; }
- void set_sector_idx(int bits) { sector_idx = bits; }
- void set_mode(int bits) { mode = bits; }
- void set_mode_inv(int bits) { mode_inv = bits; }
- void set_rank(int bits) { rank = bits; }
- void set_winner(int bits) { winner = bits; }
- void set_charge(int bits) { charge = bits; }
- void set_bx(int bits) { bx = bits; }
- void set_first_bx(int bits) { first_bx = bits; }
- void set_second_bx(int bits) { second_bx = bits; }
- void set_pt(float val) { pt = val; }
- void set_pt_XML(float val) { pt_XML = val; }
- void set_pt_dxy(float val) { pt_dxy = val; }
- void set_dxy(float val) { dxy = val; }
- void set_zone(int bits) { zone = bits; }
- void set_ph_num(int bits) { ph_num = bits; }
- void set_ph_q(int bits) { ph_q = bits; }
- void set_theta_fp(int bits) { theta_fp = bits; }
- void set_theta(float val) { theta = val; }
- void set_eta(float val) { eta = val; }
- void set_phi_fp(int bits) { phi_fp = bits; }
- void set_phi_loc(float val) { phi_loc = val; }
- void set_phi_glob(float val) { phi_glob = val; }
- void set_gmt_pt(int bits) { gmt_pt = bits; }
- void set_gmt_pt_dxy(int bits) { gmt_pt_dxy = bits; }
- void set_gmt_dxy(int bits) { gmt_dxy = bits; }
- void set_gmt_phi(int bits) { gmt_phi = bits; }
- void set_gmt_eta(int bits) { gmt_eta = bits; }
- void set_gmt_quality(int bits) { gmt_quality = bits; }
- void set_gmt_charge(int bits) { gmt_charge = bits; }
- void set_gmt_charge_valid(int bits) { gmt_charge_valid = bits; }
- void set_track_num(int bits) { track_num = bits; }
-
- int Endcap() const { return endcap; }
- int Sector() const { return sector; }
- int Sector_idx() const { return sector_idx; }
- int Mode() const { return mode; }
- int Mode_CSC() const { return mode_CSC; }
- int Mode_RPC() const { return mode_RPC; }
- int Mode_GEM() const { return mode_GEM; }
- int Mode_neighbor() const { return mode_neighbor; }
- int Mode_inv() const { return mode_inv; }
- int Rank() const { return rank; }
- int Winner() const { return winner; }
- int Charge() const { return charge; }
- int BX() const { return bx; }
- int First_BX() const { return first_bx; }
- int Second_BX() const { return second_bx; }
- float Pt() const { return pt; }
- float Pt_XML() const { return pt_XML; }
- float Pt_dxy() const { return pt_dxy; }
- float Dxy() const { return dxy; }
- int Zone() const { return zone; }
- int Ph_num() const { return ph_num; }
- int Ph_q() const { return ph_q; }
- int Theta_fp() const { return theta_fp; }
- float Theta() const { return theta; }
- float Eta() const { return eta; }
- int Phi_fp() const { return phi_fp; }
- float Phi_loc() const { return phi_loc; }
- float Phi_glob() const { return phi_glob; }
- int GMT_pt() const { return gmt_pt; }
- int GMT_pt_dxy() const { return gmt_pt_dxy; }
- int GMT_dxy() const { return gmt_dxy; }
- int GMT_phi() const { return gmt_phi; }
- int GMT_eta() const { return gmt_eta; }
- int GMT_quality() const { return gmt_quality; }
- int GMT_charge() const { return gmt_charge; }
- int GMT_charge_valid() const { return gmt_charge_valid; }
- int Track_num() const { return track_num; }
-
- private:
- EMTFHitCollection _Hits;
- std::vector _HitIdx;
-
- EMTFPtLUT _PtLUT;
-
- int endcap; // +/-1. For ME+ and ME-.
- int sector; // 1 - 6.
- int sector_idx; // 0 - 11. 0 - 5 for ME+, 6 - 11 for ME-.
- int mode; // 0 - 15.
- int mode_CSC; // 0 - 15, CSC-only
- int mode_RPC; // 0 - 15, RPC-only
- int mode_GEM; // 0 - 15, GEM-only // TODO: verify if needed when including GEM, also start the good habit of documenting these
- int mode_neighbor; // 0 - 15, only neighbor hits
- int mode_inv; // 15 - 0.
- int rank; // 0 - 127 (Range? - AWB 03.03.17)
- int winner; // 0 - 2. (Range? - AWB 03.03.17)
- int charge; // +/-1. For physical charge (reversed from GMT convention)
- int bx; // -3 - +3.
- int first_bx; // -3 - +3.
- int second_bx; // -3 - +3.
- float pt; // 0 - 255
- float pt_XML; // 0 - 999
- float pt_dxy; // 0 - 127
- float dxy; // 0 - 3
- int zone; // 0 - 3.
- int ph_num;
- int ph_q;
- int theta_fp; // 0 - 127
- float theta; // 0 - 90.
- float eta; // +/-2.5.
- int phi_fp; // 0 - 4920
- float phi_loc; // -22 - 60 (Range? - AWB 03.03.17)
- float phi_glob; // +/-180.
- int gmt_pt;
- int gmt_pt_dxy;
- int gmt_dxy;
- int gmt_phi;
- int gmt_eta;
- int gmt_quality;
- int gmt_charge;
- int gmt_charge_valid;
- int track_num; // 0 - ??. (Range? - AWB 03.03.17)
- int numHits; // 1 - 4.
-
- }; // End of class EMTFTrack
+ namespace io_v1 {
+ class EMTFTrack {
+ public:
+ EMTFTrack()
+ : _PtLUT(),
+ endcap(-99),
+ sector(-99),
+ sector_idx(-99),
+ mode(-99),
+ mode_CSC(0),
+ mode_RPC(0),
+ mode_GEM(0),
+ mode_neighbor(0),
+ mode_inv(-99),
+ rank(-99),
+ winner(-99),
+ charge(-99),
+ bx(-99),
+ first_bx(-99),
+ second_bx(-99),
+ pt(-99),
+ pt_XML(-99),
+ pt_dxy(-99),
+ dxy(-99),
+ zone(-99),
+ ph_num(-99),
+ ph_q(-99),
+ theta_fp(-99),
+ theta(-99),
+ eta(-99),
+ phi_fp(-99),
+ phi_loc(-99),
+ phi_glob(-999),
+ gmt_pt(-99),
+ gmt_pt_dxy(-99),
+ gmt_dxy(-99),
+ gmt_phi(-999),
+ gmt_eta(-999),
+ gmt_quality(-99),
+ gmt_charge(-99),
+ gmt_charge_valid(-99),
+ track_num(-99),
+ numHits(-99) {}
+ virtual ~EMTFTrack() {}
+
+ void ImportSP(const emtf::SP _SP, int _sector);
+ // void ImportPtLUT( int _mode, unsigned long _address );
+
+ void clear_Hits() {
+ _Hits.clear();
+ numHits = 0;
+ mode_CSC = 0;
+ mode_RPC = 0;
+ mode_GEM = 0;
+ mode_neighbor = 0;
+ }
+
+ void push_Hit(const EMTFHit& hit) {
+ _Hits.push_back(hit);
+ numHits = _Hits.size();
+ if (hit.Is_CSC())
+ mode_CSC |= (1 << (4 - hit.Station()));
+ if (hit.Is_RPC())
+ mode_RPC |= (1 << (4 - hit.Station()));
+ if (hit.Is_GEM())
+ mode_GEM |= (1 << (4 - hit.Station()));
+ if (hit.Neighbor())
+ mode_neighbor |= (1 << (4 - hit.Station()));
+ }
+
+ void set_Hits(const EMTFHitCollection& hits) {
+ clear_Hits();
+ for (const auto& hit : hits)
+ push_Hit(hit);
+ }
+
+ void clear_HitIdx() { _HitIdx.clear(); }
+ void push_HitIdx(unsigned int bits) { _HitIdx.push_back(bits); }
+ void set_HitIdx(const std::vector& bits) { _HitIdx = bits; }
+
+ int NumHits() const { return numHits; }
+ EMTFHitCollection Hits() const { return _Hits; }
+ std::vector HitIdx() const { return _HitIdx; }
+
+ void set_PtLUT(EMTFPtLUT bits) { _PtLUT = bits; }
+ EMTFPtLUT PtLUT() const { return _PtLUT; }
+
+ void set_endcap(int bits) { endcap = bits; }
+ void set_sector(int bits) { sector = bits; }
+ void set_sector_idx(int bits) { sector_idx = bits; }
+ void set_mode(int bits) { mode = bits; }
+ void set_mode_inv(int bits) { mode_inv = bits; }
+ void set_rank(int bits) { rank = bits; }
+ void set_winner(int bits) { winner = bits; }
+ void set_charge(int bits) { charge = bits; }
+ void set_bx(int bits) { bx = bits; }
+ void set_first_bx(int bits) { first_bx = bits; }
+ void set_second_bx(int bits) { second_bx = bits; }
+ void set_pt(float val) { pt = val; }
+ void set_pt_XML(float val) { pt_XML = val; }
+ void set_pt_dxy(float val) { pt_dxy = val; }
+ void set_dxy(float val) { dxy = val; }
+ void set_zone(int bits) { zone = bits; }
+ void set_ph_num(int bits) { ph_num = bits; }
+ void set_ph_q(int bits) { ph_q = bits; }
+ void set_theta_fp(int bits) { theta_fp = bits; }
+ void set_theta(float val) { theta = val; }
+ void set_eta(float val) { eta = val; }
+ void set_phi_fp(int bits) { phi_fp = bits; }
+ void set_phi_loc(float val) { phi_loc = val; }
+ void set_phi_glob(float val) { phi_glob = val; }
+ void set_gmt_pt(int bits) { gmt_pt = bits; }
+ void set_gmt_pt_dxy(int bits) { gmt_pt_dxy = bits; }
+ void set_gmt_dxy(int bits) { gmt_dxy = bits; }
+ void set_gmt_phi(int bits) { gmt_phi = bits; }
+ void set_gmt_eta(int bits) { gmt_eta = bits; }
+ void set_gmt_quality(int bits) { gmt_quality = bits; }
+ void set_gmt_charge(int bits) { gmt_charge = bits; }
+ void set_gmt_charge_valid(int bits) { gmt_charge_valid = bits; }
+ void set_track_num(int bits) { track_num = bits; }
+
+ int Endcap() const { return endcap; }
+ int Sector() const { return sector; }
+ int Sector_idx() const { return sector_idx; }
+ int Mode() const { return mode; }
+ int Mode_CSC() const { return mode_CSC; }
+ int Mode_RPC() const { return mode_RPC; }
+ int Mode_GEM() const { return mode_GEM; }
+ int Mode_neighbor() const { return mode_neighbor; }
+ int Mode_inv() const { return mode_inv; }
+ int Rank() const { return rank; }
+ int Winner() const { return winner; }
+ int Charge() const { return charge; }
+ int BX() const { return bx; }
+ int First_BX() const { return first_bx; }
+ int Second_BX() const { return second_bx; }
+ float Pt() const { return pt; }
+ float Pt_XML() const { return pt_XML; }
+ float Pt_dxy() const { return pt_dxy; }
+ float Dxy() const { return dxy; }
+ int Zone() const { return zone; }
+ int Ph_num() const { return ph_num; }
+ int Ph_q() const { return ph_q; }
+ int Theta_fp() const { return theta_fp; }
+ float Theta() const { return theta; }
+ float Eta() const { return eta; }
+ int Phi_fp() const { return phi_fp; }
+ float Phi_loc() const { return phi_loc; }
+ float Phi_glob() const { return phi_glob; }
+ int GMT_pt() const { return gmt_pt; }
+ int GMT_pt_dxy() const { return gmt_pt_dxy; }
+ int GMT_dxy() const { return gmt_dxy; }
+ int GMT_phi() const { return gmt_phi; }
+ int GMT_eta() const { return gmt_eta; }
+ int GMT_quality() const { return gmt_quality; }
+ int GMT_charge() const { return gmt_charge; }
+ int GMT_charge_valid() const { return gmt_charge_valid; }
+ int Track_num() const { return track_num; }
+
+ private:
+ EMTFHitCollection _Hits;
+ std::vector _HitIdx;
+
+ EMTFPtLUT _PtLUT;
+
+ int endcap; // +/-1. For ME+ and ME-.
+ int sector; // 1 - 6.
+ int sector_idx; // 0 - 11. 0 - 5 for ME+, 6 - 11 for ME-.
+ int mode; // 0 - 15.
+ int mode_CSC; // 0 - 15, CSC-only
+ int mode_RPC; // 0 - 15, RPC-only
+ int mode_GEM; // 0 - 15, GEM-only // TODO: verify if needed when including GEM, also start the good habit of documenting these
+ int mode_neighbor; // 0 - 15, only neighbor hits
+ int mode_inv; // 15 - 0.
+ int rank; // 0 - 127 (Range? - AWB 03.03.17)
+ int winner; // 0 - 2. (Range? - AWB 03.03.17)
+ int charge; // +/-1. For physical charge (reversed from GMT convention)
+ int bx; // -3 - +3.
+ int first_bx; // -3 - +3.
+ int second_bx; // -3 - +3.
+ float pt; // 0 - 255
+ float pt_XML; // 0 - 999
+ float pt_dxy; // 0 - 127
+ float dxy; // 0 - 3
+ int zone; // 0 - 3.
+ int ph_num;
+ int ph_q;
+ int theta_fp; // 0 - 127
+ float theta; // 0 - 90.
+ float eta; // +/-2.5.
+ int phi_fp; // 0 - 4920
+ float phi_loc; // -22 - 60 (Range? - AWB 03.03.17)
+ float phi_glob; // +/-180.
+ int gmt_pt;
+ int gmt_pt_dxy;
+ int gmt_dxy;
+ int gmt_phi;
+ int gmt_eta;
+ int gmt_quality;
+ int gmt_charge;
+ int gmt_charge_valid;
+ int track_num; // 0 - ??. (Range? - AWB 03.03.17)
+ int numHits; // 1 - 4.
+
+ }; // End of class EMTFTrack
+ } // namespace io_v1
+ using EMTFTrack = io_v1::EMTFTrack;
// Define a vector of EMTFTrack
typedef std::vector EMTFTrackCollection;
diff --git a/DataFormats/L1TMuon/interface/RegionalMuonCand.h b/DataFormats/L1TMuon/interface/RegionalMuonCand.h
index 8aa26b1eee5b7..0446ea7feb9d8 100644
--- a/DataFormats/L1TMuon/interface/RegionalMuonCand.h
+++ b/DataFormats/L1TMuon/interface/RegionalMuonCand.h
@@ -5,224 +5,225 @@
#include