Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:08:34

0001 #ifndef DQM_SISTRIPCOMMISSIONINGSOURCES_PEDSFULLNOISETASK_H
0002 #define DQM_SISTRIPCOMMISSIONINGSOURCES_PEDSFULLNOISETASK_H
0003 
0004 #include <vector>
0005 
0006 #include "DataFormats/Common/interface/DetSet.h"
0007 #include "DQM/SiStripCommissioningSources/interface/CommissioningTask.h"
0008 #include "DQMServices/Core/interface/DQMStore.h"
0009 
0010 // Forward Declarations
0011 namespace edm {
0012   class ParameterSet;
0013 }
0014 class FedChannelConnection;
0015 class SiStripEventSummary;
0016 class SiStripRawDigi;
0017 class TH2S;
0018 
0019 /**
0020    @class PedsFullNoiseTask
0021 */
0022 class PedsFullNoiseTask : public CommissioningTask {
0023 public:
0024   PedsFullNoiseTask(DQMStore *dqm, const FedChannelConnection &conn, const edm::ParameterSet &pset);
0025   ~PedsFullNoiseTask() override;
0026 
0027 private:
0028   void book() override;
0029   void fill(const SiStripEventSummary &, const edm::DetSet<SiStripRawDigi> &) override;
0030   void update() override;
0031 
0032   // analysis histograms and related variables
0033   HistoSet pedhist_, noiseprof_;
0034   CompactHistoSet noisehist_;
0035   TH2S *hist2d_;
0036   std::vector<int16_t> peds_;
0037   std::vector<float> pedsfl_;
0038   // keeps track of whether desired number of events were skipped
0039   bool skipped_;
0040   // number of events to skip
0041   uint16_t nskip_;
0042   // keeps track of whether pedestal step is finished
0043   bool pedsdone_;
0044   // number of events to be used for pedestals
0045   uint16_t nevpeds_;
0046   // width of the expected noise peak (1 bin/adc hardcoded)
0047   uint16_t nadcnoise_;
0048   // number of strips per apv
0049   uint16_t nstrips_;
0050   // whether to fill the old-style noise profile
0051   bool fillnoiseprofile_;
0052   // for expert debugging only! - whether to use average instead of median CM
0053   bool useavgcm_;
0054   // for expert debugging only! - whether to use float pedestals instead of rounded int's
0055   bool usefloatpeds_;
0056 };
0057 
0058 #endif  // DQM_SISTRIPCOMMISSIONINGSOURCES_PEDSFULLNOISETASK_H