Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:05:10

0001 #ifndef DataFormats_ScoutingMuon_h
0002 #define DataFormats_ScoutingMuon_h
0003 
0004 #include <vector>
0005 
0006 // Class for holding muon information, for use in data scouting
0007 // IMPORTANT: the content of this class should be changed only in backwards compatible ways!
0008 class ScoutingMuon {
0009 public:
0010   //constructor with values for all data fields
0011   ScoutingMuon(float pt,
0012                float eta,
0013                float phi,
0014                float m,
0015                float ecalIso,
0016                float hcalIso,
0017                float trackIso,
0018                float chi2,
0019                float ndof,
0020                int charge,
0021                float dxy,
0022                float dz,
0023                int nValidMuonHits,
0024                int nValidPixelHits,
0025                int nMatchedStations,
0026                int nTrackerLayersWithMeasurement,
0027                int type,
0028                int nValidStripHits,
0029                float trk_qoverp,
0030                float trk_lambda,
0031                float trk_pt,
0032                float trk_phi,
0033                float trk_eta,
0034                float dxyError,
0035                float dzError,
0036                float trk_qoverpError,
0037                float trk_lambdaError,
0038                float trk_phiError,
0039                float trk_dsz,
0040                float trk_dszError,
0041                std::vector<int> vtxIndx)
0042       : pt_(pt),
0043         eta_(eta),
0044         phi_(phi),
0045         m_(m),
0046         ecalIso_(ecalIso),
0047         hcalIso_(hcalIso),
0048         trackIso_(trackIso),
0049         chi2_(chi2),
0050         ndof_(ndof),
0051         charge_(charge),
0052         dxy_(dxy),
0053         dz_(dz),
0054         nValidMuonHits_(nValidMuonHits),
0055         nValidPixelHits_(nValidPixelHits),
0056         nMatchedStations_(nMatchedStations),
0057         nTrackerLayersWithMeasurement_(nTrackerLayersWithMeasurement),
0058         type_(type),
0059         nValidStripHits_(nValidStripHits),
0060         trk_qoverp_(trk_qoverp),
0061         trk_lambda_(trk_lambda),
0062         trk_pt_(trk_pt),
0063         trk_phi_(trk_phi),
0064         trk_eta_(trk_eta),
0065         dxyError_(dxyError),
0066         dzError_(dzError),
0067         trk_qoverpError_(trk_qoverpError),
0068         trk_lambdaError_(trk_lambdaError),
0069         trk_phiError_(trk_phiError),
0070         trk_dsz_(trk_dsz),
0071         trk_dszError_(trk_dszError),
0072         vtxIndx_(std::move(vtxIndx)) {}
0073   //default constructor
0074   ScoutingMuon()
0075       : pt_(0),
0076         eta_(0),
0077         phi_(0),
0078         m_(0),
0079         ecalIso_(0),
0080         hcalIso_(0),
0081         trackIso_(0),
0082         chi2_(0),
0083         ndof_(0),
0084         charge_(0),
0085         dxy_(0),
0086         dz_(0),
0087         nValidMuonHits_(0),
0088         nValidPixelHits_(0),
0089         nMatchedStations_(0),
0090         nTrackerLayersWithMeasurement_(0),
0091         type_(0),
0092         nValidStripHits_(0),
0093         trk_qoverp_(0),
0094         trk_lambda_(0),
0095         trk_pt_(0),
0096         trk_phi_(0),
0097         trk_eta_(0),
0098         dxyError_(0),
0099         dzError_(0),
0100         trk_qoverpError_(0),
0101         trk_lambdaError_(0),
0102         trk_phiError_(0),
0103         trk_dsz_(0),
0104         trk_dszError_(0),
0105         vtxIndx_(0) {}
0106 
0107   //accessor functions
0108   float pt() const { return pt_; }
0109   float eta() const { return eta_; }
0110   float phi() const { return phi_; }
0111   float m() const { return m_; }
0112   float ecalIso() const { return ecalIso_; }
0113   float hcalIso() const { return hcalIso_; }
0114   float trackIso() const { return trackIso_; }
0115   float chi2() const { return chi2_; }
0116   float ndof() const { return ndof_; }
0117   int charge() const { return charge_; }
0118   float dxy() const { return dxy_; }
0119   float dz() const { return dz_; }
0120   int nValidMuonHits() const { return nValidMuonHits_; }
0121   int nValidPixelHits() const { return nValidPixelHits_; }
0122   int nMatchedStations() const { return nMatchedStations_; }
0123   int nTrackerLayersWithMeasurement() const { return nTrackerLayersWithMeasurement_; }
0124   int type() const { return type_; }
0125   bool isGlobalMuon() const { return type_ & 1 << 1; }
0126   bool isTrackerMuon() const { return type_ & 1 << 2; }
0127   int nValidStripHits() const { return nValidStripHits_; }
0128   float trk_qoverp() const { return trk_qoverp_; }
0129   float trk_lambda() const { return trk_lambda_; }
0130   float trk_pt() const { return trk_pt_; }
0131   float trk_phi() const { return trk_phi_; }
0132   float trk_eta() const { return trk_eta_; }
0133   float dxyError() const { return dxyError_; }
0134   float dzError() const { return dzError_; }
0135   float trk_qoverpError() const { return trk_qoverpError_; }
0136   float trk_lambdaError() const { return trk_lambdaError_; }
0137   float trk_phiError() const { return trk_phiError_; }
0138   float trk_dsz() const { return trk_dsz_; }
0139   float trk_dszError() const { return trk_dszError_; }
0140   std::vector<int> vtxIndx() const { return vtxIndx_; }
0141 
0142 private:
0143   float pt_;
0144   float eta_;
0145   float phi_;
0146   float m_;
0147   float ecalIso_;
0148   float hcalIso_;
0149   float trackIso_;
0150   float chi2_;
0151   float ndof_;
0152   int charge_;
0153   float dxy_;
0154   float dz_;
0155   int nValidMuonHits_;
0156   int nValidPixelHits_;
0157   int nMatchedStations_;
0158   int nTrackerLayersWithMeasurement_;
0159   int type_;
0160   int nValidStripHits_;
0161   float trk_qoverp_;
0162   float trk_lambda_;
0163   float trk_pt_;
0164   float trk_phi_;
0165   float trk_eta_;
0166   float dxyError_;
0167   float dzError_;
0168   float trk_qoverpError_;
0169   float trk_lambdaError_;
0170   float trk_phiError_;
0171   float trk_dsz_;
0172   float trk_dszError_;
0173   std::vector<int> vtxIndx_;
0174 };
0175 
0176 typedef std::vector<ScoutingMuon> ScoutingMuonCollection;
0177 
0178 #endif