Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-12-21 03:54:34

0001 #ifndef DataFormats_MuonSeed_L2MuonTrajectorySeed_H
0002 #define DataFormats_MuonSeed_L2MuonTrajectorySeed_H
0003 
0004 /** \class L2MuonTrajectorySeed
0005  *  Concrete class for the seed used by the second level of the muon HLT.
0006  *  It stores the information (and the link) from the L1 particle 
0007  *
0008  *  \author R. Bellan - INFN Torino <riccardo.bellan@cern.ch>
0009  */
0010 
0011 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
0012 #include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h"
0013 #include "DataFormats/L1TMuonPhase2/interface/TrackerMuon.h"
0014 #include "DataFormats/L1Trigger/interface/Muon.h"
0015 #include "DataFormats/TrajectorySeed/interface/PropagationDirection.h"
0016 #include "DataFormats/TrajectoryState/interface/PTrajectoryStateOnDet.h"
0017 
0018 class L2MuonTrajectorySeed : public TrajectorySeed {
0019 public:
0020   /// Default constructor
0021   L2MuonTrajectorySeed();
0022 
0023   /// Constructor
0024   L2MuonTrajectorySeed(PTrajectoryStateOnDet const& ptsos,
0025                        RecHitContainer const& rh,
0026                        PropagationDirection dir,
0027                        l1extra::L1MuonParticleRef l1Ref);
0028 
0029   /// Constructor for stage2 L1
0030   L2MuonTrajectorySeed(PTrajectoryStateOnDet const& ptsos,
0031                        RecHitContainer const& rh,
0032                        PropagationDirection dir,
0033                        l1t::MuonRef l1Ref);
0034 
0035   L2MuonTrajectorySeed(PTrajectoryStateOnDet const& ptsos,
0036                        RecHitContainer const& rh,
0037                        PropagationDirection dir,
0038                        l1t::TrackerMuonRef l1TkMuRef);
0039 
0040   /// Destructor
0041   ~L2MuonTrajectorySeed() override {}
0042 
0043   // Operations
0044 
0045   /// Get L1 info
0046   inline l1extra::L1MuonParticleRef l1Particle() const { return theL1Particle; }
0047   inline l1t::MuonRef l1tParticle() const { return theL1TParticle; }
0048   inline l1t::TrackerMuonRef l1TkMu() const { return theL1TkMu; }
0049 
0050 private:
0051   l1extra::L1MuonParticleRef theL1Particle;
0052   l1t::MuonRef theL1TParticle;
0053   l1t::TrackerMuonRef theL1TkMu;
0054 };
0055 #endif