Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:19:45

0001 #ifndef L1Trigger_DTTriggerPhase2_LateralityBasicProvider_h
0002 #define L1Trigger_DTTriggerPhase2_LateralityBasicProvider_h
0003 
0004 #include "L1Trigger/DTTriggerPhase2/interface/LateralityProvider.h"
0005 
0006 // ===============================================================================
0007 // Previous definitions and declarations
0008 // ===============================================================================
0009 
0010 struct lat_combination {
0011   short missing_layer;
0012   short cellLayout[cmsdt::NUM_LAYERS];
0013   lat_vector latcombs;
0014 };
0015 
0016 // ===============================================================================
0017 // Class declarations
0018 // ===============================================================================
0019 
0020 class LateralityBasicProvider : public LateralityProvider {
0021 public:
0022   // Constructors and destructor
0023   LateralityBasicProvider(const edm::ParameterSet &pset, edm::ConsumesCollector &iC);
0024   ~LateralityBasicProvider() override;
0025 
0026   // Main methods
0027   void initialise(const edm::EventSetup &iEventSetup) override;
0028   void run(edm::Event &iEvent,
0029            const edm::EventSetup &iEventSetup,
0030            MuonPathPtrs &inMpath,
0031            std::vector<lat_vector> &lateralities) override;
0032 
0033   void finish() override;
0034 
0035   // Other public methods
0036 
0037 private:
0038   // Private methods
0039   void analyze(MuonPathPtr &inMPath, std::vector<lat_vector> &lateralities);
0040   void fill_lat_combinations();
0041   // Private attributes
0042   const bool debug_;
0043   std::vector<lat_combination> lat_combinations;
0044 };
0045 
0046 #endif