L2MuonTrajectorySeed

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
#ifndef DataFormats_MuonSeed_L2MuonTrajectorySeed_H
#define DataFormats_MuonSeed_L2MuonTrajectorySeed_H

/** \class L2MuonTrajectorySeed
 *  Concrete class for the seed used by the second level of the muon HLT.
 *  It stores the information (and the link) from the L1 particle 
 *
 *  \author R. Bellan - INFN Torino <riccardo.bellan@cern.ch>
 */

#include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
#include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h"
#include "DataFormats/L1TMuonPhase2/interface/TrackerMuon.h"
#include "DataFormats/L1Trigger/interface/Muon.h"
#include "DataFormats/TrajectorySeed/interface/PropagationDirection.h"
#include "DataFormats/TrajectoryState/interface/PTrajectoryStateOnDet.h"

class L2MuonTrajectorySeed : public TrajectorySeed {
public:
  /// Default constructor
  L2MuonTrajectorySeed();

  /// Constructor
  L2MuonTrajectorySeed(PTrajectoryStateOnDet const& ptsos,
                       RecHitContainer const& rh,
                       PropagationDirection dir,
                       l1extra::L1MuonParticleRef l1Ref);

  /// Constructor for stage2 L1
  L2MuonTrajectorySeed(PTrajectoryStateOnDet const& ptsos,
                       RecHitContainer const& rh,
                       PropagationDirection dir,
                       l1t::MuonRef l1Ref);

  L2MuonTrajectorySeed(PTrajectoryStateOnDet const& ptsos,
                       RecHitContainer const& rh,
                       PropagationDirection dir,
                       l1t::TrackerMuonRef l1TkMuRef);

  /// Destructor
  ~L2MuonTrajectorySeed() override {}

  // Operations

  /// Get L1 info
  inline l1extra::L1MuonParticleRef l1Particle() const { return theL1Particle; }
  inline l1t::MuonRef l1tParticle() const { return theL1TParticle; }
  inline l1t::TrackerMuonRef l1TkMu() const { return theL1TkMu; }

private:
  l1extra::L1MuonParticleRef theL1Particle;
  l1t::MuonRef theL1TParticle;
  l1t::TrackerMuonRef theL1TkMu;
};
#endif