CMS 3D CMS Logo

PixelDataFormatter.h
Go to the documentation of this file.
1 #ifndef EventFilter_SiPixelRawToDigi_interface_PixelDataFormatter_h
2 #define EventFilter_SiPixelRawToDigi_interface_PixelDataFormatter_h
3 
33 //
34 // Add the phase1 format
35 //
36 // CMSSW include(s)
48 
49 // standard include(s)
50 #include <vector>
51 #include <map>
52 #include <set>
53 
54 class FEDRawData;
55 class SiPixelFedCabling;
56 class SiPixelQuality;
60 
62 public:
63  using DetErrors = std::vector<SiPixelRawDataError>;
64  using Errors = std::map<cms_uint32_t, DetErrors>;
66  using RawData = std::map<int, FEDRawData>;
67  using DetDigis = std::vector<PixelDigi>;
68  using Digis = std::map<cms_uint32_t, DetDigis>;
69  using DetBadChannels = std::vector<PixelFEDChannel>;
70  using BadChannels = std::map<cms_uint32_t, DetBadChannels>;
71  using FEDWordsMap = std::map<int, std::vector<Word32>>;
72  using ModuleIDSet = std::set<unsigned int>;
73 
75 
76  void setErrorStatus(bool ErrorStatus);
77  void setQualityStatus(bool QualityStatus, const SiPixelQuality* QualityInfo);
78  void setModulesToUnpack(const ModuleIDSet* moduleIds);
79  void passFrameReverter(const SiPixelFrameReverter* reverter);
80 
81  int nDigis() const { return theDigiCounter_; }
82  int nWords() const { return theWordCounter_; }
83 
84  void interpretRawData(bool& errorsInEvent, int fedId, const FEDRawData& data, Collection& digis, Errors& errors);
85 
86  void formatRawData(unsigned int lvl1_ID, RawData& fedRawData, const Digis& digis, const BadChannels& badChannels);
87 
88  void unpackFEDErrors(Errors const& errors,
89  std::vector<int> const& tkerrorlist,
90  std::vector<int> const& usererrorlist,
92  DetIdCollection& tkerror_detidcollection,
93  DetIdCollection& usererror_detidcollection,
94  edmNew::DetSetVector<PixelFEDChannel>& disabled_channelcollection,
95  DetErrors& nodeterrors);
96 
97 private:
98  mutable int theDigiCounter_;
99  mutable int theWordCounter_;
100 
105 
110  std::unique_ptr<ErrorCheckerBase> errorcheck_;
111 
113  bool phase1_;
114 
115  int checkError(const Word32& data) const;
116 
117  int digi2word(cms_uint32_t detId, const PixelDigi& digi, FEDWordsMap& words) const;
118  int digi2wordPhase1Layer1(cms_uint32_t detId, const PixelDigi& digi, FEDWordsMap& words) const;
119 
120  std::string print(const PixelDigi& digi) const;
121  std::string print(const Word64& word) const;
122 
123  cms_uint32_t errorDetId(const SiPixelFrameConverter* converter, int fedId, int errorType, const Word32& word) const;
124 };
125 
126 #endif // EventFilter_SiPixelRawToDigi_interface_PixelDataFormatter_h
edm::DetSetVector< PixelDigi >
cms_uint32_t
unsigned int cms_uint32_t
Definition: typedefs.h:15
SiPixelFrameReverter
Definition: SiPixelFrameReverter.h:17
PixelDataFormatter::nWords
int nWords() const
Definition: PixelDataFormatter.h:82
PixelDataFormatter::theCablingTree_
SiPixelFedCablingTree const * theCablingTree_
Definition: PixelDataFormatter.h:101
PixelDataFormatter::RawData
std::map< int, FEDRawData > RawData
Definition: PixelDataFormatter.h:66
converter
Definition: CandidateProducer.h:25
PixelDataFormatter::Errors
std::map< cms_uint32_t, DetErrors > Errors
Definition: PixelDataFormatter.h:64
PixelDataFormatter::DetErrors
std::vector< SiPixelRawDataError > DetErrors
Definition: PixelDataFormatter.h:63
PixelFEDChannel.h
PixelDataFormatter::interpretRawData
void interpretRawData(bool &errorsInEvent, int fedId, const FEDRawData &data, Collection &digis, Errors &errors)
Definition: PixelDataFormatter.cc:71
PixelDigi
Definition: PixelDigi.h:14
PixelDataFormatter::badPixelInfo_
const SiPixelQuality * badPixelInfo_
Definition: PixelDataFormatter.h:103
PixelDigi.h
PixelDataFormatter::includeErrors_
bool includeErrors_
Definition: PixelDataFormatter.h:106
SiPixelFedCabling
Definition: SiPixelFedCabling.h:10
FEDRawData.h
ErrorChecker.h
FEDRawData
Definition: FEDRawData.h:19
PixelDataFormatter::hasDetDigis_
int hasDetDigis_
Definition: PixelDataFormatter.h:109
PixelDataFormatter
Definition: PixelDataFormatter.h:61
word
uint64_t word
Definition: CTPPSTotemDataFormatter.cc:29
PixelDataFormatter::theDigiCounter_
int theDigiCounter_
Definition: PixelDataFormatter.h:98
l1t_dqm_sourceclient-live_cfg.fedRawData
fedRawData
Definition: l1t_dqm_sourceclient-live_cfg.py:188
errors
Definition: errors.py:1
PixelDataFormatter::phase1_
bool phase1_
Definition: PixelDataFormatter.h:113
PixelDataFormatter::nDigis
int nDigis() const
Definition: PixelDataFormatter.h:81
PixelDataFormatter::maxROCIndex_
int maxROCIndex_
Definition: PixelDataFormatter.h:112
Word64
cms_uint64_t Word64
Definition: SiPixelDigiConstants.h:7
typedefs.h
PixelDataFormatter::errorDetId
cms_uint32_t errorDetId(const SiPixelFrameConverter *converter, int fedId, int errorType, const Word32 &word) const
PixelDataFormatter::ModuleIDSet
std::set< unsigned int > ModuleIDSet
Definition: PixelDataFormatter.h:72
PixelDataFormatter::DetDigis
std::vector< PixelDigi > DetDigis
Definition: PixelDataFormatter.h:67
PixelDataFormatter::errorcheck_
std::unique_ptr< ErrorCheckerBase > errorcheck_
Definition: PixelDataFormatter.h:110
PixelDataFormatter::modulesToUnpack_
const ModuleIDSet * modulesToUnpack_
Definition: PixelDataFormatter.h:104
SiPixelQuality
Definition: SiPixelQuality.h:27
PixelDataFormatter::DetBadChannels
std::vector< PixelFEDChannel > DetBadChannels
Definition: PixelDataFormatter.h:69
PixelDataFormatter::setModulesToUnpack
void setModulesToUnpack(const ModuleIDSet *moduleIds)
Definition: PixelDataFormatter.cc:67
PixelDataFormatter::PixelDataFormatter
PixelDataFormatter(const SiPixelFedCablingTree *map, bool phase1_=false)
Definition: PixelDataFormatter.cc:28
PixelDataFormatter::print
std::string print(const PixelDigi &digi) const
Definition: PixelDataFormatter.cc:356
PixelDataFormatter::FEDWordsMap
std::map< int, std::vector< Word32 > > FEDWordsMap
Definition: PixelDataFormatter.h:71
PixelDataFormatter::theFrameReverter_
const SiPixelFrameReverter * theFrameReverter_
Definition: PixelDataFormatter.h:102
SiPixelFrameConverter
Definition: SiPixelFrameConverter.h:15
DetSetVector.h
l1tstage2_dqm_sourceclient-live_cfg.fedId
fedId
Definition: l1tstage2_dqm_sourceclient-live_cfg.py:89
PixelDataFormatter::digi2wordPhase1Layer1
int digi2wordPhase1Layer1(cms_uint32_t detId, const PixelDigi &digi, FEDWordsMap &words) const
Definition: PixelDataFormatter.cc:334
PixelDataFormatter::Digis
std::map< cms_uint32_t, DetDigis > Digis
Definition: PixelDataFormatter.h:68
PixelDataFormatter::digi2word
int digi2word(cms_uint32_t detId, const PixelDigi &digi, FEDWordsMap &words) const
Definition: PixelDataFormatter.cc:316
edm::EDCollection< DetId >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PixelDataFormatter::checkError
int checkError(const Word32 &data) const
PixelDataFormatter::useQualityInfo_
bool useQualityInfo_
Definition: PixelDataFormatter.h:107
PixelDataFormatter::theWordCounter_
int theWordCounter_
Definition: PixelDataFormatter.h:99
ErrorCheckerPhase0.h
edmNew::DetSetVector
Definition: DetSetNew.h:13
Word32
cms_uint32_t Word32
Definition: SiPixelDigiConstants.h:8
PixelDataFormatter::unpackFEDErrors
void unpackFEDErrors(Errors const &errors, std::vector< int > const &tkerrorlist, std::vector< int > const &usererrorlist, edm::DetSetVector< SiPixelRawDataError > &errorcollection, DetIdCollection &tkerror_detidcollection, DetIdCollection &usererror_detidcollection, edmNew::DetSetVector< PixelFEDChannel > &disabled_channelcollection, DetErrors &nodeterrors)
Definition: PixelDataFormatter.cc:368
PixelDataFormatter::passFrameReverter
void passFrameReverter(const SiPixelFrameReverter *reverter)
Definition: PixelDataFormatter.cc:69
PixelDataFormatter::formatRawData
void formatRawData(unsigned int lvl1_ID, RawData &fedRawData, const Digis &digis, const BadChannels &badChannels)
Definition: PixelDataFormatter.cc:213
PixelDataFormatter::setErrorStatus
void setErrorStatus(bool ErrorStatus)
Definition: PixelDataFormatter.cc:57
SiPixelDigiConstants.h
PixelDataFormatter::BadChannels
std::map< cms_uint32_t, DetBadChannels > BadChannels
Definition: PixelDataFormatter.h:70
SiPixelRawDataError.h
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
genParticles_cff.map
map
Definition: genParticles_cff.py:11
PixelDataFormatter::Collection
edm::DetSetVector< PixelDigi > Collection
Definition: PixelDataFormatter.h:65
PixelDataFormatter::allDetDigis_
int allDetDigis_
Definition: PixelDataFormatter.h:108
SiPixelFedCablingTree
Definition: SiPixelFedCablingTree.h:13
PixelDataFormatter::setQualityStatus
void setQualityStatus(bool QualityStatus, const SiPixelQuality *QualityInfo)
Definition: PixelDataFormatter.cc:62
DetIdCollection.h
SiPixelFrameReverter.h