1 #ifndef _CSCFAKEDBCROSSTALK_H 2 #define _CSCFAKEDBCROSSTALK_H 27 typedef std::unique_ptr<CSCDBCrosstalk>
Pointer;
48 const int MAX_SIZE = 217728;
49 const int SLOPE_FACTOR=10000000;
50 const int INTERCEPT_FACTOR=100000;
53 cndbcrosstalk->
crosstalk.resize(MAX_SIZE);
57 mean=-0.0009, min=0.035;
58 ii=0,jj=0,iii=0,jjj=0;
63 for(
int i=0;
i<MAX_SIZE;
i++){
64 cndbcrosstalk->
crosstalk[
i].xtalk_slope_right = (
short int) ((-((
double)
rand()/((
double)(RAND_MAX)+(
double)(1)))/10000+mean)*SLOPE_FACTOR+0.5);
65 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_right= (
short int) ((((
double)
rand()/((
double)(RAND_MAX)+(
double)(1)))/100+
min)*INTERCEPT_FACTOR+0.5);
66 cndbcrosstalk->
crosstalk[
i].xtalk_slope_left= (
short int) ((-((
double)
rand()/((double)(RAND_MAX)+(double)(1)))/10000+
mean)*SLOPE_FACTOR+0.5);
67 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_left=(
short int) ((((
double)
rand()/((double)(RAND_MAX)+(double)(1)))/100+
min)*INTERCEPT_FACTOR+0.5);
71 if(
i<34561 &&
i%80==0){
72 cndbcrosstalk->
crosstalk[
i].xtalk_slope_left=0;
73 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_left=0;
76 if(
i!=0 &&
i<34561 && (
i+1)%80==0){
77 cndbcrosstalk->
crosstalk[
i].xtalk_slope_right=0;
78 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_right=0;
82 if(
i>34560 &&
i<48385 &&
i%64==0){
83 cndbcrosstalk->
crosstalk[
i].xtalk_slope_left=0;
84 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_left=0;
87 if(
i>34560 &&
i<48385 && (
i+1)%64==0){
88 cndbcrosstalk->
crosstalk[
i].xtalk_slope_right=0;
89 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_right=0;
93 if(
i>48384 &&
i<143425){
95 if(
i>48384 &&
i<143425 && ii%80==0){
96 cndbcrosstalk->
crosstalk[
i].xtalk_slope_left=0;
97 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_left=0;
101 if(
i>48384 &&
i<143425){
103 if(
i>48384 &&
i<143425 && (jj+1)%80==0){
104 cndbcrosstalk->
crosstalk[
i].xtalk_slope_right=0;
105 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_right=0;
110 if(
i>143424 &&
i<157249 &&
i%64==0){
111 cndbcrosstalk->
crosstalk[
i].xtalk_slope_left=0;
112 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_left=0;
115 if(
i>143424 &&
i<157249 && (
i+1)%64==0){
116 cndbcrosstalk->
crosstalk[
i].xtalk_slope_right=0;
117 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_right=0;
124 if(
i>157248 && iii%80==0){
125 cndbcrosstalk->
crosstalk[
i].xtalk_slope_left=0;
126 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_left=0;
132 if(
i>157248 && (jjj+1)%80==0){
133 cndbcrosstalk->
crosstalk[
i].xtalk_slope_right=0;
134 cndbcrosstalk->
crosstalk[
i].xtalk_intercept_right=0;
138 return cndbcrosstalk;
~CSCFakeDBCrosstalk() override
static CSCDBCrosstalk * prefillDBCrosstalk()
CSCFakeDBCrosstalk(const edm::ParameterSet &)
Pointer produceDBCrosstalk(const CSCDBCrosstalkRcd &)
CrosstalkContainer crosstalk
std::unique_ptr< CSCDBCrosstalk > Pointer
void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) override