File indexing completed on 2025-03-05 03:16:36
0001 #ifndef L1Trigger_L1TGEM_ME0StubBuilder_H
0002 #define L1Trigger_L1TGEM_ME0StubBuilder_H
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #include <cstdint>
0016
0017 #include "DataFormats/GEMDigi/interface/GEMPadDigiCollection.h"
0018 #include "L1Trigger/L1TGEM/interface/ME0StubPrimitive.h"
0019 #include "DataFormats/GEMDigi/interface/ME0StubCollection.h"
0020 #include "Geometry/GEMGeometry/interface/GEMGeometry.h"
0021 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0022 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0023
0024 class ME0StubAlgorithmBase;
0025
0026 class ME0StubBuilder {
0027 public:
0028 explicit ME0StubBuilder(const edm::ParameterSet&);
0029 ~ME0StubBuilder();
0030
0031 void build(const GEMPadDigiCollection* padDigis, ME0StubCollection& oc);
0032
0033 static void fillDescription(edm::ParameterSetDescription& descriptions);
0034
0035 private:
0036 bool skipCentroids_;
0037 std::vector<int32_t> layerThresholdPatternId_;
0038 std::vector<int32_t> layerThresholdEta_;
0039 int32_t maxSpan_;
0040 int32_t width_;
0041 bool deghostPre_;
0042 bool deghostPost_;
0043 int32_t groupWidth_;
0044 int32_t ghostWidth_;
0045 bool xPartitionEnabled_;
0046 bool enableNonPointing_;
0047 int32_t crossPartitionSegmentWidth_;
0048 int32_t numOutputs_;
0049 bool checkIds_;
0050 int32_t edgeDistance_;
0051 int32_t numOr_;
0052 double mseThreshold_;
0053 };
0054
0055 #endif