File indexing completed on 2024-04-06 12:26:28
0001 import FWCore.ParameterSet.Config as cms
0002
0003 from RecoLocalTracker.SiStripClusterizer.test.ClusterizerUnitTestFunctions_cff import *
0004
0005 clusterizerTests = ClusterizerTest( "Default Clusterizer Settings",
0006 cms.PSet( Algorithm = cms.string("ThreeThresholdAlgorithm"),
0007 ChannelThreshold = cms.double(2),
0008 SeedThreshold = cms.double(3),
0009 ClusterThreshold = cms.double(5),
0010 MaxSequentialHoles = cms.uint32(0),
0011 MaxSequentialBad = cms.uint32(1),
0012 MaxAdjacentBad = cms.uint32(0),
0013 ConditionsLabel = cms.string("")
0014 ),
0015 [
0016 DetUnit( "[] = []",
0017 [ ],
0018 [
0019 ] ),
0020 DetUnit( "(4/1) = []",
0021 [ digi( 10, 4, noise1, gain1, good) ],
0022 [
0023 ] ),
0024 DetUnit( "(5/1) = [5]",
0025 [ digi( 10, 5, noise1, gain1, good) ],
0026 [ cluster( 10, [5])
0027 ] ),
0028 DetUnit( "(110/1) = [110]",
0029 [ digi( 10, 110, noise1, gain1, good) ],
0030 [ cluster( 10, [110])
0031 ] ),
0032 DetUnit( "(24/5) = []",
0033 [ digi( 10, 24, 5*noise1, gain1, good) ],
0034 [
0035 ] ),
0036 DetUnit( "(25/5) = [25]",
0037 [ digi( 10, 25, 5*noise1, gain1, good) ],
0038 [ cluster( 10, [25])
0039 ] ),
0040 DetUnit( "(111/5) = [111]",
0041 [ digi( 10, 111, 5*noise1, gain1, good) ],
0042 [ cluster( 10, [111])
0043 ] ),
0044 DetUnit( "(25/5)(9/5) = [25] <---------------|",
0045 [ digi( 10, 25, 5*noise1, gain1, good),
0046 digi( 11, 9, 5*noise1, gain1, good) ],
0047 [ cluster( 10, [25])
0048 ] ),
0049 DetUnit( "(25/5)(10/5) = [] <---------------| Strange",
0050 [ digi( 10, 25, 5*noise1, gain1, good),
0051 digi( 11, 10, 5*noise1, gain1, good) ],
0052 [
0053 ] ),
0054 DetUnit( "(25/5)(11/5) = [25,11] <-----------|",
0055 [ digi( 10, 25, 5*noise1, gain1, good),
0056 digi( 11, 11, 5*noise1, gain1, good) ],
0057 [ cluster(10, [25,11])
0058 ] ),
0059 DetUnit( "(7/1)(4/2) = [] <------ Additional noise from neighbor nullifies good cluster! Reconsider!",
0060 [ digi( 10, 7, noise1, gain1, good),
0061 digi( 11, 4, 2*noise1, gain1, good) ],
0062 [
0063 ] ),
0064 DetUnit( "(3/1)(3/1) = []",
0065 [ digi( 10, 3, noise1, gain1, good),
0066 digi( 11, 3, noise1, gain1, good) ],
0067 [
0068 ] ),
0069 DetUnit( "(2/1)(6/2) = []",
0070 [ digi( 10, 2, noise1, gain1, good),
0071 digi( 11, 6, 2*noise1, gain1, good) ],
0072 [
0073 ] ),
0074 DetUnit( "(16/5)(11/4) = []",
0075 [ digi( 10, 16, 5*noise1, gain1, good),
0076 digi( 11, 11, 5*noise1, gain1, good) ],
0077 [
0078 ] ),
0079 DetUnit( "(2/1)(3/1)(2/1)(3/1)(2/1) = [2,3,2,3,2]",
0080 [ digi( 10, 2, noise1, gain1, good),
0081 digi( 11, 3, noise1, gain1, good),
0082 digi( 12, 2, noise1, gain1, good),
0083 digi( 13, 3, noise1, gain1, good),
0084 digi( 14, 2, noise1, gain1, good) ],
0085 [ cluster(10,[2,3,2,3,2,])
0086 ] ),
0087 DetUnit( "(2/1)(3/1)(2/1)(3/1)(2/1)(2/2) = [2,3,2,3,2]",
0088 [ digi( 10, 2, noise1, gain1, good),
0089 digi( 11, 3, noise1, gain1, good),
0090 digi( 12, 2, noise1, gain1, good),
0091 digi( 13, 3, noise1, gain1, good),
0092 digi( 14, 2, noise1, gain1, good),
0093 digi( 15, 2, 2*noise1, gain1, good) ],
0094 [ cluster(10,[2,3,2,3,2,])
0095 ] ),
0096 DetUnit( "(110/1)(100/1) = [110,100]",
0097 [ digi( 10, 110, noise1, gain1, good),
0098 digi( 11, 100, noise1, gain1, good) ],
0099 [ cluster( 10, [110, 100])
0100 ] ),
0101 DetUnit( "(110/1)_(100/1) = [110],[100]",
0102 [ digi( 10, 110, noise1, gain1, good),
0103 digi( 11, 0, noise1, gain1, good),
0104 digi( 12, 100, noise1, gain1, good) ],
0105 [ cluster( 10, [110]),
0106 cluster( 12, [100])
0107 ] ),
0108 DetUnit( "Saturation at 254, gain has no effect",
0109 [ digi( 10, 254, noise1, 1.3*gain1, good) ],
0110 [ cluster( 10, [254])
0111 ] ),
0112 DetUnit( "First strip saturated",
0113 [ digi( 10, 254, noise1, 2*gain1, good),
0114 digi( 11, 100, noise1, 2*gain1, good) ],
0115 [ cluster( 10, [254,50])
0116 ] ),
0117 DetUnit( "Last strip saturated",
0118 [ digi( 10, 100, noise1, 2*gain1, good),
0119 digi( 11, 254, noise1, 2*gain1, good) ],
0120 [ cluster( 10, [50,254])
0121 ] ),
0122 DetUnit( "Middle strip saturated",
0123 [ digi( 10, 100, noise1, 2*gain1, good),
0124 digi( 11, 254, noise1, 2*gain1, good),
0125 digi( 12, 100, noise1, 2*gain1, good) ],
0126 [ cluster( 10, [50,254,50])
0127 ] ),
0128 DetUnit( "Saturation at 255, gain has no effect",
0129 [ digi( 10, 255, noise1, 1.3*gain1, good) ],
0130 [ cluster( 10, [255])
0131 ] ),
0132 DetUnit( "Gain greater than 1",
0133 [ digi( 10, 110, noise1, 1.3*gain1, good) ],
0134 [ cluster( 10, [85])
0135 ] ),
0136 DetUnit( "Gain less than 1",
0137 [ digi( 10, 110, noise1, 0.82*gain1, good) ],
0138 [ cluster( 10, [134])
0139 ] ),
0140 DetUnit( "Gain less than 1 pushes charge above 1022",
0141 [ digi( 10, 253, noise1, 0.2*gain1, good) ],
0142 [ cluster( 10, [255])
0143 ] ),
0144 DetUnit( "Gain less than 1 pushes charge above 255, but not above 1022",
0145 [ digi( 10, 253, noise1, 0.9*gain1, good) ],
0146 [ cluster( 10, [254])
0147 ] ),
0148 DetUnit( "Gain less than 1 pushes charge above 511, but not above 1022",
0149 [ digi( 10, 253, noise1, 0.4*gain1, good) ],
0150 [ cluster( 10, [254])
0151 ] ),
0152 DetUnit( "Two gains (apv boundary)",
0153 [ digi( 127, 110, noise1, gain1, good),
0154 digi( 128, 110, noise1, 1.1, good) ],
0155 [ cluster( 127, [110, 100])
0156 ] ),
0157 DetUnit( "Throws InvalidChargeException",
0158 [ digi( 19, 256, noise1, gain1, good) ],
0159 [
0160 ],
0161 Invalid),
0162 DetUnit( "Left edge",
0163 [ digi( 0, 100, noise1, gain1, good),],
0164 [ cluster(0,[100])
0165 ] ),
0166 DetUnit( "Right edge",
0167 [ digi( 767, 100, noise1, gain1, good),],
0168 [ cluster(767,[100])
0169 ] ),
0170 DetUnit( "Left edge two strips",
0171 [ digi( 0, 100, noise1, gain1, good),
0172 digi( 1, 100, noise1, gain1, good),],
0173 [ cluster(0,[100,100])
0174 ] ),
0175 DetUnit( "Right edge two strips",
0176 [ digi( 766, 100, noise1, gain1, good),
0177 digi( 767, 100, noise1, gain1, good),],
0178 [ cluster(766,[100,100])
0179 ] ),
0180 DetUnit( "Wide cluster",
0181 [ digi( 10, 110, noise1, gain1, good),
0182 digi( 11, 110, noise1, gain1, good),
0183 digi( 12, 110, noise1, gain1, good),
0184 digi( 13, 110, noise1, gain1, good),
0185 digi( 14, 110, noise1, gain1, good),
0186 digi( 15, 110, noise1, gain1, good),
0187 digi( 16, 110, noise1, gain1, good),
0188 digi( 17, 110, noise1, gain1, good),
0189 digi( 18, 110, noise1, gain1, good),
0190 digi( 19, 20, noise1, gain1, good),
0191 digi( 20, 100, noise1, gain1, good) ],
0192 [ cluster( 10, [110,110,110,110,110,110,110,110,110,20,100])
0193 ] ),
0194 DetUnit( "(110/1)(100/1) = [110,100]",
0195 [ digi( 10, 110, noise1, gain1, good),
0196 digi( 11, 100, noise1, gain1, good) ],
0197 [ cluster( 10, [110, 100])
0198 ] ),
0199 DetUnit( "(110/1)X = [110]",
0200 [ digi( 10, 110, noise1, gain1, good),
0201 digi( 11, 110, noise1, gain1, bad) ],
0202 [ cluster( 10, [110])
0203 ] ),
0204 DetUnit( "X(110/1) = [110]",
0205 [ digi( 10, 110, noise1, gain1, bad),
0206 digi( 11, 110, noise1, gain1, good) ],
0207 [ cluster( 11, [110])
0208 ] ),
0209 DetUnit( "XX(110/1) = [110]",
0210 [ digi( 9, 110, noise1, gain1, bad),
0211 digi( 10, 110, noise1, gain1, bad),
0212 digi( 11, 110, noise1, gain1, good) ],
0213 [ cluster( 11, [110])
0214 ] ),
0215 DetUnit( "(110/1)X(100/1) = [110,0,100]",
0216 [ digi( 10, 110, noise1, gain1, good),
0217 digi( 11, 110, noise1, gain1, bad),
0218 digi( 12, 100, noise1, gain1, good) ],
0219 [ cluster( 10, [110,0,100])
0220 ] ),
0221 DetUnit( "(110/1)x(100/1) = [110,0,100]",
0222 [ digi( 10, 110, noise1, gain1, good),
0223 digi( 11, 0, noise1, gain1, bad),
0224 digi( 12, 100, noise1, gain1, good) ],
0225 [ cluster( 10, [110, 0,100])
0226 ] ),
0227 DetUnit( "X(110/1)x(100/1)X = [110,0,100]",
0228 [ digi( 9, 110, noise1, gain1, bad),
0229 digi( 10, 110, noise1, gain1, good),
0230 digi( 11, 0, noise1, gain1, bad),
0231 digi( 12, 100, noise1, gain1, good),
0232 digi( 13, 100, noise1, gain1, bad) ],
0233 [ cluster( 10, [110,0,100])
0234 ] ),
0235 DetUnit( "(110/1)_(100/1) = [110],[100]",
0236 [ digi( 10, 110, noise1, gain1, good),
0237 digi( 11, 0, noise1, gain1, good),
0238 digi( 12, 100, noise1, gain1, good) ],
0239 [ cluster( 10, [110]),
0240 cluster( 12, [100])
0241 ] )
0242 ]
0243 )