Go to the documentation of this file.00001 #ifndef CSCTriggerPrimitives_CSCTriggerPrimitivesBuilder_h
00002 #define CSCTriggerPrimitives_CSCTriggerPrimitivesBuilder_h
00003
00018 #include <CondFormats/CSCObjects/interface/CSCBadChambers.h>
00019 #include <DataFormats/CSCDigi/interface/CSCComparatorDigiCollection.h>
00020 #include <DataFormats/CSCDigi/interface/CSCWireDigiCollection.h>
00021 #include <DataFormats/CSCDigi/interface/CSCALCTDigiCollection.h>
00022 #include <DataFormats/CSCDigi/interface/CSCCLCTDigiCollection.h>
00023 #include <DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h>
00024 #include <DataFormats/CSCDigi/interface/CSCCLCTPreTriggerCollection.h>
00025 #include <FWCore/ParameterSet/interface/ParameterSet.h>
00026
00027 class CSCDBL1TPParameters;
00028 class CSCMotherboard;
00029 class CSCMuonPortCard;
00030
00031 class CSCTriggerPrimitivesBuilder
00032 {
00033 public:
00034
00039 explicit CSCTriggerPrimitivesBuilder(const edm::ParameterSet&);
00040
00041 ~CSCTriggerPrimitivesBuilder();
00042
00044 void setConfigParameters(const CSCDBL1TPParameters* conf);
00045
00049 void build(const CSCBadChambers* badChambers,
00050 const CSCWireDigiCollection* wiredc,
00051 const CSCComparatorDigiCollection* compdc,
00052 CSCALCTDigiCollection& oc_alct, CSCCLCTDigiCollection& oc_clct,
00053 CSCCLCTPreTriggerCollection & oc_pretrig,
00054 CSCCorrelatedLCTDigiCollection& oc_lct,
00055 CSCCorrelatedLCTDigiCollection& oc_sorted_lct);
00056
00059 enum trig_cscs {MAX_ENDCAPS = 2, MAX_STATIONS = 4, MAX_SECTORS = 6,
00060 MAX_SUBSECTORS = 2, MAX_CHAMBERS = 9};
00061 private:
00062
00065 static const int min_endcap;
00066 static const int max_endcap;
00067 static const int min_station;
00068 static const int max_station;
00069 static const int min_sector;
00070 static const int max_sector;
00071 static const int min_subsector;
00072 static const int max_subsector;
00073 static const int min_chamber;
00074 static const int max_chamber;
00075
00077 bool checkBadChambers_;
00078
00080 bool smartME1aME1b, disableME1a;
00081
00083 bool disableME42;
00084
00085 int m_minBX, m_maxBX;
00086
00088 CSCMotherboard*
00089 tmb_[MAX_ENDCAPS][MAX_STATIONS][MAX_SECTORS][MAX_SUBSECTORS][MAX_CHAMBERS];
00090
00092 CSCMuonPortCard* m_muonportcard;
00093 };
00094
00095 #endif