CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CSCDigiToRaw.h
Go to the documentation of this file.
1 #ifndef EventFilter_CSCDigiToRaw_h
2 #define EventFilter_CSCDigiToRaw_h
3 
20 
23 class CSCChamberMap;
24 
25 class CSCDigiToRaw {
26 public:
28  explicit CSCDigiToRaw(const edm::ParameterSet & pset);
29 
31  void createFedBuffers(const CSCStripDigiCollection& stripDigis,
32  const CSCWireDigiCollection& wireDigis,
33  const CSCComparatorDigiCollection& comparatorDigis,
34  const CSCALCTDigiCollection& alctDigis,
35  const CSCCLCTDigiCollection& clctDigis,
36  const CSCCLCTPreTriggerCollection& preTriggers,
37  const CSCCorrelatedLCTDigiCollection& correlatedLCTDigis,
38  FEDRawDataCollection& fed_buffers,
39  const CSCChamberMap* theMapping,
40  edm::Event & e);
41 
42 private:
43  void beginEvent(const CSCChamberMap* electronicsMap);
44 
45  // specialized because it reverses strip direction
46  void add(const CSCStripDigiCollection& stripDigis,
47  const CSCCLCTPreTriggerCollection& preTriggers);
48  void add(const CSCWireDigiCollection& wireDigis);
49  // may require CLCTs to read out comparators. Doesn't add CLCTs.
50  void add(const CSCComparatorDigiCollection & comparatorDigis,
51  const CSCCLCTDigiCollection & clctDigis);
52  void add(const CSCALCTDigiCollection & alctDigis);
53  void add(const CSCCLCTDigiCollection & clctDigis);
54  void add(const CSCCorrelatedLCTDigiCollection & corrLCTDigis);
55 
57  CSCEventData & findEventData(const CSCDetId & cscDetId);
58 
60  CSCDetId chamberID(const CSCDetId & cscDetId) const;
61 
62  std::map<CSCDetId, CSCEventData> theChamberDataMap;
64  // used to zero-suppress strips
67 };
68 
69 
70 
71 
72 #endif
void add(const CSCStripDigiCollection &stripDigis, const CSCCLCTPreTriggerCollection &preTriggers)
Definition: CSCDigiToRaw.cc:62
void createFedBuffers(const CSCStripDigiCollection &stripDigis, const CSCWireDigiCollection &wireDigis, const CSCComparatorDigiCollection &comparatorDigis, const CSCALCTDigiCollection &alctDigis, const CSCCLCTDigiCollection &clctDigis, const CSCCLCTPreTriggerCollection &preTriggers, const CSCCorrelatedLCTDigiCollection &correlatedLCTDigis, FEDRawDataCollection &fed_buffers, const CSCChamberMap *theMapping, edm::Event &e)
Take a vector of digis and fill the FEDRawDataCollection.
bool requireCLCTForComparators_
Definition: CSCDigiToRaw.h:66
const CSCChamberMap * theElectronicsMap
Definition: CSCDigiToRaw.h:63
bool requirePreTrigger_
Definition: CSCDigiToRaw.h:65
tuple pset
Definition: CrabTask.py:85
CSCDigiToRaw(const edm::ParameterSet &pset)
Constructor.
Definition: CSCDigiToRaw.cc:30
void beginEvent(const CSCChamberMap *electronicsMap)
Definition: CSCDigiToRaw.cc:35
std::map< CSCDetId, CSCEventData > theChamberDataMap
Definition: CSCDigiToRaw.h:62
CSCEventData & findEventData(const CSCDetId &cscDetId)
pick out the correct data object for this chamber
Definition: CSCDigiToRaw.cc:42
CSCDetId chamberID(const CSCDetId &cscDetId) const
takes layer ID, converts to chamber ID, switching ME1A to ME11