9 int max_istrip, id_layer, max_ring, max_cham;
15 for (
int iendcap =
detId.minEndcapId(); iendcap <=
detId.maxEndcapId(); iendcap++) {
16 for (
int istation =
detId.minStationId(); istation <=
detId.maxStationId(); istation++) {
17 max_ring =
detId.maxRingId();
29 for (
int iring =
detId.minRingId(); iring <= max_ring; iring++) {
31 max_cham =
detId.maxChamberId();
32 if (istation == 1 && iring == 1)
34 if (istation == 1 && iring == 2)
36 if (istation == 1 && iring == 3)
38 if (istation == 2 && iring == 1)
40 if (istation == 2 && iring == 2)
42 if (istation == 3 && iring == 1)
44 if (istation == 3 && iring == 2)
46 if (istation == 4 && iring == 1)
51 for (
int ichamber =
detId.minChamberId(); ichamber <= max_cham; ichamber++) {
52 for (
int ilayer =
detId.minLayerId(); ilayer <=
detId.maxLayerId(); ilayer++) {
54 if (istation == 1 && iring == 3)
57 std::vector<CSCcrosstalk::Item> itemvector;
58 itemvector.resize(max_istrip);
59 id_layer = 100000 * iendcap + 10000 * istation + 1000 * iring + 10 * ichamber + ilayer;
61 for (
int istrip = 0; istrip < max_istrip; istrip++) {
63 itemvector[istrip].xtalk_slope_right =
64 -((double)rand() / ((double)(RAND_MAX) + (double)(1))) / 10000 +
mean;
65 itemvector[istrip].xtalk_intercept_right =
66 ((double)rand() / ((double)(RAND_MAX) + (double)(1))) / 100 +
min;
67 itemvector[istrip].xtalk_chi2_right = ((double)rand() / ((double)(RAND_MAX) + (double)(1))) +
minchi;
68 itemvector[istrip].xtalk_slope_left =
69 -((double)rand() / ((double)(RAND_MAX) + (double)(1))) / 10000 +
mean;
70 itemvector[istrip].xtalk_intercept_left =
71 ((double)rand() / ((double)(RAND_MAX) + (double)(1))) / 100 +
min;
72 itemvector[istrip].xtalk_chi2_left = ((double)rand() / ((double)(RAND_MAX) + (double)(1))) +
minchi;
73 cncrosstalk->
crosstalk[id_layer] = itemvector;
76 itemvector[istrip].xtalk_slope_right =
77 -((double)rand() / ((double)(RAND_MAX) + (double)(1))) / 10000 +
mean;
78 itemvector[istrip].xtalk_intercept_right =
79 ((double)rand() / ((double)(RAND_MAX) + (double)(1))) / 100 +
min;
80 itemvector[istrip].xtalk_chi2_right = ((double)rand() / ((double)(RAND_MAX) + (double)(1))) +
minchi;
81 itemvector[istrip].xtalk_slope_left = 0.0;
82 itemvector[istrip].xtalk_intercept_left = 0.0;
83 itemvector[istrip].xtalk_chi2_left = 0.0;
84 cncrosstalk->
crosstalk[id_layer] = itemvector;
88 itemvector[istrip].xtalk_slope_right = 0.0;
89 itemvector[istrip].xtalk_intercept_right = 0.0;
90 itemvector[istrip].xtalk_chi2_right = 0.0;
91 itemvector[istrip].xtalk_slope_left =
92 -((double)rand() / ((double)(RAND_MAX) + (double)(1))) / 10000 +
mean;
93 itemvector[istrip].xtalk_intercept_left =
94 ((double)rand() / ((double)(RAND_MAX) + (double)(1))) / 100 +
min;
95 itemvector[istrip].xtalk_chi2_left = ((double)rand() / ((double)(RAND_MAX) + (double)(1))) +
minchi;
96 cncrosstalk->
crosstalk[id_layer] = itemvector;
111 findingRecord<CSCcrosstalkRcd>();
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override
static const IOVSyncValue & endOfTime()
CSCcrosstalk * prefillCrosstalk()
std::pair< Time_t, Time_t > ValidityInterval
std::unique_ptr< CSCcrosstalk > ReturnType
static const IOVSyncValue & beginOfTime()
ReturnType produceCrosstalk(const CSCcrosstalkRcd &)
~CSCFakeCrosstalkConditions() override
CSCFakeCrosstalkConditions(const edm::ParameterSet &)