CMS 3D CMS Logo

SiPixelChargeReweightingAlgorithm.h
Go to the documentation of this file.
1 #ifndef SimTracker_SiPixelDigitizer_SiPixelChargeReweightingAlgorithm_h
2 #define SimTracker_SiPixelDigitizer_SiPixelChargeReweightingAlgorithm_h
3 
5 
6 // forward declarations
7 
8 // For the random numbers
9 namespace CLHEP {
10  class HepRandomEngine;
11 }
12 
13 namespace edm {
14  class EventSetup;
15  class ParameterSet;
16 } // namespace edm
17 
18 class DetId;
20 class PixelDigi;
21 class PixelDigiSimLink;
22 class PixelGeomDetUnit;
27 class SiPixelQuality;
29 class TrackerGeometry;
30 class TrackerTopology;
33 
35 public:
38 
39  // initialization that cannot be done in the constructor
40  void init(const edm::EventSetup& es);
41 
42  typedef std::map<int, SiPixelDigitizerAlgorithm::Amplitude, std::less<int> > signal_map_type; // from Digi.Skel.
43  typedef signal_map_type::iterator signal_map_iterator; // from Digi.Skel.
44  typedef signal_map_type::const_iterator signal_map_const_iterator; // from Digi.Skel.
45 
46  bool hitSignalReweight(const PSimHit& hit,
47  std::map<int, float, std::less<int> >& hit_signal,
48  const size_t hitIndex,
49  const unsigned int tofBin,
50  const PixelTopology* topol,
51  uint32_t detID,
52  signal_map_type& theSignal,
53  unsigned short int processType,
54  const bool& boolmakeDigiSimLinks);
55 
56 private:
57  // Internal typedef
58  typedef std::map<uint32_t, signal_map_type> signalMaps;
60  typedef std::vector<edm::ParameterSet> Parameters;
61  typedef boost::multi_array<float, 2> array_2d;
62 
63  // Variables and objects for the charge reweighting using 2D templates
65  std::vector<bool> xdouble;
66  std::vector<bool> ydouble;
67  std::vector<float> track;
68  int IDnum, IDden;
69 
70  const bool UseReweighting;
71  const bool PrintClusters;
72  const bool PrintTemplates;
73 
74  std::vector<SiPixelTemplateStore2D> templateStores_;
75 
78 
79  // methods for charge reweighting in irradiated sensors
80  int PixelTempRewgt2D(int id_gen, int id_rewgt, array_2d& cluster);
81  void printCluster(array_2d& cluster);
82  void printCluster(float arr[BXM2][BYM2]);
83  void printCluster(float arr[TXSIZE][TYSIZE]);
84 };
85 
86 #endif
GloballyPositioned
Definition: GloballyPositioned.h:18
SiPixel2DTemplateDBObject
Definition: SiPixel2DTemplateDBObject.h:16
SiPixelChargeReweightingAlgorithm::dbobject_num
const SiPixel2DTemplateDBObject * dbobject_num
Definition: SiPixelChargeReweightingAlgorithm.h:77
SiPixelChargeReweightingAlgorithm::signal_map_iterator
signal_map_type::iterator signal_map_iterator
Definition: SiPixelChargeReweightingAlgorithm.h:43
SiPixelChargeReweightingAlgorithm::signal_map_const_iterator
signal_map_type::const_iterator signal_map_const_iterator
Definition: SiPixelChargeReweightingAlgorithm.h:44
SiPixelChargeReweightingAlgorithm::signal_map_type
std::map< int, SiPixelDigitizerAlgorithm::Amplitude, std::less< int > > signal_map_type
Definition: SiPixelChargeReweightingAlgorithm.h:42
edm
HLT enums.
Definition: AlignableModifier.h:19
SiPixelChargeReweightingAlgorithm::signalMaps
std::map< uint32_t, signal_map_type > signalMaps
Definition: SiPixelChargeReweightingAlgorithm.h:58
TrackerTopology
Definition: TrackerTopology.h:16
SiPixelChargeReweightingAlgorithm::templ2D
SiPixelTemplate2D templ2D
Definition: SiPixelChargeReweightingAlgorithm.h:64
GaussianTailNoiseGenerator
Definition: GaussianTailNoiseGenerator.h:24
SiPixelFEDChannelContainer
Definition: SiPixelFEDChannelContainer.h:12
SiPixelChargeReweightingAlgorithm::PixelTempRewgt2D
int PixelTempRewgt2D(int id_gen, int id_rewgt, array_2d &cluster)
Definition: SiPixelChargeReweightingAlgorithm.cc:344
PixelDigi
Definition: PixelDigi.h:14
SiPixelChargeReweightingAlgorithm::init
void init(const edm::EventSetup &es)
Definition: SiPixelChargeReweightingAlgorithm.cc:78
SiPixelChargeReweightingAlgorithm::Frame
GloballyPositioned< double > Frame
Definition: SiPixelChargeReweightingAlgorithm.h:59
SiPixelChargeReweightingAlgorithm::UseReweighting
const bool UseReweighting
Definition: SiPixelChargeReweightingAlgorithm.h:70
SiPixelChargeReweightingAlgorithm::IDnum
int IDnum
Definition: SiPixelChargeReweightingAlgorithm.h:68
TXSIZE
#define TXSIZE
Definition: SiPixelTemplateDefs.h:30
SiPixelChargeReweightingAlgorithm::SiPixelChargeReweightingAlgorithm
SiPixelChargeReweightingAlgorithm(const edm::ParameterSet &conf)
Definition: SiPixelChargeReweightingAlgorithm.cc:100
SiPixelTemplate2D
Definition: SiPixelTemplate2D.h:132
SiPixelDynamicInefficiency
Definition: SiPixelDynamicInefficiency.h:11
DetId
Definition: DetId.h:17
SiPixelChargeReweightingAlgorithm::hitSignalReweight
bool hitSignalReweight(const PSimHit &hit, std::map< int, float, std::less< int > > &hit_signal, const size_t hitIndex, const unsigned int tofBin, const PixelTopology *topol, uint32_t detID, signal_map_type &theSignal, unsigned short int processType, const bool &boolmakeDigiSimLinks)
Definition: SiPixelChargeReweightingAlgorithm.cc:123
SiPixelChargeReweightingAlgorithm
Definition: SiPixelChargeReweightingAlgorithm.h:34
BYM2
#define BYM2
Definition: SiPixelTemplateDefs.h:28
SiPixelChargeReweightingAlgorithm::xdouble
std::vector< bool > xdouble
Definition: SiPixelChargeReweightingAlgorithm.h:65
SiPixelChargeReweightingAlgorithm::templateStores_
std::vector< SiPixelTemplateStore2D > templateStores_
Definition: SiPixelChargeReweightingAlgorithm.h:74
SiPixelChargeReweightingAlgorithm::PrintTemplates
const bool PrintTemplates
Definition: SiPixelChargeReweightingAlgorithm.h:72
BXM2
#define BXM2
Definition: SiPixelTemplateDefs.h:36
PixelGeomDetUnit
Definition: PixelGeomDetUnit.h:15
SiPixelLorentzAngle
Definition: SiPixelLorentzAngle.h:11
SiPixelChargeReweightingAlgorithm::ydouble
std::vector< bool > ydouble
Definition: SiPixelChargeReweightingAlgorithm.h:66
SiPixelGainCalibrationOfflineSimService
Definition: SiPixelGainCalibrationOfflineSimService.h:22
PixelTopology
Definition: PixelTopology.h:10
SiPixelChargeReweightingAlgorithm::track
std::vector< float > track
Definition: SiPixelChargeReweightingAlgorithm.h:67
CLHEP
Definition: CocoaGlobals.h:27
edm::ParameterSet
Definition: ParameterSet.h:47
SiPixelQuality
Definition: SiPixelQuality.h:27
ParameterSet
Definition: Functions.h:16
TYSIZE
#define TYSIZE
Definition: SiPixelTemplateDefs.h:21
SiPixelChargeReweightingAlgorithm::printCluster
void printCluster(array_2d &cluster)
Definition: SiPixelChargeReweightingAlgorithm.cc:567
edm::EventSetup
Definition: EventSetup.h:57
SiPixelChargeReweightingAlgorithm::array_2d
boost::multi_array< float, 2 > array_2d
Definition: SiPixelChargeReweightingAlgorithm.h:61
SiPixelChargeReweightingAlgorithm::IDden
int IDden
Definition: SiPixelChargeReweightingAlgorithm.h:68
SiPixelChargeReweightingAlgorithm::~SiPixelChargeReweightingAlgorithm
~SiPixelChargeReweightingAlgorithm()
Definition: SiPixelChargeReweightingAlgorithm.cc:117
SiPixelFedCablingMap
Definition: SiPixelFedCablingMap.h:19
SiPixelQualityProbabilities
Definition: SiPixelQualityProbabilities.h:10
SiPixelChargeReweightingAlgorithm::Parameters
std::vector< edm::ParameterSet > Parameters
Definition: SiPixelChargeReweightingAlgorithm.h:60
SiG4UniversalFluctuation
Definition: SiG4UniversalFluctuation.h:25
genParticles_cff.map
map
Definition: genParticles_cff.py:11
EventSetup
PSimHit
Definition: PSimHit.h:15
SiPixelDigitizerAlgorithm.h
SiPixelChargeReweightingAlgorithm::PrintClusters
const bool PrintClusters
Definition: SiPixelChargeReweightingAlgorithm.h:71
hit
Definition: SiStripHitEffFromCalibTree.cc:88
SiPixelChargeReweightingAlgorithm::dbobject_den
const SiPixel2DTemplateDBObject * dbobject_den
Definition: SiPixelChargeReweightingAlgorithm.h:76
TrackerGeometry
Definition: TrackerGeometry.h:14