170 likes | 291 Views
Adding Digis and Configurable Pixels to the Doublet StrawmanB. Michael Weinberger Teruki Kamon Harry Cheung. March 13, 2008. Outline. Overview of Doublet Geometry Adding in Digis to Fastsim Configuring the Pixels Status and Plans. Adding in Digis to FastSim.
E N D
Adding Digis and Configurable Pixels to the Doublet StrawmanB Michael Weinberger Teruki Kamon Harry Cheung March 13, 2008
Outline • Overview of Doublet Geometry • Adding in Digis to Fastsim • Configuring the Pixels • Status and Plans Michael Weinberger
Adding in Digis to FastSim • Want to use FastSim to do testing of the various different models of a new tracker • Fastsim goes from simhits to rechits directly • Need digis to be able to do triggering with tracker • Granularity and occupancy will also be studied • Adding in the digis increases the processing time to a non-usable amount [two orders of magnitude for 5 pileup events] • First tried to reduce processing time by using approximations for charge deposition Michael Weinberger
Adding Noise • This is done in two steps: 1. Noise is added to pixels that have hits 2. Noise is then added to all channels • Uses a Gaussian method to determine the noise • Time consuming • As a first step, if the noise for all channels is removed, the processing time becomes reasonable again Michael Weinberger
Processing Time versus Pileup LHC Pileup (5) Projected SLHC Pileup(400) Michael Weinberger
Comparing to Full Reconstruction Michael Weinberger
Adding Digi to Existing .cfg File • Add random noise generator seeds • PSet moduleSeeds ={ • … • untracked uint32 siPixelDigis = 41177 • untracked uint32 siStripDigis = 12190507 • } • Add in Pixel includes and replacements: • include "SimTracker/SiPixelDigitizer/data/PixelDigi.cfi" • include "CalibTracker/Configuration/data/SiStrip_FakeGain.cff" • include "CalibTracker/Configuration/data/SiStrip_FakeNoise.cff" • include "CalibTracker/Configuration/data/SiStrip_FakePedestals.cff" • include "CalibTracker/Configuration/data/SiStrip_FakeLorentzAngle.cff" • include "SimTracker/SiStripDigitizer/data/SiStripDigi.cfi" • # Uncomment both for FastSim - tells digi makers the name of the simhits • replace siPixelDigis.ROUList = { "TrackerHits" } • replace siStripDigis.ROUList = { "TrackerHits" } • replace siPixelDigis.MissCalibrate = false • replace siPixelDigis.AddNoisyPixels = false • replace siStripDigis.Noise = false • Already included in the Strawman B .cfg file from Twiki page Michael Weinberger
Changing Pixel Properties • The CMSSW code for the regular geometry is designed to be very hard to change, for good reason • i.e. lots of hardcoded numbers • All information should be from .xml file • Geometry/TrackerCommonData/data/trackerStructureTopology.xml • name="PixelROCRows" value="80" • name="PixelROCCols" value="52" • name="PixelROC_Y" value="2" • name="PixelROC_X" value="1" • But need to modify other files also • Will split off modified code as a separate CVS branch Michael Weinberger
Recipe for Modifying Pixels • Start with StrawmanB setup from twiki, or from regular geometry Fastsim • Check out from CVS • cvs co -r XXX Geometry/TrackerTopology • cvs co -r XXX CondFormats/SiPixelObjects • cvs co -r XXX Geometry/TrackerGeometryBuilder • Waiting to hear back from the package admins about making a new branch for the SLHC work • Changed files • Geometry/TrackerGeometryBuilder/src/PixelTopologyBuilder.cc • CondFormats/SiPixelObjects/interface/ PixelIndices.h • Geometry/TrackerTopology/src/ RectangularPixelTopology.cc • Geometry/TrackerTopology/interface/RectangularPixelTopology.h Michael Weinberger
RectangularPixelTopology.h • Main file defining the geometry of the pixels • Local point, pitch, numbering, … • Used by PixelTopologyBuilder.cc • Which also has hardcoded big pixel info • Many hardcoded changes were needed • Number of big pixels • Testing methods for big pixels • Number of rows and columns Michael Weinberger
Changes to RectangularPixelTopology.h • class RectangularPixelTopology : public PixelTopology { • private: • // This is temporary before we find a better way [From original coders] • static const int ROWS_PER_ROC = 80; // Num of cols per ROC • static const int COLS_PER_ROC = 52; // Num of Rows per ROC • static const int BIG_PIX_PER_ROC_X = 0; // in x direction, rows • static const int BIG_PIX_PER_ROC_Y = 0; // in y direction, cols • static const int ROCS_X = 2; • static const int ROCS_Y = 8; Michael Weinberger
Changes to trackerStructureTopology.xml(For the 1_8_X will be only thing to change) • <SpecPar name="PixelROCRowsPar"> • . . . • <Parameter name="PixelROCRows" value=“80"/> • </SpecPar> • <SpecPar name="PixelROCColsPar"> • . . . • <Parameter name="PixelROCCols" value="52"/> • </SpecPar> • <SpecPar name="PixelROC_XPar"> • . . . • <Parameter name="PixelROC_X" value="2"/> • </SpecPar> • <SpecPar name="PixelROC_YPar"> • . . . • <Parameter name="PixelROC_Y" value="8"/> • </SpecPar> Michael Weinberger
// The maximum number of ROCs in the X (row) direction per sensor. const int maxROCsInX = 2; // // The maximum number of ROCs in the Y (column) direction per sensor. const int maxROCsInY = 8; // // Default ROC size const int ROCSizeInX = 80; // ROC row size in pixels const int ROCSizeInY = 52; // ROC col size in pixels // Default DET barrel size const int defaultDetSizeInX = 160; // Det barrel row size in pixels const int defaultDetSizeInY = 416; // Det barrel col size in pixels Changes to PixelIndices.h • Used mostly for error checking • Will be modified for the 1_8_X series as a lot of hardcoding has been left in • But only used for inefficiency calculations, which are currently not done Michael Weinberger
Changes to PixelROC.cc • Modified in 1_8_X releases so the hardcoding has been taken out • But hardcoding moved to a new file: LocalPixel • int PixelROC::theNRows = 40; • int PixelROC::theNCols = 52; Michael Weinberger
Checking Changes • The plots stack the rows and columns onto one module • Plot on left normal geometry [80 rows/ROC] • Plot right has 40 rows per ROC Michael Weinberger
Changing Other Properties • Want to be able to modify most physical properties of modules and ladders • Geometry/TrackerCommonData/data/pixbarladder.xml • Contains module descriptions • Width, length, thickness, modules on ladder • See StrawmanB twiki page • Once again, many properties, such as ROCs per ladder, are hardcoded, and the code will be changed in 1_8_X • Pitch is coded, and more complicated to change Michael Weinberger
Status and Plans • Processing time has been reduced so that digis can be used in FastSim • Will be looking at a faster method to adding non-hit related noise • A first doublet geometry StrawmanB is set up • Changing pixel size is working and being put into CVS • For the 1_8_X release the code will be changed so only trackerStructureTopology.xml will have to be changed. • The Twiki page will be updated with a recipe for adding digis and changing pixel size after testing is done Michael Weinberger