#include <CSCFakeGainsConditions.h>
Public Types | |
typedef const CSCGains * | ReturnType |
Public Member Functions | |
CSCFakeGainsConditions (const edm::ParameterSet &) | |
void | prefillGains () |
ReturnType | produceGains (const CSCGainsRcd &) |
~CSCFakeGainsConditions () | |
Public Attributes | |
long int | M |
float | mean |
float | min |
float | minchi |
int | seed |
Private Member Functions | |
void | setIntervalFor (const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &) |
Private Attributes | |
CSCGains * | cngains |
Definition at line 20 of file CSCFakeGainsConditions.h.
typedef const CSCGains* CSCFakeGainsConditions::ReturnType |
Definition at line 30 of file CSCFakeGainsConditions.h.
CSCFakeGainsConditions::CSCFakeGainsConditions | ( | const edm::ParameterSet & | iConfig | ) |
Definition at line 64 of file CSCFakeGainsConditions.cc.
References prefillGains(), produceGains(), and edm::ESProducer::setWhatProduced().
{ //the following line is needed to tell the framework what // data is being produced prefillGains(); setWhatProduced(this,&CSCFakeGainsConditions::produceGains); findingRecord<CSCGainsRcd>(); //now do what ever other initialization is needed }
CSCFakeGainsConditions::~CSCFakeGainsConditions | ( | ) |
Definition at line 75 of file CSCFakeGainsConditions.cc.
References cngains.
{ // do anything here that needs to be done at desctruction time // (e.g. close files, deallocate resources etc.) delete cngains; }
void CSCFakeGainsConditions::prefillGains | ( | ) |
Definition at line 4 of file CSCFakeGainsConditions.cc.
References cngains, CSCDetId, CSCGains::gains, M, CSCDetId::maxChamberId(), CSCDetId::maxEndcapId(), CSCDetId::maxLayerId(), CSCDetId::maxRingId(), CSCDetId::maxStationId(), mean, min, CSCDetId::minChamberId(), minchi, CSCDetId::minEndcapId(), CSCDetId::minLayerId(), CSCDetId::minRingId(), CSCDetId::minStationId(), and seed.
Referenced by CSCFakeGainsConditions().
{ cngains = new CSCGains(); const CSCDetId& detId = CSCDetId(); int max_istrip,id_layer,max_ring,max_cham; seed = 10000; srand(seed); mean=6.8, min=-10.0, minchi=1.0, M=1000; //endcap=1 to 2,station=1 to 4, ring=1 to 4,chamber=1 to 36,layer=1 to 6 for(int iendcap=detId.minEndcapId(); iendcap<=detId.maxEndcapId(); iendcap++){ for(int istation=detId.minStationId() ; istation<=detId.maxStationId(); istation++){ max_ring=detId.maxRingId(); //station 4 ring 4 not there(36 chambers*2 missing) //3 rings max this way of counting (ME1a & b) if(istation==1) max_ring=3; if(istation==2) max_ring=2; if(istation==3) max_ring=2; if(istation==4) max_ring=1; for(int iring=detId.minRingId(); iring<=max_ring; iring++){ max_istrip=80; max_cham=detId.maxChamberId(); if(istation==1 && iring==1) max_cham=36; if(istation==1 && iring==2) max_cham=36; if(istation==1 && iring==3) max_cham=36; if(istation==2 && iring==1) max_cham=18; if(istation==2 && iring==2) max_cham=36; if(istation==3 && iring==1) max_cham=18; if(istation==3 && iring==2) max_cham=36; if(istation==4 && iring==1) max_cham=18; for(int ichamber=detId.minChamberId(); ichamber<=max_cham; ichamber++){ for(int ilayer=detId.minLayerId(); ilayer<=detId.maxLayerId(); ilayer++){ //station 1 ring 3 has 64 strips per layer instead of 80 if(istation==1 && iring==3) max_istrip=64; std::vector<CSCGains::Item> itemvector; itemvector.resize(max_istrip); id_layer = 100000*iendcap + 10000*istation + 1000*iring + 10*ichamber + ilayer; for(int istrip=0;istrip<max_istrip;istrip++){ //itemvector[istrip].gain_slope = 7.55; //itemvector[istrip].gain_intercept= -10.00; //itemvector[istrip].gain_chi2 = 2.00; itemvector[istrip].gain_slope=((double)rand()/((double)(RAND_MAX)+(double)(1)))+mean; itemvector[istrip].gain_intercept=((double)rand()/((double)(RAND_MAX)+(double)(1)))+min; itemvector[istrip].gain_chi2=((double)rand()/((double)(RAND_MAX)+(double)(1)))+minchi; cngains->gains[id_layer]=itemvector; } } } } } } }
CSCFakeGainsConditions::ReturnType CSCFakeGainsConditions::produceGains | ( | const CSCGainsRcd & | iRecord | ) |
Definition at line 90 of file CSCFakeGainsConditions.cc.
References cngains.
Referenced by CSCFakeGainsConditions().
{ return cngains; }
void CSCFakeGainsConditions::setIntervalFor | ( | const edm::eventsetup::EventSetupRecordKey & | , |
const edm::IOVSyncValue & | , | ||
edm::ValidityInterval & | oValidity | ||
) | [private, virtual] |
Implements edm::EventSetupRecordIntervalFinder.
Definition at line 95 of file CSCFakeGainsConditions.cc.
References edm::IOVSyncValue::beginOfTime(), and edm::IOVSyncValue::endOfTime().
{ oValidity = edm::ValidityInterval(edm::IOVSyncValue::beginOfTime(),edm::IOVSyncValue::endOfTime()); }
CSCGains* CSCFakeGainsConditions::cngains [private] |
Definition at line 37 of file CSCFakeGainsConditions.h.
Referenced by prefillGains(), produceGains(), and ~CSCFakeGainsConditions().
long int CSCFakeGainsConditions::M |
Definition at line 26 of file CSCFakeGainsConditions.h.
Referenced by prefillGains().
Definition at line 25 of file CSCFakeGainsConditions.h.
Referenced by prefillGains().
Definition at line 25 of file CSCFakeGainsConditions.h.
Referenced by prefillGains().
Definition at line 25 of file CSCFakeGainsConditions.h.
Referenced by prefillGains().
Definition at line 26 of file CSCFakeGainsConditions.h.
Referenced by prefillGains().