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
0008
0009
0010 struct lat_combination {
0011 short missing_layer;
0012 short cellLayout[cmsdt::NUM_LAYERS];
0013 lat_vector latcombs;
0014 };
0015
0016
0017
0018
0019
0020 class LateralityBasicProvider : public LateralityProvider {
0021 public:
0022
0023 LateralityBasicProvider(const edm::ParameterSet &pset, edm::ConsumesCollector &iC);
0024 ~LateralityBasicProvider() override;
0025
0026
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
0036
0037 private:
0038
0039 void analyze(MuonPathPtr &inMPath, std::vector<lat_vector> &lateralities);
0040 void fill_lat_combinations();
0041
0042 const bool debug_;
0043 std::vector<lat_combination> lat_combinations;
0044 };
0045
0046 #endif