Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormats_Run3ScoutingTrack_h
0002 #define DataFormats_Run3ScoutingTrack_h
0003 
0004 #include <vector>
0005 
0006 //class for holding track information, for use in data scouting
0007 // IMPORTANT: the content of this class should be changed only in backwards compatible ways!
0008 class Run3ScoutingTrack {
0009 public:
0010   //constructor with values for all data fields
0011   Run3ScoutingTrack(float tk_pt,
0012                     float tk_eta,
0013                     float tk_phi,
0014                     float tk_chi2,
0015                     float tk_ndof,
0016                     int tk_charge,
0017                     float tk_dxy,
0018                     float tk_dz,
0019                     int tk_nValidPixelHits,
0020                     int tk_nTrackerLayersWithMeasurement,
0021                     int tk_nValidStripHits,
0022                     float tk_qoverp,
0023                     float tk_lambda,
0024                     float tk_dxy_Error,
0025                     float tk_dz_Error,
0026                     float tk_qoverp_Error,
0027                     float tk_lambda_Error,
0028                     float tk_phi_Error,
0029                     float tk_dsz,
0030                     float tk_dsz_Error,
0031                     float tk_qoverp_lambda_cov,
0032                     float tk_qoverp_phi_cov,
0033                     float tk_qoverp_dxy_cov,
0034                     float tk_qoverp_dsz_cov,
0035                     float tk_lambda_phi_cov,
0036                     float tk_lambda_dxy_cov,
0037                     float tk_lambda_dsz_cov,
0038                     float tk_phi_dxy_cov,
0039                     float tk_phi_dsz_cov,
0040                     float tk_dxy_dsz_cov,
0041                     int tk_vtxInd,
0042                     float tk_vx,
0043                     float tk_vy,
0044                     float tk_vz)
0045       : tk_pt_(tk_pt),
0046         tk_eta_(tk_eta),
0047         tk_phi_(tk_phi),
0048         tk_chi2_(tk_chi2),
0049         tk_ndof_(tk_ndof),
0050         tk_charge_(tk_charge),
0051         tk_dxy_(tk_dxy),
0052         tk_dz_(tk_dz),
0053         tk_nValidPixelHits_(tk_nValidPixelHits),
0054         tk_nTrackerLayersWithMeasurement_(tk_nTrackerLayersWithMeasurement),
0055         tk_nValidStripHits_(tk_nValidStripHits),
0056         tk_qoverp_(tk_qoverp),
0057         tk_lambda_(tk_lambda),
0058         tk_dxy_Error_(tk_dxy_Error),
0059         tk_dz_Error_(tk_dz_Error),
0060         tk_qoverp_Error_(tk_qoverp_Error),
0061         tk_lambda_Error_(tk_lambda_Error),
0062         tk_phi_Error_(tk_phi_Error),
0063         tk_dsz_(tk_dsz),
0064         tk_dsz_Error_(tk_dsz_Error),
0065         tk_qoverp_lambda_cov_(tk_qoverp_lambda_cov),
0066         tk_qoverp_phi_cov_(tk_qoverp_phi_cov),
0067         tk_qoverp_dxy_cov_(tk_qoverp_dxy_cov),
0068         tk_qoverp_dsz_cov_(tk_qoverp_dsz_cov),
0069         tk_lambda_phi_cov_(tk_lambda_phi_cov),
0070         tk_lambda_dxy_cov_(tk_lambda_dxy_cov),
0071         tk_lambda_dsz_cov_(tk_lambda_dsz_cov),
0072         tk_phi_dxy_cov_(tk_phi_dxy_cov),
0073         tk_phi_dsz_cov_(tk_phi_dsz_cov),
0074         tk_dxy_dsz_cov_(tk_dxy_dsz_cov),
0075         tk_vtxInd_(tk_vtxInd),
0076         tk_vx_(tk_vx),
0077         tk_vy_(tk_vy),
0078         tk_vz_(tk_vz) {}
0079   //default constructor
0080   Run3ScoutingTrack()
0081       : tk_pt_(0),
0082         tk_eta_(0),
0083         tk_phi_(0),
0084         tk_chi2_(0),
0085         tk_ndof_(0),
0086         tk_charge_(0),
0087         tk_dxy_(0),
0088         tk_dz_(0),
0089         tk_nValidPixelHits_(0),
0090         tk_nTrackerLayersWithMeasurement_(0),
0091         tk_nValidStripHits_(0),
0092         tk_qoverp_(0),
0093         tk_lambda_(0),
0094         tk_dxy_Error_(0),
0095         tk_dz_Error_(0),
0096         tk_qoverp_Error_(0),
0097         tk_lambda_Error_(0),
0098         tk_phi_Error_(0),
0099         tk_dsz_(0),
0100         tk_dsz_Error_(0),
0101         tk_qoverp_lambda_cov_(0),
0102         tk_qoverp_phi_cov_(0),
0103         tk_qoverp_dxy_cov_(0),
0104         tk_qoverp_dsz_cov_(0),
0105         tk_lambda_phi_cov_(0),
0106         tk_lambda_dxy_cov_(0),
0107         tk_lambda_dsz_cov_(0),
0108         tk_phi_dxy_cov_(0),
0109         tk_phi_dsz_cov_(0),
0110         tk_dxy_dsz_cov_(0),
0111         tk_vtxInd_(0),
0112         tk_vx_(0),
0113         tk_vy_(0),
0114         tk_vz_(0) {}
0115 
0116   //accessor functions
0117   float tk_pt() const { return tk_pt_; }
0118   float tk_eta() const { return tk_eta_; }
0119   float tk_phi() const { return tk_phi_; }
0120   float tk_chi2() const { return tk_chi2_; }
0121   float tk_ndof() const { return tk_ndof_; }
0122   int tk_charge() const { return tk_charge_; }
0123   float tk_dxy() const { return tk_dxy_; }
0124   float tk_dz() const { return tk_dz_; }
0125   int tk_nValidPixelHits() const { return tk_nValidPixelHits_; }
0126   int tk_nTrackerLayersWithMeasurement() const { return tk_nTrackerLayersWithMeasurement_; }
0127   int tk_nValidStripHits() const { return tk_nValidStripHits_; }
0128   float tk_qoverp() const { return tk_qoverp_; }
0129   float tk_lambda() const { return tk_lambda_; }
0130   float tk_dxy_Error() const { return tk_dxy_Error_; }
0131   float tk_dz_Error() const { return tk_dz_Error_; }
0132   float tk_qoverp_Error() const { return tk_qoverp_Error_; }
0133   float tk_lambda_Error() const { return tk_lambda_Error_; }
0134   float tk_phi_Error() const { return tk_phi_Error_; }
0135   float tk_dsz() const { return tk_dsz_; }
0136   float tk_dsz_Error() const { return tk_dsz_Error_; }
0137   //add off-diagonal covariance matrix parameter, the above "Error" variables correspond to the diagonal, enum for Cov matrix (qoverp, lambda, phi, dxy, dsz), see https://github.com/cms-sw/cmssw/blob/CMSSW_11_2_X/DataFormats/TrackReco/src/TrackBase.cc for details
0138   float tk_qoverp_lambda_cov() const { return tk_qoverp_lambda_cov_; }
0139   float tk_qoverp_phi_cov() const { return tk_qoverp_phi_cov_; }
0140   float tk_qoverp_dxy_cov() const { return tk_qoverp_dxy_cov_; }
0141   float tk_qoverp_dsz_cov() const { return tk_qoverp_dsz_cov_; }
0142   float tk_lambda_phi_cov() const { return tk_lambda_phi_cov_; }
0143   float tk_lambda_dxy_cov() const { return tk_lambda_dxy_cov_; }
0144   float tk_lambda_dsz_cov() const { return tk_lambda_dsz_cov_; }
0145   float tk_phi_dxy_cov() const { return tk_phi_dxy_cov_; }
0146   float tk_phi_dsz_cov() const { return tk_phi_dsz_cov_; }
0147   float tk_dxy_dsz_cov() const { return tk_dxy_dsz_cov_; }
0148   int tk_vtxInd() const { return tk_vtxInd_; }
0149   float tk_vx() const { return tk_vx_; }
0150   float tk_vy() const { return tk_vy_; }
0151   float tk_vz() const { return tk_vz_; }
0152 
0153 private:
0154   float tk_pt_;
0155   float tk_eta_;
0156   float tk_phi_;
0157   float tk_chi2_;
0158   float tk_ndof_;
0159   int tk_charge_;
0160   float tk_dxy_;
0161   float tk_dz_;
0162   int tk_nValidPixelHits_;
0163   int tk_nTrackerLayersWithMeasurement_;
0164   int tk_nValidStripHits_;
0165   float tk_qoverp_;
0166   float tk_lambda_;
0167   float tk_dxy_Error_;
0168   float tk_dz_Error_;
0169   float tk_qoverp_Error_;
0170   float tk_lambda_Error_;
0171   float tk_phi_Error_;
0172   float tk_dsz_;
0173   float tk_dsz_Error_;
0174   float tk_qoverp_lambda_cov_;
0175   float tk_qoverp_phi_cov_;
0176   float tk_qoverp_dxy_cov_;
0177   float tk_qoverp_dsz_cov_;
0178   float tk_lambda_phi_cov_;
0179   float tk_lambda_dxy_cov_;
0180   float tk_lambda_dsz_cov_;
0181   float tk_phi_dxy_cov_;
0182   float tk_phi_dsz_cov_;
0183   float tk_dxy_dsz_cov_;
0184   int tk_vtxInd_;
0185   float tk_vx_;
0186   float tk_vy_;
0187   float tk_vz_;
0188 };
0189 
0190 typedef std::vector<Run3ScoutingTrack> Run3ScoutingTrackCollection;
0191 
0192 #endif