Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:35:56

0001 #ifndef DataFormats_MuonSeed_L3MuonTrajectorySeed_H
0002 #define DataFormats_MuonSeed_L3MuonTrajectorySeed_H
0003 
0004 /** \class L3MuonTrajectorySeed
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  J.-R. Vlimant 
0009  */
0010 
0011 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
0012 #include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h"
0013 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0014 #include "DataFormats/L1Trigger/interface/Muon.h"
0015 
0016 class L3MuonTrajectorySeed : public TrajectorySeed {
0017 public:
0018   /// Default constructor
0019   L3MuonTrajectorySeed() {}
0020 
0021   /// Constructor with L1 ref
0022   L3MuonTrajectorySeed(const TrajectorySeed& base, const l1extra::L1MuonParticleRef& l1Ref)
0023       : TrajectorySeed(base), theL1Particle(l1Ref) {}
0024 
0025   /// Constructor with L1T ref
0026   L3MuonTrajectorySeed(const TrajectorySeed& base, const l1t::MuonRef& l1Ref)
0027       : TrajectorySeed(base), theL1TParticle(l1Ref) {}
0028 
0029   /// Constructor with L2 ref
0030   L3MuonTrajectorySeed(const TrajectorySeed& base, const reco::TrackRef& l2Ref)
0031       : TrajectorySeed(base), theL2Track(l2Ref) {}
0032 
0033   /// Destructor
0034   ~L3MuonTrajectorySeed() override {}
0035 
0036   //accessors
0037 
0038   /// Get L1 info
0039   inline l1extra::L1MuonParticleRef l1Particle() const { return theL1Particle; }
0040   inline l1t::MuonRef l1tParticle() const { return theL1TParticle; }
0041 
0042   /// Get L2 info
0043   inline reco::TrackRef l2Track() const { return theL2Track; }
0044 
0045 protected:
0046 private:
0047   l1extra::L1MuonParticleRef theL1Particle;
0048   l1t::MuonRef theL1TParticle;
0049   reco::TrackRef theL2Track;
0050 };
0051 #endif