File indexing completed on 2024-04-06 11:59:38
0001 #ifndef Tracker_APVAnalysis_h
0002 #define Tracker_APVAnalysis_h
0003
0004 #include <vector>
0005 #include <iostream>
0006
0007 #include "FWCore/Framework/interface/Frameworkfwd.h"
0008 #include "DataFormats/Common/interface/DetSetVector.h"
0009 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h"
0010 #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h"
0011
0012 #include "FWCore/Framework/interface/Event.h"
0013
0014
0015
0016 #ifdef DEBUG_INSTANCE_COUNTING
0017 #include "CommonDet/DetUtilities/interface/InstanceCounting.h"
0018 #endif
0019
0020 class TkApvMask;
0021 class TkCommonModeCalculator;
0022 class TkPedestalCalculator;
0023 class TkNoiseCalculator;
0024
0025 #include <vector>
0026 #include <utility>
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037 class ApvAnalysis
0038 #ifdef DEBUG_INSTANCE_COUNTING
0039 : public InstanceCounting<ApvAnalysis>
0040 #endif
0041 {
0042 public:
0043 typedef edm::DetSet<SiStripRawDigi> RawSignalType;
0044 typedef std::vector<float> PedestalType;
0045
0046 ApvAnalysis(int nev);
0047 ~ApvAnalysis() { ; }
0048
0049
0050
0051
0052
0053 void setCommonModeCalculator(TkCommonModeCalculator& in) { theTkCommonModeCalculator = ∈ }
0054 void setPedestalCalculator(TkPedestalCalculator& in) { theTkPedestalCalculator = ∈ }
0055 void setNoiseCalculator(TkNoiseCalculator& in) { theTkNoiseCalculator = ∈ }
0056 void setMask(TkApvMask& in) { theTkApvMask = ∈ }
0057
0058 TkCommonModeCalculator& commonModeCalculator() { return *theTkCommonModeCalculator; }
0059 TkPedestalCalculator& pedestalCalculator() { return *theTkPedestalCalculator; }
0060 TkNoiseCalculator& noiseCalculator() { return *theTkNoiseCalculator; }
0061 TkApvMask& mask() { return *theTkApvMask; }
0062
0063
0064
0065
0066
0067
0068
0069 void updateCalibration(edm::DetSet<SiStripRawDigi>& in);
0070 void newEvent() const;
0071
0072 private:
0073 TkCommonModeCalculator* theTkCommonModeCalculator;
0074 TkPedestalCalculator* theTkPedestalCalculator;
0075 TkNoiseCalculator* theTkNoiseCalculator;
0076 TkApvMask* theTkApvMask;
0077 int nEventsForNoiseCalibration_;
0078 int eventsRequiredToUpdate_;
0079 };
0080 #endif