CMS 3D CMS Logo

CSCDigiToRaw.h
Go to the documentation of this file.
1 #ifndef EventFilter_CSCRawToDigi_CSCDigiToRaw_h
2 #define EventFilter_CSCRawToDigi_CSCDigiToRaw_h
3 
22 
24 class CSCChamberMap;
25 
26 class CSCDigiToRaw {
27 public:
30 
32  explicit CSCDigiToRaw(const edm::ParameterSet& pset);
33 
35  void createFedBuffers(const CSCStripDigiCollection& stripDigis,
36  const CSCWireDigiCollection& wireDigis,
37  const CSCComparatorDigiCollection& comparatorDigis,
38  const CSCALCTDigiCollection& alctDigis,
39  const CSCCLCTDigiCollection& clctDigis,
40  const CSCCLCTPreTriggerCollection* preTriggers,
41  const CSCCLCTPreTriggerDigiCollection* preTriggerDigis,
42  const CSCCorrelatedLCTDigiCollection& correlatedLCTDigis,
43  const CSCShowerDigiCollection* showerDigis,
44  const CSCShowerDigiCollection* anodeShowerDigis,
45  const CSCShowerDigiCollection* cathodeShowerDigis,
46  const CSCShowerDigiCollection* anodeALCTShowerDigis,
47  const GEMPadDigiClusterCollection* padDigiClusters,
48  FEDRawDataCollection& fed_buffers,
49  const CSCChamberMap* theMapping,
50  const edm::EventID& eid) const;
51 
52 private:
55 
56  using ChamberDataMap = std::map<CSCDetId, CSCEventData>;
59  const uint16_t formatVersion_;
60  };
61 
62  // specialized because it reverses strip direction
63  void add(const CSCStripDigiCollection& stripDigis,
64  const CSCCLCTPreTriggerCollection* preTriggers,
65  const CSCCLCTPreTriggerDigiCollection* preTriggerDigis,
66  FindEventDataInfo&) const;
67  void add(const CSCWireDigiCollection& wireDigis, const CSCALCTDigiCollection& alctDigis, FindEventDataInfo&) const;
68  // may require CLCTs to read out comparators. Doesn't add CLCTs.
69  void add(const CSCComparatorDigiCollection& comparatorDigis,
70  const CSCCLCTDigiCollection& clctDigis,
71  FindEventDataInfo&) const;
72  void add(const CSCALCTDigiCollection& alctDigis, FindEventDataInfo&) const;
73  void add(const CSCCLCTDigiCollection& clctDigis, FindEventDataInfo&) const;
74  void add(const CSCCorrelatedLCTDigiCollection& corrLCTDigis, FindEventDataInfo&) const;
76  void add(const CSCShowerDigiCollection& cscShowerDigis,
78  enum CSCShowerType shower = CSCShowerType::lctShower) const;
80  void add(const GEMPadDigiClusterCollection& gemPadClusters, FindEventDataInfo&) const;
82  CSCEventData& findEventData(const CSCDetId& cscDetId, FindEventDataInfo&) const;
83 
84  const int alctWindowMin_;
85  const int alctWindowMax_;
86  const int clctWindowMin_;
87  const int clctWindowMax_;
90 
91  uint16_t formatVersion_;
95 };
96 
97 #endif
uint16_t formatVersion_
Definition: CSCDigiToRaw.h:91
bool usePreTriggers_
Definition: CSCDigiToRaw.h:93
const int clctWindowMin_
Definition: CSCDigiToRaw.h:86
bool packEverything_
Definition: CSCDigiToRaw.h:92
void add(const CSCStripDigiCollection &stripDigis, const CSCCLCTPreTriggerCollection *preTriggers, const CSCCLCTPreTriggerDigiCollection *preTriggerDigis, FindEventDataInfo &) const
Definition: CSCDigiToRaw.cc:71
const int clctWindowMax_
Definition: CSCDigiToRaw.h:87
std::map< CSCDetId, CSCEventData > ChamberDataMap
Definition: CSCDigiToRaw.h:56
const int preTriggerWindowMin_
Definition: CSCDigiToRaw.h:88
const int preTriggerWindowMax_
Definition: CSCDigiToRaw.h:89
CSCShowerType
CSC Shower HMT bits types.
Definition: CSCDigiToRaw.h:29
CSCDigiToRaw(const edm::ParameterSet &pset)
Constructor.
Definition: CSCDigiToRaw.cc:29
const CSCChamberMap * theElectronicsMap
Definition: CSCDigiToRaw.h:58
const int alctWindowMin_
Definition: CSCDigiToRaw.h:84
FindEventDataInfo(const CSCChamberMap *map, uint16_t version)
Definition: CSCDigiToRaw.h:54
const int alctWindowMax_
Definition: CSCDigiToRaw.h:85
CSCEventData & findEventData(const CSCDetId &cscDetId, FindEventDataInfo &) const
pick out the correct data object for this chamber
Definition: CSCDigiToRaw.cc:44
void createFedBuffers(const CSCStripDigiCollection &stripDigis, const CSCWireDigiCollection &wireDigis, const CSCComparatorDigiCollection &comparatorDigis, const CSCALCTDigiCollection &alctDigis, const CSCCLCTDigiCollection &clctDigis, const CSCCLCTPreTriggerCollection *preTriggers, const CSCCLCTPreTriggerDigiCollection *preTriggerDigis, const CSCCorrelatedLCTDigiCollection &correlatedLCTDigis, const CSCShowerDigiCollection *showerDigis, const CSCShowerDigiCollection *anodeShowerDigis, const CSCShowerDigiCollection *cathodeShowerDigis, const CSCShowerDigiCollection *anodeALCTShowerDigis, const GEMPadDigiClusterCollection *padDigiClusters, FEDRawDataCollection &fed_buffers, const CSCChamberMap *theMapping, const edm::EventID &eid) const
Take a vector of digis and fill the FEDRawDataCollection.
bool packByCFEB_
Definition: CSCDigiToRaw.h:94
A container for a generic type of digis indexed by some index, implemented with a map<IndexType...