50 laserAPDPNTime1_ = (
unsigned long)atoi( ps.
getUntrackedParameter<std::string>(
"laserAPDPNTime1",
"1").c_str());
51 laserAPDPNTime2_= (
unsigned long)atoi( ps.
getUntrackedParameter<std::string>(
"laserAPDPNTime2",
"0").c_str());
52 laserAPDPNTime3_= (
unsigned long)atoi( ps.
getUntrackedParameter<std::string>(
"laserAPDPNTime3",
"0").c_str());
60 localContCorrParameters_ = ps.
getUntrackedParameter< std::vector<double> >(
"localContCorrParameters", std::vector<double>(0) );
61 crackCorrParameters_ = ps.
getUntrackedParameter< std::vector<double> >(
"crackCorrParameters", std::vector<double>(0) );
62 energyCorrectionParameters_ = ps.
getUntrackedParameter< std::vector<double> >(
"energyCorrectionParameters", std::vector<double>(0) );
63 energyUncertaintyParameters_ = ps.
getUntrackedParameter< std::vector<double> >(
"energyUncertaintyParameters", std::vector<double>(0) );
64 energyCorrectionObjectSpecificParameters_ = ps.
getUntrackedParameter< std::vector<double> >(
"energyCorrectionObjectSpecificParameters", std::vector<double>(0) );
87 std::cout <<
" EcalTrivialConditionRetriever " << std::endl;
90 if (weightsForAsynchronousRunning_)
92 getWeightsFromFile_ =
true;
97 std::string
path=
"CalibCalorimetry/EcalTrivialCondModules/data/";
98 std::string weightType;
99 std::ostringstream str;
101 if (!weightsForAsynchronousRunning_)
106 weightType = str.str();
108 amplWeightsFile_ = ps.
getUntrackedParameter<std::string>(
"amplWeightsFile",path+
"ampWeights"+weightType);
109 amplWeightsAftFile_ = ps.
getUntrackedParameter<std::string>(
"amplWeightsAftFile",path+
"ampWeightsAfterGainSwitch"+weightType);
110 pedWeightsFile_ = ps.
getUntrackedParameter<std::string>(
"pedWeightsFile",path+
"pedWeights"+weightType);
111 pedWeightsAftFile_ = ps.
getUntrackedParameter<std::string>(
"pedWeightsAftFile",path+
"pedWeightsAfterGainSwitch"+weightType);
112 jittWeightsFile_ = ps.
getUntrackedParameter<std::string>(
"jittWeightsFile",path+
"timeWeights"+weightType);
113 jittWeightsAftFile_ = ps.
getUntrackedParameter<std::string>(
"jittWeightsAftFile",path+
"timeWeightsAfterGainSwitch"+weightType);
114 chi2MatrixFile_ = ps.
getUntrackedParameter<std::string>(
"chi2MatrixFile",path+
"chi2Matrix"+weightType);
115 chi2MatrixAftFile_ = ps.
getUntrackedParameter<std::string>(
"chi2MatrixAftFile",path+
"chi2MatrixAfterGainSwitch"+weightType);
117 amplWeights_.resize(nTDCbins_);
118 amplWeightsAft_.resize(nTDCbins_);
119 pedWeights_.resize(nTDCbins_);
120 pedWeightsAft_.resize(nTDCbins_);
121 jittWeights_.resize(nTDCbins_);
122 jittWeightsAft_.resize(nTDCbins_);
123 chi2Matrix_.resize(nTDCbins_);
124 chi2MatrixAft_.resize(nTDCbins_);
127 getWeightsFromConfiguration(ps);
135 producedEcalMappingElectronics_ = ps.
getUntrackedParameter<
bool>(
"producedEcalMappingElectronics",
true);
138 if ( producedEcalMappingElectronics_ ) {
139 if ( mappingFile_ !=
"" ) {
144 findingRecord<EcalMappingElectronicsRcd>();
148 if(getEBAlignmentFromFile_) {
153 if(getEEAlignmentFromFile_) {
158 if(getESAlignmentFromFile_)
165 if (producedEcalPedestals_)
168 if (producedEcalWeights_) {
173 if (producedEcalGainRatios_)
176 if (producedEcalADCToGeVConstant_)
180 producedEcalTimeOffsetConstant_ = ps.
getUntrackedParameter<
bool>(
"producedEcalTimeOffsetConstant",
true);
182 if (producedEcalTimeOffsetConstant_) {
184 findingRecord<EcalTimeOffsetConstantRcd>();
188 producedEcalIntercalibConstants_ = ps.
getUntrackedParameter<
bool>(
"producedEcalIntercalibConstants",
true);
191 if (producedEcalIntercalibConstants_) {
192 if(intercalibConstantsFile_ !=
"") {
197 findingRecord<EcalIntercalibConstantsRcd> () ;
200 producedEcalIntercalibConstantsMC_ = ps.
getUntrackedParameter<
bool>(
"producedEcalIntercalibConstantsMC",
true);
202 if (producedEcalIntercalibConstantsMC_) {
204 findingRecord<EcalIntercalibConstantsMCRcd> () ;
211 if (producedEcalIntercalibErrors_) {
212 if(intercalibErrorsFile_ !=
"") {
217 findingRecord<EcalIntercalibErrorsRcd> () ;
221 producedEcalTimeCalibConstants_ = ps.
getUntrackedParameter<
bool>(
"producedEcalTimeCalibConstants",
true);
224 if (producedEcalTimeCalibConstants_) {
225 if(timeCalibConstantsFile_ !=
"") {
230 findingRecord<EcalTimeCalibConstantsRcd> () ;
237 if (producedEcalTimeCalibErrors_) {
238 if(timeCalibErrorsFile_ !=
"") {
243 findingRecord<EcalTimeCalibErrorsRcd> () ;
247 producedEcalClusterLocalContCorrParameters_ = ps.
getUntrackedParameter<
bool>(
"producedEcalClusterLocalContCorrParameters",
false);
248 producedEcalClusterCrackCorrParameters_ = ps.
getUntrackedParameter<
bool>(
"producedEcalClusterCrackCorrParameters",
false);
249 producedEcalClusterEnergyCorrectionParameters_ = ps.
getUntrackedParameter<
bool>(
"producedEcalClusterEnergyCorrectionParameters",
false);
250 producedEcalClusterEnergyUncertaintyParameters_ = ps.
getUntrackedParameter<
bool>(
"producedEcalClusterEnergyUncertaintyParameters",
false);
251 producedEcalClusterEnergyCorrectionObjectSpecificParameters_ = ps.
getUntrackedParameter<
bool>(
"producedEcalClusterEnergyCorrectionObjectSpecificParameters",
false);
252 if ( producedEcalClusterLocalContCorrParameters_ ) {
254 findingRecord<EcalClusterLocalContCorrParametersRcd>();
256 if ( producedEcalClusterCrackCorrParameters_ ) {
258 findingRecord<EcalClusterCrackCorrParametersRcd>();
260 if ( producedEcalClusterEnergyCorrectionParameters_ ) {
262 findingRecord<EcalClusterEnergyCorrectionParametersRcd>();
264 if ( producedEcalClusterEnergyUncertaintyParameters_ ) {
266 findingRecord<EcalClusterEnergyUncertaintyParametersRcd>();
268 if ( producedEcalClusterEnergyCorrectionObjectSpecificParameters_ ) {
270 findingRecord<EcalClusterEnergyCorrectionObjectSpecificParametersRcd>();
275 if (producedEcalLaserCorrection_) {
278 findingRecord<EcalLaserAlphasRcd> () ;
280 std::cout <<
" getLaserAlphaFromFile_ " << getLaserAlphaFromFile_ << std::endl;
281 if(getLaserAlphaFromFile_) {
282 EBLaserAlphaFile_ = ps.
getUntrackedParameter<std::string>(
"EBLaserAlphaFile",path+
"EBLaserAlpha.txt");
283 EELaserAlphaFile_ = ps.
getUntrackedParameter<std::string>(
"EELaserAlphaFile",path+
"EELaserAlpha.txt");
284 std::cout <<
" EELaserAlphaFile_ " << EELaserAlphaFile_.c_str() << std::endl;
287 findingRecord<EcalLaserAPDPNRatiosRefRcd> () ;
289 findingRecord<EcalLaserAPDPNRatiosRcd> () ;
296 if ( producedEcalChannelStatus_ ) {
297 if ( channelStatusFile_ !=
"" ) {
302 findingRecord<EcalChannelStatusRcd>();
306 if ( producedEcalDQMChannelStatus_ ) {
308 findingRecord<EcalDQMChannelStatusRcd>();
312 if ( producedEcalDCSTowerStatus_ ) {
314 findingRecord<EcalDCSTowerStatusRcd>();
318 if ( producedEcalDAQTowerStatus_ ) {
320 findingRecord<EcalDAQTowerStatusRcd>();
324 if ( producedEcalDQMTowerStatus_ ) {
326 findingRecord<EcalDQMTowerStatusRcd>();
333 if ( producedEcalTrgChannelStatus_ ) {
334 if ( trgChannelStatusFile_ !=
"" ) {
339 findingRecord<EcalTPGCrystalStatusRcd>();
344 if ( producedEcalAlignmentEB_ ) {
346 findingRecord<EBAlignmentRcd>();
349 if ( producedEcalAlignmentEE_ ) {
351 findingRecord<EEAlignmentRcd>();
354 if ( producedEcalAlignmentES_ ) {
356 findingRecord<ESAlignmentRcd>();
359 if (producedEcalPedestals_) findingRecord<EcalPedestalsRcd>();
361 if (producedEcalWeights_) {
362 findingRecord<EcalWeightXtalGroupsRcd>();
363 findingRecord<EcalTBWeightsRcd>();
366 if (producedEcalGainRatios_) findingRecord<EcalGainRatiosRcd>();
368 if (producedEcalADCToGeVConstant_) findingRecord<EcalADCToGeVConstantRcd>();
384 if(verbose_>=1)
std::cout <<
"EcalTrivialConditionRetriever::setIntervalFor(): record key = " << rk.
name() <<
"\ttime: " << iTime.
time().
value() << std::endl;
390 std::auto_ptr<EcalPedestals>
392 std::auto_ptr<EcalPedestals> peds = std::auto_ptr<EcalPedestals>(
new EcalPedestals() );
396 EBitem.mean_x1 = EBpedMeanX1_;
397 EBitem.rms_x1 = EBpedRMSX1_;
398 EBitem.mean_x6 = EBpedMeanX6_;
399 EBitem.rms_x6 = EBpedRMSX6_;
400 EBitem.mean_x12 = EBpedMeanX12_;
401 EBitem.rms_x12 = EBpedRMSX12_;
403 EEitem.mean_x1 = EEpedMeanX1_;
404 EEitem.rms_x1 = EEpedRMSX1_;
405 EEitem.mean_x6 = EEpedMeanX6_;
406 EEitem.rms_x6 = EEpedRMSX6_;
407 EEitem.mean_x12 = EEpedMeanX12_;
408 EEitem.rms_x12 = EEpedRMSX12_;
411 if(iEta==0)
continue;
417 peds->insert(std::make_pair(ebdetid.
rawId(),EBitem));
428 peds->insert(std::make_pair(eedetidpos.
rawId(),EEitem));
433 peds->insert(std::make_pair(eedetidneg.
rawId(),EEitem));
442 std::auto_ptr<EcalWeightXtalGroups>
445 std::auto_ptr<EcalWeightXtalGroups> xtalGroups = std::auto_ptr<EcalWeightXtalGroups>(
new EcalWeightXtalGroups() );
448 if(ieta==0)
continue;
455 xtalGroups->setValue(ebid.
rawId(), defaultGroupId );
466 xtalGroups->setValue(eedetidpos.
rawId(), defaultGroupId );
471 xtalGroups->setValue(eedetidneg.
rawId(), defaultGroupId );
478 std::auto_ptr<EcalIntercalibConstants>
481 std::auto_ptr<EcalIntercalibConstants> ical = std::auto_ptr<EcalIntercalibConstants>(
new EcalIntercalibConstants() );
484 if(ieta==0)
continue;
490 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
491 ical->setValue( ebid.
rawId(), intercalibConstantMean_ + r*intercalibConstantSigma_ );
501 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
503 ical->setValue( eedetidpos.
rawId(), intercalibConstantMean_ + r*intercalibConstantSigma_ );
507 double r1 = (double)
std::rand()/( double(RAND_MAX)+double(1) );
509 ical->setValue( eedetidneg.
rawId(), intercalibConstantMean_ + r1*intercalibConstantSigma_ );
517 std::auto_ptr<EcalIntercalibConstantsMC>
520 std::auto_ptr<EcalIntercalibConstantsMC> ical = std::auto_ptr<EcalIntercalibConstantsMC>(
new EcalIntercalibConstantsMC() );
523 if(ieta==0)
continue;
529 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
530 ical->setValue( ebid.
rawId(), intercalibConstantMeanMC_ + r*intercalibConstantSigmaMC_ );
540 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
542 ical->setValue( eedetidpos.
rawId(), intercalibConstantMeanMC_ + r*intercalibConstantSigmaMC_ );
546 double r1 = (double)
std::rand()/( double(RAND_MAX)+double(1) );
548 ical->setValue( eedetidneg.
rawId(), intercalibConstantMeanMC_ + r1*intercalibConstantSigmaMC_ );
556 std::auto_ptr<EcalIntercalibErrors>
559 std::auto_ptr<EcalIntercalibErrors> ical = std::auto_ptr<EcalIntercalibErrors>(
new EcalIntercalibErrors() );
562 if(ieta==0)
continue;
568 ical->setValue( ebid.
rawId(), intercalibErrorMean_);
579 ical->setValue( eedetidpos.
rawId(), intercalibErrorMean_ );
584 ical->setValue( eedetidneg.
rawId(), intercalibErrorMean_ );
592 std::auto_ptr<EcalTimeCalibConstants>
595 std::auto_ptr<EcalTimeCalibConstants> ical = std::auto_ptr<EcalTimeCalibConstants>(
new EcalTimeCalibConstants() );
598 if(ieta==0)
continue;
604 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
605 ical->setValue( ebid.
rawId(), timeCalibConstantMean_ + r*timeCalibConstantSigma_ );
615 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
617 ical->setValue( eedetidpos.
rawId(), timeCalibConstantMean_ + r*timeCalibConstantSigma_ );
621 double r1 = (double)
std::rand()/( double(RAND_MAX)+double(1) );
623 ical->setValue( eedetidneg.
rawId(), timeCalibConstantMean_ + r1*timeCalibConstantSigma_ );
631 std::auto_ptr<EcalTimeCalibErrors>
634 std::auto_ptr<EcalTimeCalibErrors> ical = std::auto_ptr<EcalTimeCalibErrors>(
new EcalTimeCalibErrors() );
637 if(ieta==0)
continue;
643 ical->setValue( ebid.
rawId(), timeCalibErrorMean_);
654 ical->setValue( eedetidpos.
rawId(), timeCalibErrorMean_ );
659 ical->setValue( eedetidneg.
rawId(), timeCalibErrorMean_ );
667 std::auto_ptr<EcalTimeOffsetConstant>
670 std::cout <<
" produceEcalTimeOffsetConstant: " << std::endl;
671 std::cout <<
" EB " << timeOffsetEBConstant_ <<
" EE " << timeOffsetEEConstant_<< std::endl;
672 return std::auto_ptr<EcalTimeOffsetConstant>(
new EcalTimeOffsetConstant(timeOffsetEBConstant_,timeOffsetEEConstant_) );
675 std::auto_ptr<EcalGainRatios>
678 std::auto_ptr<EcalGainRatios> gratio = std::auto_ptr<EcalGainRatios>(
new EcalGainRatios() );
681 gr.setGain6Over1( gainRatio6over1_ );
684 if(ieta==0)
continue;
689 gratio->setValue( ebid.
rawId(), gr );
700 gratio->setValue( eedetidpos.
rawId(), gr );
705 gratio->setValue( eedetidneg.
rawId(), gr );
713 std::auto_ptr<EcalADCToGeVConstant>
716 return std::auto_ptr<EcalADCToGeVConstant>(
new EcalADCToGeVConstant(adcToGeVEBConstant_,adcToGeVEEConstant_) );
719 std::auto_ptr<EcalTBWeights>
723 std::auto_ptr<EcalTBWeights> tbwgt = std::auto_ptr<EcalTBWeights>(
new EcalTBWeights() );
730 for(
int itdc=1; itdc<=nTDCbins_; ++itdc) {
761 mat1.Place_in_row(amplWeights_[itdc-1],0,0);
762 mat1.Place_in_row(pedWeights_[itdc-1],1,0);
763 mat1.Place_in_row(jittWeights_[itdc-1],2,0);
766 mat2.Place_in_row(amplWeightsAft_[itdc-1],0,0);
767 mat2.Place_in_row(pedWeightsAft_[itdc-1],1,0);
768 mat2.Place_in_row(jittWeightsAft_[itdc-1],2,0);
774 mat3=chi2Matrix_[itdc-1];
775 mat4=chi2MatrixAft_[itdc-1];
800 tbwgt->setValue(std::make_pair(igrp,itdc), wgt);
808 std::auto_ptr<EcalClusterLocalContCorrParameters>
812 for (
size_t i = 0;
i < localContCorrParameters_.size(); ++
i ) {
813 ipar->params().push_back( localContCorrParameters_[
i] );
817 std::auto_ptr<EcalClusterCrackCorrParameters>
821 for (
size_t i = 0;
i < crackCorrParameters_.size(); ++
i ) {
822 ipar->params().push_back( crackCorrParameters_[
i] );
826 std::auto_ptr<EcalClusterEnergyCorrectionParameters>
830 for (
size_t i = 0;
i < energyCorrectionParameters_.size(); ++
i ) {
831 ipar->params().push_back( energyCorrectionParameters_[
i] );
835 std::auto_ptr<EcalClusterEnergyUncertaintyParameters>
839 for (
size_t i = 0;
i < energyUncertaintyParameters_.size(); ++
i ) {
840 ipar->params().push_back( energyUncertaintyParameters_[
i] );
844 std::auto_ptr<EcalClusterEnergyCorrectionObjectSpecificParameters>
848 for (
size_t i = 0;
i < energyCorrectionObjectSpecificParameters_.size(); ++
i ) {
849 ipar->params().push_back( energyCorrectionObjectSpecificParameters_[
i] );
856 std::auto_ptr<EcalLaserAlphas>
860 std::cout <<
" produceEcalLaserAlphas " << std::endl;
861 std::auto_ptr<EcalLaserAlphas> ical = std::auto_ptr<EcalLaserAlphas>(
new EcalLaserAlphas() );
862 if(getLaserAlphaFromFile_) {
863 std::ifstream fEB(
edm::FileInPath(EBLaserAlphaFile_).fullPath().c_str());
864 int SMpos[36] = {-10, 4, -7, -16, 6, -9, 11, -17, 5, 18, 3, -8, 1, -3, -13, 14, -6, 2,
865 15, -18, 8, 17, -2, 9, -1, 10, -5, 7, -12, -11, 16, -4, -15, -14, 12, 13};
867 int SMCal[36] = {12,17,10, 1, 8, 4,27,20,23,25, 6,34,35,15,18,30,21, 9,
868 24,22,13,31,26,16, 2,11, 5, 0,29,28,14,33,32, 3, 7,19};
875 for(
int SMcons = 0; SMcons < 36; SMcons++) {
876 int SM = SMpos[SMcons];
877 if(SM < 0) SM = 17 +
abs(SM);
879 if(SMCal[SM] != SMcons)
880 std::cout <<
" SM pb : read SM " << SMcons<<
" SMpos " << SM
881 <<
" SMCal " << SMCal[SM] << std::endl;
885 int readSM,
pos, bar, bar2;
887 for(
int SMcons = 0; SMcons < 36; SMcons++) {
888 int SM = SMpos[SMcons];
889 for(
int ic = 0; ic < 1700; ic++) {
890 fEB >> readSM >> pos >> bar >> bar2 >> type >>
batch;
893 if(readSM != SMcons || pos != ic + 1)
894 std::cout <<
" barrel read pb read SM " << readSM <<
" const SM " << SMcons
895 <<
" read pos " << pos <<
" ic " << ic << std::endl;
896 if(SM < 0) SM = 18 +
abs(SM);
898 if(bar == 33101 || bar == 30301 )
900 else if(bar == 33106) {
904 std::cout <<
" problem with barcode first " << bar <<
" last " << bar2
905 <<
" read SM " << readSM <<
" read pos " << pos << std::endl;
909 ical->setValue( ebdetid, alpha );
915 if(ieta==0)
continue;
919 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
920 ical->setValue( ebid, laserAlphaMean_ + r*laserAlphaSigma_ );
926 std::cout <<
" produceEcalLaserAlphas EE" << std::endl;
927 if(getLaserAlphaFromFile_) {
928 std::ifstream fEE(
edm::FileInPath(EELaserAlphaFile_).fullPath().c_str());
930 for(
int x = 1;
x < 101;
x++)
931 for(
int y = 1;
y < 101;
y++)
933 for(
int crystal = 0; crystal < 14648; crystal++) {
934 int x,
y ,
z, bid, bar, bar2;
936 fEE >> z >> x >> y >> LY >> bid >> bar >> bar2;
937 if(x < 1 || x > 100 || y < 1 || y > 100)
938 std::cout <<
" wrong coordinates for barcode " << bar
939 <<
" x " << x <<
" y " << y <<
" z " << z << std::endl;
941 if(z == 1) check[
x][
y] = 1;
942 else check[
x][
y] = 0;
943 if(bar == 33201 || (bar == 30399 && bar2 < 568))
945 else if((bar == 33106 && bar2 > 2000 && bar2 < 4669)
946 || (bar == 30399 && bar2 > 567))
949 std::cout <<
" problem with barcode " << bar <<
" " << bar2
950 <<
" x " << x <<
" y " << y <<
" z " << z << std::endl;
956 ical->setValue( eedetidpos, alpha );
959 std::cout <<
" problem with EEDetId " <<
" x " << x <<
" y " << y <<
" z " << z << std::endl;
961 for(
int x = 1;
x < 101;
x++)
962 for(
int y = 1;
y < 101;
y++)
963 if(check[
x][
y] == 1)
std::cout <<
" missing x " <<
x <<
" y " <<
y << std::endl;
970 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
972 ical->setValue( eedetidpos, laserAlphaMean_ + r*laserAlphaSigma_ );
976 double r1 = (double)
std::rand()/( double(RAND_MAX)+double(1) );
978 ical->setValue( eedetidneg, laserAlphaMean_ + r1*laserAlphaSigma_ );
988 std::auto_ptr<EcalLaserAPDPNRatiosRef>
991 std::auto_ptr<EcalLaserAPDPNRatiosRef> ical = std::auto_ptr<EcalLaserAPDPNRatiosRef>(
new EcalLaserAPDPNRatiosRef() );
993 if(ieta==0)
continue;
997 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
998 ical->setValue( ebid, laserAPDPNRefMean_ + r*laserAPDPNRefSigma_ );
1007 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
1009 ical->setValue( eedetidpos, laserAPDPNRefMean_ + r*laserAPDPNRefSigma_ );
1013 double r1 = (double)
std::rand()/( double(RAND_MAX)+double(1) );
1015 ical->setValue( eedetidneg, laserAPDPNRefMean_ + r1*laserAPDPNRefSigma_ );
1024 std::auto_ptr<EcalLaserAPDPNRatios>
1028 std::auto_ptr<EcalLaserAPDPNRatios> ical = std::auto_ptr<EcalLaserAPDPNRatios>(
new EcalLaserAPDPNRatios() );
1030 if(ieta==0)
continue;
1034 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
1037 pairAPDPN.
p1 = laserAPDPNMean_ + r*laserAPDPNSigma_;
1038 pairAPDPN.
p2 = laserAPDPNMean_ + r*laserAPDPNSigma_;
1039 pairAPDPN.
p3 = laserAPDPNMean_ + r*laserAPDPNSigma_;
1040 ical->setValue( ebid, pairAPDPN );
1049 double r = (double)
std::rand()/( double(RAND_MAX)+double(1) );
1053 pairAPDPN.
p1 = laserAPDPNMean_ + r*laserAPDPNSigma_;
1054 pairAPDPN.
p2 = laserAPDPNMean_ + r*laserAPDPNSigma_;
1055 pairAPDPN.
p3 = laserAPDPNMean_ + r*laserAPDPNSigma_;
1056 ical->setValue( eedetidpos, pairAPDPN );
1060 double r1 = (double)
std::rand()/( double(RAND_MAX)+double(1) );
1064 pairAPDPN.
p1 = laserAPDPNMean_ + r1*laserAPDPNSigma_;
1065 pairAPDPN.
p2 = laserAPDPNMean_ + r1*laserAPDPNSigma_;
1066 pairAPDPN.
p3 = laserAPDPNMean_ + r1*laserAPDPNSigma_;
1067 ical->setValue( eedetidneg, pairAPDPN );
1074 for(
int i=0;
i<92;
i++){
1076 if(laserAPDPNTime2_ == 0 ){
1081 if(laserAPDPNTime3_ == 0 ){
1087 ical->setTime(
i, TimeStamp );
1098 std::vector < std::vector<double> > amplwgtv(nTDCbins_);
1100 if (!getWeightsFromFile_ && nTDCbins_ == 1)
1102 std::vector<double> vampl;
1104 vampl.push_back( -0.33333 );
1105 vampl.push_back( -0.33333 );
1106 vampl.push_back( -0.33333 );
1107 vampl.push_back( 0. );
1108 vampl.push_back( 0. );
1109 vampl.push_back( 1. );
1110 vampl.push_back( 0. );
1111 vampl.push_back( 0. );
1112 vampl.push_back( 0. );
1113 vampl.push_back( 0. );
1116 else if (getWeightsFromFile_)
1119 std::ifstream amplFile(
edm::FileInPath(amplWeightsFile_).fullPath().c_str());
1121 while (!amplFile.eof() && tdcBin < nTDCbins_)
1123 for(
int j = 0;
j < 10; ++
j) {
1126 amplwgtv[tdcBin].push_back(ww);
1130 assert (tdcBin == nTDCbins_);
1136 edm::LogError(
"EcalTrivialConditionRetriever") <<
"Configuration not supported. Exception is raised ";
1141 for (
int i=0;
i<nTDCbins_;
i++)
1143 assert(amplwgtv[
i].
size() == 10);
1145 for(std::vector<double>::const_iterator it = amplwgtv[
i].
begin(); it != amplwgtv[
i].end(); ++it)
1147 (amplWeights_[
i])[j]=*it;
1153 std::vector < std::vector<double> > amplwgtvAftGain(nTDCbins_);
1155 if (!getWeightsFromFile_ && nTDCbins_ == 1 )
1157 std::vector<double> vamplAftGain;
1158 vamplAftGain.push_back( 0. );
1159 vamplAftGain.push_back( 0. );
1160 vamplAftGain.push_back( 0. );
1161 vamplAftGain.push_back( 0. );
1162 vamplAftGain.push_back( 0. );
1163 vamplAftGain.push_back( 1. );
1164 vamplAftGain.push_back( 0. );
1165 vamplAftGain.push_back( 0. );
1166 vamplAftGain.push_back( 0. );
1167 vamplAftGain.push_back( 0. );
1168 amplwgtvAftGain[0] = ps.
getUntrackedParameter< std::vector<double> >(
"amplWeightsAftGain", vamplAftGain);
1170 else if (getWeightsFromFile_)
1174 std::ifstream amplFile(
edm::FileInPath(amplWeightsAftFile_).fullPath().c_str());
1176 while (!amplFile.eof() && tdcBin < nTDCbins_)
1178 for(
int j = 0;
j < 10; ++
j) {
1181 amplwgtvAftGain[tdcBin].push_back(ww);
1185 assert (tdcBin == nTDCbins_);
1190 edm::LogError(
"EcalTrivialConditionRetriever") <<
"Configuration not supported. Exception is raised ";
1194 for (
int i=0;
i<nTDCbins_;
i++)
1196 assert(amplwgtvAftGain[
i].
size() == 10);
1198 for(std::vector<double>::const_iterator it = amplwgtvAftGain[
i].
begin(); it != amplwgtvAftGain[
i].end(); ++it) {
1199 (amplWeightsAft_[
i])[j]=*it;
1206 std::vector< std::vector<double> > pedwgtv(nTDCbins_);
1208 if (!getWeightsFromFile_ && nTDCbins_ == 1)
1210 std::vector<double> vped;
1211 vped.push_back( 0.33333 );
1212 vped.push_back( 0.33333 );
1213 vped.push_back( 0.33333 );
1214 vped.push_back( 0. );
1215 vped.push_back( 0. );
1216 vped.push_back( 0. );
1217 vped.push_back( 0. );
1218 vped.push_back( 0. );
1219 vped.push_back( 0. );
1220 vped.push_back( 0. );
1223 else if (getWeightsFromFile_)
1227 std::ifstream pedFile(
edm::FileInPath(pedWeightsFile_).fullPath().c_str());
1229 while (!pedFile.eof() && tdcBin < nTDCbins_)
1231 for(
int j = 0;
j < 10; ++
j) {
1234 pedwgtv[tdcBin].push_back(ww);
1238 assert (tdcBin == nTDCbins_);
1243 edm::LogError(
"EcalTrivialConditionRetriever") <<
"Configuration not supported. Exception is raised ";
1247 for (
int i=0;
i<nTDCbins_;
i++)
1249 assert(pedwgtv[
i].
size() == 10);
1251 for(std::vector<double>::const_iterator it = pedwgtv[
i].
begin(); it != pedwgtv[
i].end(); ++it) {
1252 (pedWeights_[
i])[j] = *it;
1257 std::vector< std::vector<double> > pedwgtvaft(nTDCbins_);
1259 if (!getWeightsFromFile_ && nTDCbins_ == 1)
1261 std::vector<double> vped;
1262 vped.push_back( 0. );
1263 vped.push_back( 0. );
1264 vped.push_back( 0. );
1265 vped.push_back( 0. );
1266 vped.push_back( 0. );
1267 vped.push_back( 0. );
1268 vped.push_back( 0. );
1269 vped.push_back( 0. );
1270 vped.push_back( 0. );
1271 vped.push_back( 0. );
1274 else if (getWeightsFromFile_)
1278 std::ifstream pedFile(
edm::FileInPath(pedWeightsAftFile_).fullPath().c_str());
1280 while (!pedFile.eof() && tdcBin < nTDCbins_)
1282 for(
int j = 0;
j < 10; ++
j) {
1285 pedwgtvaft[tdcBin].push_back(ww);
1289 assert (tdcBin == nTDCbins_);
1294 edm::LogError(
"EcalTrivialConditionRetriever") <<
"Configuration not supported. Exception is raised ";
1298 for (
int i=0;
i<nTDCbins_;
i++)
1300 assert(pedwgtvaft[
i].
size() == 10);
1302 for(std::vector<double>::const_iterator it = pedwgtvaft[
i].
begin(); it != pedwgtvaft[
i].end(); ++it) {
1303 (pedWeightsAft_[
i])[j]=*it;
1312 std::vector< std::vector<double> > jittwgtv(nTDCbins_);
1314 if (!getWeightsFromFile_ && nTDCbins_ == 1 )
1316 std::vector<double> vjitt;
1317 vjitt.push_back( 0.04066309 );
1318 vjitt.push_back( 0.04066309 );
1319 vjitt.push_back( 0.04066309 );
1320 vjitt.push_back( 0.000 );
1321 vjitt.push_back( 1.325176 );
1322 vjitt.push_back( -0.04997078 );
1323 vjitt.push_back( -0.504338 );
1324 vjitt.push_back( -0.5024844 );
1325 vjitt.push_back( -0.3903718 );
1326 vjitt.push_back( 0.000 );
1329 else if (getWeightsFromFile_)
1333 std::ifstream jittFile(
edm::FileInPath(jittWeightsFile_).fullPath().c_str());
1335 while (!jittFile.eof() && tdcBin < nTDCbins_)
1337 for(
int j = 0;
j < 10; ++
j) {
1340 jittwgtv[tdcBin].push_back(ww);
1344 assert (tdcBin == nTDCbins_);
1349 edm::LogError(
"EcalTrivialConditionRetriever") <<
"Configuration not supported. Exception is raised ";
1353 for (
int i=0;
i<nTDCbins_;
i++)
1355 assert(jittwgtv[
i].
size() == 10);
1357 for(std::vector<double>::const_iterator it = jittwgtv[
i].
begin(); it != jittwgtv[
i].end(); ++it) {
1358 (jittWeights_[
i])[j]= *it;
1363 std::vector< std::vector<double> > jittwgtvaft(nTDCbins_);
1365 if (!getWeightsFromFile_ && nTDCbins_ == 1)
1367 std::vector<double> vjitt;
1368 vjitt.push_back( 0. );
1369 vjitt.push_back( 0. );
1370 vjitt.push_back( 0. );
1371 vjitt.push_back( 0. );
1372 vjitt.push_back( 1.097871 );
1373 vjitt.push_back( -0.04551035 );
1374 vjitt.push_back( -0.4159156 );
1375 vjitt.push_back( -0.4185352 );
1376 vjitt.push_back( -0.3367127 );
1377 vjitt.push_back( 0. );
1380 else if (getWeightsFromFile_)
1384 std::ifstream jittFile(
edm::FileInPath(jittWeightsAftFile_).fullPath().c_str());
1386 while (!jittFile.eof() && tdcBin < nTDCbins_)
1388 for(
int j = 0;
j < 10; ++
j) {
1391 jittwgtvaft[tdcBin].push_back(ww);
1395 assert (tdcBin == nTDCbins_);
1400 edm::LogError(
"EcalTrivialConditionRetriever") <<
"Configuration not supported. Exception is raised ";
1404 for (
int i=0;
i<nTDCbins_;
i++)
1406 assert(jittwgtvaft[
i].
size() == 10);
1408 for(std::vector<double>::const_iterator it = jittwgtvaft[
i].
begin(); it != jittwgtvaft[
i].end(); ++it) {
1409 (jittWeightsAft_[
i])[j]= *it;
1415 std::vector< EcalWeightSet::EcalChi2WeightMatrix > chi2Matrix(nTDCbins_);
1416 if (!getWeightsFromFile_ && nTDCbins_ == 1 )
1422 chi2Matrix[0](0,0) = 0.694371;
1423 chi2Matrix[0](0,1) = -0.305629;
1424 chi2Matrix[0](0,2) = -0.305629;
1425 chi2Matrix[0](0,3) = 0.;
1426 chi2Matrix[0](0,4) = 0.;
1427 chi2Matrix[0](0,5) = 0.;
1428 chi2Matrix[0](0,6) = 0.;
1429 chi2Matrix[0](0,7) = 0.;
1430 chi2Matrix[0](0,8) = 0.;
1431 chi2Matrix[0](0,9) = 0.;
1432 chi2Matrix[0](1,0) = -0.305629;
1433 chi2Matrix[0](1,1) = 0.694371;
1434 chi2Matrix[0](1,2) = -0.305629;
1435 chi2Matrix[0](1,3) = 0.;
1436 chi2Matrix[0](1,4) = 0.;
1437 chi2Matrix[0](1,5) = 0.;
1438 chi2Matrix[0](1,6) = 0.;
1439 chi2Matrix[0](1,7) = 0.;
1440 chi2Matrix[0](1,8) = 0.;
1441 chi2Matrix[0](1,9) = 0.;
1442 chi2Matrix[0](2,0) = -0.305629;
1443 chi2Matrix[0](2,1) = -0.305629;
1444 chi2Matrix[0](2,2) = 0.694371;
1445 chi2Matrix[0](2,3) = 0.;
1446 chi2Matrix[0](2,4) = 0.;
1447 chi2Matrix[0](2,5) = 0.;
1448 chi2Matrix[0](2,6) = 0.;
1449 chi2Matrix[0](2,7) = 0.;
1450 chi2Matrix[0](2,8) = 0.;
1451 chi2Matrix[0](2,9) = 0.;
1452 chi2Matrix[0](3,0) = 0.;
1453 chi2Matrix[0](3,1) = 0.;
1454 chi2Matrix[0](3,2) = 0.;
1455 chi2Matrix[0](3,3) = 0.;
1456 chi2Matrix[0](3,4) = 0.;
1457 chi2Matrix[0](3,5) = 0.;
1458 chi2Matrix[0](3,6) = 0.;
1459 chi2Matrix[0](3,7) = 0.;
1460 chi2Matrix[0](3,8) = 0.;
1461 chi2Matrix[0](3,9) = 0.;
1462 chi2Matrix[0](4,0) = 0.;
1463 chi2Matrix[0](4,1) = 0.;
1464 chi2Matrix[0](4,2) = 0.;
1465 chi2Matrix[0](4,3) = 0.;
1466 chi2Matrix[0](4,4) = 0.8027116;
1467 chi2Matrix[0](4,5) = -0.2517103;
1468 chi2Matrix[0](4,6) = -0.2232882;
1469 chi2Matrix[0](4,7) = -0.1716192;
1470 chi2Matrix[0](4,8) = -0.1239006;
1471 chi2Matrix[0](4,9) = 0.;
1472 chi2Matrix[0](5,0) = 0.;
1473 chi2Matrix[0](5,1) = 0.;
1474 chi2Matrix[0](5,2) = 0.;
1475 chi2Matrix[0](5,3) = 0.;
1476 chi2Matrix[0](5,4) = -0.2517103;
1477 chi2Matrix[0](5,5) = 0.6528964;
1478 chi2Matrix[0](5,6) = -0.2972839;
1479 chi2Matrix[0](5,7) = -0.2067162;
1480 chi2Matrix[0](5,8) = -0.1230729;
1481 chi2Matrix[0](5,9) = 0.;
1482 chi2Matrix[0](6,0) = 0.;
1483 chi2Matrix[0](6,1) = 0.;
1484 chi2Matrix[0](6,2) = 0.;
1485 chi2Matrix[0](6,3) = 0.;
1486 chi2Matrix[0](6,4) = -0.2232882;
1487 chi2Matrix[0](6,5) = -0.2972839;
1488 chi2Matrix[0](6,6) = 0.7413607;
1489 chi2Matrix[0](6,7) = -0.1883866;
1490 chi2Matrix[0](6,8) = -0.1235052;
1491 chi2Matrix[0](6,9) = 0.;
1492 chi2Matrix[0](7,0) = 0.;
1493 chi2Matrix[0](7,1) = 0.;
1494 chi2Matrix[0](7,2) = 0.;
1495 chi2Matrix[0](7,3) = 0.;
1496 chi2Matrix[0](7,4) = -0.1716192;
1497 chi2Matrix[0](7,5) = -0.2067162;
1498 chi2Matrix[0](7,6) = -0.1883866;
1499 chi2Matrix[0](7,7) = 0.844935;
1500 chi2Matrix[0](7,8) = -0.124291;
1501 chi2Matrix[0](7,9) = 0.;
1502 chi2Matrix[0](8,0) = 0.;
1503 chi2Matrix[0](8,1) = 0.;
1504 chi2Matrix[0](8,2) = 0.;
1505 chi2Matrix[0](8,3) = 0.;
1506 chi2Matrix[0](8,4) = -0.1239006;
1507 chi2Matrix[0](8,5) = -0.1230729;
1508 chi2Matrix[0](8,6) = -0.1235052;
1509 chi2Matrix[0](8,7) = -0.124291;
1510 chi2Matrix[0](8,8) = 0.8749833;
1511 chi2Matrix[0](8,9) = 0.;
1512 chi2Matrix[0](9,0) = 0.;
1513 chi2Matrix[0](9,1) = 0.;
1514 chi2Matrix[0](9,2) = 0.;
1515 chi2Matrix[0](9,3) = 0.;
1516 chi2Matrix[0](9,4) = 0.;
1517 chi2Matrix[0](9,5) = 0.;
1518 chi2Matrix[0](9,6) = 0.;
1519 chi2Matrix[0](9,7) = 0.;
1520 chi2Matrix[0](9,8) = 0.;
1521 chi2Matrix[0](9,9) = 0.;
1523 else if (getWeightsFromFile_)
1527 std::ifstream chi2MatrixFile(
edm::FileInPath(chi2MatrixFile_).fullPath().c_str());
1529 while (!chi2MatrixFile.eof() && tdcBin < nTDCbins_)
1532 for(
int j = 0;
j < 10; ++
j) {
1533 for(
int l = 0;
l < 10; ++
l) {
1535 chi2MatrixFile >> ww;
1536 chi2Matrix[tdcBin](
j,
l)=ww;
1541 assert (tdcBin == nTDCbins_);
1546 edm::LogError(
"EcalTrivialConditionRetriever") <<
"Configuration not supported. Exception is raised ";
1553 chi2Matrix_ = chi2Matrix;
1556 std::vector< EcalWeightSet::EcalChi2WeightMatrix > chi2MatrixAft(nTDCbins_);
1557 if (!getWeightsFromFile_ && nTDCbins_ == 1 )
1563 chi2MatrixAft[0](0,0) = 0.;
1564 chi2MatrixAft[0](0,1) = 0.;
1565 chi2MatrixAft[0](0,2) = 0.;
1566 chi2MatrixAft[0](0,3) = 0.;
1567 chi2MatrixAft[0](0,4) = 0.;
1568 chi2MatrixAft[0](0,5) = 0.;
1569 chi2MatrixAft[0](0,6) = 0.;
1570 chi2MatrixAft[0](0,7) = 0.;
1571 chi2MatrixAft[0](0,8) = 0.;
1572 chi2MatrixAft[0](0,9) = 0.;
1573 chi2MatrixAft[0](1,0) = 0.;
1574 chi2MatrixAft[0](1,1) = 0.;
1575 chi2MatrixAft[0](1,2) = 0.;
1576 chi2MatrixAft[0](1,3) = 0.;
1577 chi2MatrixAft[0](1,4) = 0.;
1578 chi2MatrixAft[0](1,5) = 0.;
1579 chi2MatrixAft[0](1,6) = 0.;
1580 chi2MatrixAft[0](1,7) = 0.;
1581 chi2MatrixAft[0](1,8) = 0.;
1582 chi2MatrixAft[0](1,9) = 0.;
1583 chi2MatrixAft[0](2,0) = 0.;
1584 chi2MatrixAft[0](2,1) = 0.;
1585 chi2MatrixAft[0](2,2) = 0.;
1586 chi2MatrixAft[0](2,3) = 0.;
1587 chi2MatrixAft[0](2,4) = 0.;
1588 chi2MatrixAft[0](2,5) = 0.;
1589 chi2MatrixAft[0](2,6) = 0.;
1590 chi2MatrixAft[0](2,7) = 0.;
1591 chi2MatrixAft[0](2,8) = 0.;
1592 chi2MatrixAft[0](2,9) = 0.;
1593 chi2MatrixAft[0](3,0) = 0.;
1594 chi2MatrixAft[0](3,1) = 0.;
1595 chi2MatrixAft[0](3,2) = 0.;
1596 chi2MatrixAft[0](3,3) = 0.;
1597 chi2MatrixAft[0](3,4) = 0.;
1598 chi2MatrixAft[0](3,5) = 0.;
1599 chi2MatrixAft[0](3,6) = 0.;
1600 chi2MatrixAft[0](3,7) = 0.;
1601 chi2MatrixAft[0](3,8) = 0.;
1602 chi2MatrixAft[0](3,9) = 0.;
1603 chi2MatrixAft[0](4,0) = 0.;
1604 chi2MatrixAft[0](4,1) = 0.;
1605 chi2MatrixAft[0](4,2) = 0.;
1606 chi2MatrixAft[0](4,3) = 0.;
1607 chi2MatrixAft[0](4,4) = 0.8030884;
1608 chi2MatrixAft[0](4,5) = -0.2543541;
1609 chi2MatrixAft[0](4,6) = -0.2243544;
1610 chi2MatrixAft[0](4,7) = -0.1698177;
1611 chi2MatrixAft[0](4,8) = -0.1194506;
1612 chi2MatrixAft[0](4,9) = 0.;
1613 chi2MatrixAft[0](5,0) = 0.;
1614 chi2MatrixAft[0](5,1) = 0.;
1615 chi2MatrixAft[0](5,2) = 0.;
1616 chi2MatrixAft[0](5,3) = 0.;
1617 chi2MatrixAft[0](5,4) = -0.2543541;
1618 chi2MatrixAft[0](5,5) = 0.6714465;
1619 chi2MatrixAft[0](5,6) = -0.2898025;
1620 chi2MatrixAft[0](5,7) = -0.2193564;
1621 chi2MatrixAft[0](5,8) = -0.1542964;
1622 chi2MatrixAft[0](5,9) = 0.;
1623 chi2MatrixAft[0](6,0) = 0.;
1624 chi2MatrixAft[0](6,1) = 0.;
1625 chi2MatrixAft[0](6,2) = 0.;
1626 chi2MatrixAft[0](6,3) = 0.;
1627 chi2MatrixAft[0](6,4) = -0.2243544;
1628 chi2MatrixAft[0](6,5) = -0.2898025;
1629 chi2MatrixAft[0](6,6) = 0.7443781;
1630 chi2MatrixAft[0](6,7) = -0.1934846;
1631 chi2MatrixAft[0](6,8) = -0.136098;
1632 chi2MatrixAft[0](6,9) = 0.;
1633 chi2MatrixAft[0](7,0) = 0.;
1634 chi2MatrixAft[0](7,1) = 0.;
1635 chi2MatrixAft[0](7,2) = 0.;
1636 chi2MatrixAft[0](7,3) = 0.;
1637 chi2MatrixAft[0](7,4) = -0.1698177;
1638 chi2MatrixAft[0](7,5) = -0.2193564;
1639 chi2MatrixAft[0](7,6) = -0.1934846;
1640 chi2MatrixAft[0](7,7) = 0.8535482;
1641 chi2MatrixAft[0](7,8) = -0.1030149;
1642 chi2MatrixAft[0](7,9) = 0.;
1643 chi2MatrixAft[0](8,0) = 0.;
1644 chi2MatrixAft[0](8,1) = 0.;
1645 chi2MatrixAft[0](8,2) = 0.;
1646 chi2MatrixAft[0](8,3) = 0.;
1647 chi2MatrixAft[0](8,4) = -0.1194506;
1648 chi2MatrixAft[0](8,5) = -0.1542964;
1649 chi2MatrixAft[0](8,6) = -0.136098;
1650 chi2MatrixAft[0](8,7) = -0.1030149;
1651 chi2MatrixAft[0](8,8) = 0.9275388;
1652 chi2MatrixAft[0](8,9) = 0.;
1653 chi2MatrixAft[0](9,0) = 0.;
1654 chi2MatrixAft[0](9,1) = 0.;
1655 chi2MatrixAft[0](9,2) = 0.;
1656 chi2MatrixAft[0](9,3) = 0.;
1657 chi2MatrixAft[0](9,4) = 0.;
1658 chi2MatrixAft[0](9,5) = 0.;
1659 chi2MatrixAft[0](9,6) = 0.;
1660 chi2MatrixAft[0](9,7) = 0.;
1661 chi2MatrixAft[0](9,8) = 0.;
1662 chi2MatrixAft[0](9,9) = 0.;
1664 else if (getWeightsFromFile_)
1668 std::ifstream chi2MatrixAftFile(
edm::FileInPath(chi2MatrixAftFile_).fullPath().c_str());
1670 while (!chi2MatrixAftFile.eof() && tdcBin < nTDCbins_)
1673 for(
int j = 0;
j < 10; ++
j) {
1674 for(
int l = 0;
l < 10; ++
l) {
1676 chi2MatrixAftFile >> ww;
1677 chi2MatrixAft[tdcBin](
j,
l)=ww;
1682 assert (tdcBin == nTDCbins_);
1687 edm::LogError(
"EcalTrivialConditionRetriever") <<
"Configuration not supported. Exception is raised ";
1694 chi2MatrixAft_ = chi2MatrixAft;
1702 std::auto_ptr<EcalChannelStatus>
1705 std::auto_ptr<EcalChannelStatus> ecalStatus = std::auto_ptr<EcalChannelStatus>(
new EcalChannelStatus() );
1712 if(ieta==0)
continue;
1716 ecalStatus->setValue( ebid, 0 );
1726 ecalStatus->setValue( eedetidpos, 0 );
1730 ecalStatus->setValue( eedetidneg, 0 );
1740 std::ifstream statusFile(
edm::FileInPath(channelStatusFile_).fullPath().c_str());
1741 if ( !statusFile.good() ) {
1743 <<
"*** Problems opening file: " << channelStatusFile_ ;
1747 std::string EcalSubDet;
1752 while (!statusFile.eof())
1754 statusFile >> EcalSubDet;
1755 if (EcalSubDet!=std::string(
"EB") && EcalSubDet!=std::string(
"EE"))
1757 std::getline(statusFile,str);
1762 statusFile>> hashIndex >>
status;
1766 if(EcalSubDet==std::string(
"EB"))
1769 ecalStatus->setValue( ebid, status );
1771 else if(EcalSubDet==std::string(
"EE"))
1774 ecalStatus->setValue( eedetid, status );
1779 <<
" *** " << EcalSubDet <<
" is neither EB nor EE ";
1792 std::auto_ptr<EcalChannelStatus>
1796 std::auto_ptr<EcalChannelStatus> ical = std::auto_ptr<EcalChannelStatus>(
new EcalChannelStatus() );
1799 if(ieta==0)
continue;
1803 ical->setValue( ebid, 0 );
1813 ical->setValue( eedetidpos, 0 );
1817 ical->setValue( eedetidneg, 0 );
1825 std::auto_ptr<EcalDQMChannelStatus>
1830 std::auto_ptr<EcalDQMChannelStatus> ical = std::auto_ptr<EcalDQMChannelStatus>(
new EcalDQMChannelStatus() );
1833 if(ieta==0)
continue;
1837 ical->setValue( ebid, sta );
1847 ical->setValue( eedetidpos, sta );
1851 ical->setValue( eedetidneg, sta );
1859 std::auto_ptr<EcalDQMTowerStatus>
1863 std::auto_ptr<EcalDQMTowerStatus> ical = std::auto_ptr<EcalDQMTowerStatus>(
new EcalDQMTowerStatus() );
1869 for(
int k=0 ;
k<2;
k++ ) {
1872 for(
int i=1 ;
i<73;
i++) {
1873 for(
int j=1 ;
j<18;
j++) {
1877 ical->setValue( ebid, sta );
1885 for(
int k=0 ;
k<2;
k++ ) {
1888 for(
int i=1 ;
i<21;
i++) {
1889 for(
int j=1 ;
j<21;
j++) {
1892 ical->setValue( eeid, sta );
1902 std::auto_ptr<EcalDCSTowerStatus>
1906 std::auto_ptr<EcalDCSTowerStatus> ical = std::auto_ptr<EcalDCSTowerStatus>(
new EcalDCSTowerStatus() );
1912 for(
int k=0 ;
k<2;
k++ ) {
1915 for(
int i=1 ;
i<73;
i++) {
1916 for(
int j=1 ;
j<18;
j++) {
1920 ical->setValue( ebid, status );
1928 for(
int k=0 ;
k<2;
k++ ) {
1931 for(
int i=1 ;
i<21;
i++) {
1932 for(
int j=1 ;
j<21;
j++) {
1935 ical->setValue( eeid, status );
1945 std::auto_ptr<EcalDAQTowerStatus>
1949 std::auto_ptr<EcalDAQTowerStatus> ical = std::auto_ptr<EcalDAQTowerStatus>(
new EcalDAQTowerStatus() );
1955 for(
int k=0 ;
k<2;
k++ ) {
1958 for(
int i=1 ;
i<73;
i++) {
1959 for(
int j=1 ;
j<18;
j++) {
1963 ical->setValue( ebid, status );
1971 for(
int k=0 ;
k<2;
k++ ) {
1974 for(
int i=1 ;
i<21;
i++) {
1975 for(
int j=1 ;
j<21;
j++) {
1978 ical->setValue( eeid, status );
1988 std::auto_ptr<EcalTPGCrystalStatus>
1991 std::auto_ptr<EcalTPGCrystalStatus> ecalStatus = std::auto_ptr<EcalTPGCrystalStatus>(
new EcalTPGCrystalStatus() );
1998 if(ieta==0)
continue;
2002 ecalStatus->setValue( ebid, 0 );
2012 ecalStatus->setValue( eedetidpos, 0 );
2016 ecalStatus->setValue( eedetidneg, 0 );
2026 std::ifstream statusFile(
edm::FileInPath(channelStatusFile_).fullPath().c_str());
2027 if ( !statusFile.good() ) {
2029 <<
"*** Problems opening file: " << channelStatusFile_ ;
2033 std::string EcalSubDet;
2038 while (!statusFile.eof())
2040 statusFile >> EcalSubDet;
2041 if (EcalSubDet!=std::string(
"EB") && EcalSubDet!=std::string(
"EE"))
2043 std::getline(statusFile,str);
2048 statusFile>> hashIndex >>
status;
2052 if(EcalSubDet==std::string(
"EB"))
2055 ecalStatus->setValue( ebid, status );
2057 else if(EcalSubDet==std::string(
"EE"))
2060 ecalStatus->setValue( eedetid, status );
2065 <<
" *** " << EcalSubDet <<
" is neither EB nor EE ";
2078 std::auto_ptr<EcalTPGCrystalStatus>
2082 std::auto_ptr<EcalTPGCrystalStatus> ical = std::auto_ptr<EcalTPGCrystalStatus>(
new EcalTPGCrystalStatus() );
2085 if(ieta==0)
continue;
2089 ical->setValue( ebid, 0 );
2099 ical->setValue( eedetidpos, 0 );
2103 ical->setValue( eedetidneg, 0 );
2115 std::auto_ptr<EcalIntercalibConstants>
2119 std::auto_ptr<EcalIntercalibConstants> ical =
2125 edm::LogInfo(
"EcalTrivialConditionRetriever") <<
"Reading intercalibration constants from file "
2126 << intercalibConstantsFile_.c_str() ;
2129 inpFile = fopen (intercalibConstantsFile_.c_str (),
"r") ;
2133 <<
"*** Can not open file: " << intercalibConstantsFile_ ;
2134 throw cms::Exception (
"Cannot open inter-calibration coefficients txt file") ;
2138 std::ostringstream str ;
2139 fgets (line,255,inpFile) ;
2140 int sm_number=atoi (line) ;
2141 str <<
"sm: " << sm_number ;
2143 fgets (line,255,inpFile) ;
2146 fgets (line,255,inpFile) ;
2147 std::string gen_tag =
line ;
2148 str <<
"gen tag: " << gen_tag ;
2150 fgets (line,255,inpFile) ;
2151 std::string cali_method =
line ;
2152 str <<
"cali method: " << cali_method << std::endl ;
2154 fgets (line,255,inpFile) ;
2155 std::string cali_version =
line ;
2156 str <<
"cali version: " << cali_version << std::endl ;
2158 fgets (line,255,inpFile) ;
2159 std::string cali_type =
line ;
2160 str <<
"cali type: " << cali_type ;
2163 <<
"[PIETRO] Intercalibration file - "
2164 << str.str () << std::endl ;
2166 float calib[1700]={1} ;
2167 int calib_status[1700]={0} ;
2171 while (fgets (line,255,inpFile))
2175 float dmy_calib = 0. ;
2176 float dmy_RMS = 0. ;
2177 int dmy_events = 0 ;
2178 int dmy_status = 0 ;
2179 sscanf (line,
"%d %f %f %d %d", &dmy_num, &dmy_calib,
2180 &dmy_RMS, &dmy_events,
2182 assert (dmy_num >= 1) ;
2183 assert (dmy_num <= 1700) ;
2184 calib[dmy_num-1] = dmy_calib ;
2185 calib_status[dmy_num-1] = dmy_status ;
2197 edm::LogInfo (
"EcalTrivialConditionRetriever") <<
"Read intercalibrations for " << ii <<
" xtals " ;
2199 <<
"Some crystals missing, set to 1" << std::endl ;
2207 for (
int i=0 ;
i<1700 ;
i++)
2218 if (calib_status[
i]) ical->setValue (ebid.
rawId (), calib[
i]) ;
2219 else ical->setValue (ebid.
rawId (), 1.) ;
2229 std::auto_ptr<EcalIntercalibErrors>
2233 std::auto_ptr<EcalIntercalibErrors> ical =
2239 edm::LogInfo(
"EcalTrivialConditionRetriever") <<
"Reading intercalibration constants from file "
2240 << intercalibErrorsFile_.c_str() ;
2243 inpFile = fopen (intercalibErrorsFile_.c_str (),
"r") ;
2247 <<
"*** Can not open file: " << intercalibErrorsFile_ ;
2248 throw cms::Exception (
"Cannot open inter-calibration coefficients txt file") ;
2252 std::ostringstream str ;
2253 fgets (line,255,inpFile) ;
2254 int sm_number=atoi (line) ;
2255 str <<
"sm: " << sm_number ;
2257 fgets (line,255,inpFile) ;
2260 fgets (line,255,inpFile) ;
2261 std::string gen_tag =
line ;
2262 str <<
"gen tag: " << gen_tag ;
2264 fgets (line,255,inpFile) ;
2265 std::string cali_method =
line ;
2266 str <<
"cali method: " << cali_method << std::endl ;
2268 fgets (line,255,inpFile) ;
2269 std::string cali_version =
line ;
2270 str <<
"cali version: " << cali_version << std::endl ;
2272 fgets (line,255,inpFile) ;
2273 std::string cali_type =
line ;
2274 str <<
"cali type: " << cali_type ;
2277 <<
"[PIETRO] Intercalibration file - "
2278 << str.str () << std::endl ;
2280 float calib[1700]={1} ;
2281 int calib_status[1700]={0} ;
2285 while (fgets (line,255,inpFile))
2289 float dmy_calib = 0. ;
2290 float dmy_RMS = 0. ;
2291 int dmy_events = 0 ;
2292 int dmy_status = 0 ;
2293 sscanf (line,
"%d %f %f %d %d", &dmy_num, &dmy_calib,
2294 &dmy_RMS, &dmy_events,
2296 assert (dmy_num >= 1) ;
2297 assert (dmy_num <= 1700) ;
2298 calib[dmy_num-1] = dmy_calib ;
2299 calib_status[dmy_num-1] = dmy_status ;
2311 edm::LogInfo (
"EcalTrivialConditionRetriever") <<
"Read intercalibrations for " << ii <<
" xtals " ;
2313 <<
"Some crystals missing, set to 1" << std::endl ;
2321 for (
int i=0 ;
i<1700 ;
i++)
2332 if (calib_status[
i]) ical->setValue (ebid.
rawId (), calib[
i]) ;
2333 else ical->setValue (ebid.
rawId (), 1.) ;
2345 std::auto_ptr<EcalTimeCalibConstants>
2349 std::auto_ptr<EcalTimeCalibConstants> ical =
2355 edm::LogInfo(
"EcalTrivialConditionRetriever") <<
"Reading time calibration constants from file "
2356 << timeCalibConstantsFile_.c_str() ;
2359 inpFile = fopen (timeCalibConstantsFile_.c_str (),
"r") ;
2363 <<
"*** Can not open file: " << timeCalibConstantsFile_ ;
2364 throw cms::Exception (
"Cannot open inter-calibration coefficients txt file") ;
2368 std::ostringstream str ;
2369 fgets (line,255,inpFile) ;
2370 int sm_number=atoi (line) ;
2371 str <<
"sm: " << sm_number ;
2373 fgets (line,255,inpFile) ;
2376 fgets (line,255,inpFile) ;
2377 std::string gen_tag =
line ;
2378 str <<
"gen tag: " << gen_tag ;
2380 fgets (line,255,inpFile) ;
2381 std::string cali_method =
line ;
2382 str <<
"cali method: " << cali_method << std::endl ;
2384 fgets (line,255,inpFile) ;
2385 std::string cali_version =
line ;
2386 str <<
"cali version: " << cali_version << std::endl ;
2388 fgets (line,255,inpFile) ;
2389 std::string cali_type =
line ;
2390 str <<
"cali type: " << cali_type ;
2393 <<
"TimeCalibration file - "
2394 << str.str () << std::endl ;
2396 float calib[1700]={1} ;
2397 int calib_status[1700]={0} ;
2401 while (fgets (line,255,inpFile))
2405 float dmy_calib = 0. ;
2406 float dmy_RMS = 0. ;
2407 int dmy_events = 0 ;
2408 int dmy_status = 0 ;
2409 sscanf (line,
"%d %f %f %d %d", &dmy_num, &dmy_calib,
2410 &dmy_RMS, &dmy_events,
2412 assert (dmy_num >= 1) ;
2413 assert (dmy_num <= 1700) ;
2414 calib[dmy_num-1] = dmy_calib ;
2415 calib_status[dmy_num-1] = dmy_status ;
2427 edm::LogInfo (
"EcalTrivialConditionRetriever") <<
"Read timeCalibrations for " << ii <<
" xtals " ;
2429 <<
"Some crystals missing, set to 1" << std::endl ;
2437 for (
int i=0 ;
i<1700 ;
i++)
2448 if (calib_status[
i]) ical->setValue (ebid.
rawId (), calib[
i]) ;
2449 else ical->setValue (ebid.
rawId (), 1.) ;
2459 std::auto_ptr<EcalTimeCalibErrors>
2463 std::auto_ptr<EcalTimeCalibErrors> ical =
2469 edm::LogInfo(
"EcalTrivialConditionRetriever") <<
"Reading timeCalibration constants from file "
2470 << timeCalibErrorsFile_.c_str() ;
2473 inpFile = fopen (timeCalibErrorsFile_.c_str (),
"r") ;
2477 <<
"*** Can not open file: " << timeCalibErrorsFile_ ;
2478 throw cms::Exception (
"Cannot open inter-calibration coefficients txt file") ;
2482 std::ostringstream str ;
2483 fgets (line,255,inpFile) ;
2484 int sm_number=atoi (line) ;
2485 str <<
"sm: " << sm_number ;
2487 fgets (line,255,inpFile) ;
2490 fgets (line,255,inpFile) ;
2491 std::string gen_tag =
line ;
2492 str <<
"gen tag: " << gen_tag ;
2494 fgets (line,255,inpFile) ;
2495 std::string cali_method =
line ;
2496 str <<
"cali method: " << cali_method << std::endl ;
2498 fgets (line,255,inpFile) ;
2499 std::string cali_version =
line ;
2500 str <<
"cali version: " << cali_version << std::endl ;
2502 fgets (line,255,inpFile) ;
2503 std::string cali_type =
line ;
2504 str <<
"cali type: " << cali_type ;
2507 <<
"TimeCalibration file - "
2508 << str.str () << std::endl ;
2510 float calib[1700]={1} ;
2511 int calib_status[1700]={0} ;
2515 while (fgets (line,255,inpFile))
2519 float dmy_calib = 0. ;
2520 float dmy_RMS = 0. ;
2521 int dmy_events = 0 ;
2522 int dmy_status = 0 ;
2523 sscanf (line,
"%d %f %f %d %d", &dmy_num, &dmy_calib,
2524 &dmy_RMS, &dmy_events,
2526 assert (dmy_num >= 1) ;
2527 assert (dmy_num <= 1700) ;
2528 calib[dmy_num-1] = dmy_calib ;
2529 calib_status[dmy_num-1] = dmy_status ;
2541 edm::LogInfo (
"EcalTrivialConditionRetriever") <<
"Read time calibrations for " << ii <<
" xtals " ;
2543 <<
"Some crystals missing, set to 1" << std::endl ;
2551 for (
int i=0 ;
i<1700 ;
i++)
2562 if (calib_status[
i]) ical->setValue (ebid.
rawId (), calib[
i]) ;
2563 else ical->setValue (ebid.
rawId (), 1.) ;
2574 std::auto_ptr<EcalMappingElectronics>
2577 std::auto_ptr<EcalMappingElectronics> mapping = std::auto_ptr<EcalMappingElectronics>(
new EcalMappingElectronics() );
2583 edm::LogError(
"EcalTrivialConditionRetriever") <<
"File not found";
2592 int dccid, towerid, pseudostrip_in_SC, xtal_in_pseudostrip;
2593 int tccid, tower, pseudostrip_in_TCC, pseudostrip_in_TT;
2598 f >> ix >> iy >> iz >> CL >> dccid >> towerid >> pseudostrip_in_SC >> xtal_in_pseudostrip >> tccid >> tower >>
2599 pseudostrip_in_TCC >> pseudostrip_in_TT ;
2606 EcalElectronicsId elecid(dccid,towerid, pseudostrip_in_SC, xtal_in_pseudostrip);
2612 (*mapping).setValue(detid, aElement);
2621 std::auto_ptr<EcalMappingElectronics>
2625 std::auto_ptr<EcalMappingElectronics> ical = std::auto_ptr<EcalMappingElectronics>(
new EcalMappingElectronics() );
2631 std::auto_ptr<Alignments>
2633 double mytrans[3] = {0., 0., 0.};
2634 double myeuler[3] = {0., 0., 0.};
2636 std::vector<AlignTransform> my_align;
2639 for(
int SM = 1 ; SM < 37; SM++ ) {
2642 iphi = 1 + (SM - 19) * 20;
2648 if(getEBAlignmentFromFile_) {
2649 f >> myeuler[0] >> myeuler[1] >> myeuler[2] >> mytrans[0] >> mytrans[1] >> mytrans[2];
2650 std::cout <<
" translation " << mytrans[0] <<
" " << mytrans[1] <<
" " << mytrans[2] <<
"\n"
2651 <<
" euler " << myeuler[0] <<
" " << myeuler[1] <<
" " << myeuler[2] << std::endl;
2653 CLHEP::Hep3Vector translation( mytrans[0], mytrans[1], mytrans[2]);
2654 CLHEP::HepEulerAngles euler( myeuler[0], myeuler[1], myeuler[2]);
2656 my_align.push_back(transform);
2682 std::auto_ptr<Alignments> ical = std::auto_ptr<Alignments>(
new Alignments(a) );
2686 std::auto_ptr<Alignments>
2688 double mytrans[3] = {0., 0., 0.};
2689 double myeuler[3] = {0., 0., 0.};
2691 std::vector<AlignTransform> my_align;
2695 for(
int Dee = 0 ; Dee < 4; Dee++ ) {
2697 if(Dee == 1 || Dee == 3)
2702 EEDetId eedetId(ix, iy, side);
2703 if(getEEAlignmentFromFile_) {
2704 f >> myeuler[0] >> myeuler[1] >> myeuler[2] >> mytrans[0] >> mytrans[1] >> mytrans[2];
2705 std::cout <<
" translation " << mytrans[0] <<
" " << mytrans[1] <<
" " << mytrans[2] <<
"\n"
2706 <<
" euler " << myeuler[0] <<
" " << myeuler[1] <<
" " << myeuler[2] << std::endl;
2708 CLHEP::Hep3Vector translation( mytrans[0], mytrans[1], mytrans[2]);
2709 CLHEP::HepEulerAngles euler( myeuler[0], myeuler[1], myeuler[2]);
2711 my_align.push_back(transform);
2715 std::auto_ptr<Alignments> ical = std::auto_ptr<Alignments>(
new Alignments(a) );
2719 std::auto_ptr<Alignments>
2721 double mytrans[3] = {0., 0., 0.};
2722 double myeuler[3] = {0., 0., 0.};
2724 std::vector<AlignTransform> my_align;
2726 int pl_vect[10] = {2, 2, 1, 1, 1, 1, 2, 2};
2730 for(
int layer = 0 ; layer < 8; layer++ ) {
2732 int ix = 10 + (layer%2) * 20;
2733 int plane = pl_vect[layer];
2734 if(layer > 3) side = 1;
2735 ESDetId esdetId(strip, ix, iy, plane, side);
2736 if(getESAlignmentFromFile_) {
2737 f >> myeuler[0] >> myeuler[1] >> myeuler[2] >> mytrans[0] >> mytrans[1] >> mytrans[2];
2738 std::cout <<
" translation " << mytrans[0] <<
" " << mytrans[1] <<
" " << mytrans[2] <<
"\n"
2739 <<
" euler " << myeuler[0] <<
" " << myeuler[1] <<
" " << myeuler[2] << std::endl;
2741 CLHEP::Hep3Vector translation( mytrans[0], mytrans[1], mytrans[2]);
2742 CLHEP::HepEulerAngles euler( myeuler[0], myeuler[1], myeuler[2]);
2744 my_align.push_back(transform);
2748 std::auto_ptr<Alignments> ical = std::auto_ptr<Alignments>(
new Alignments(a) );
EcalChi2WeightMatrix & getChi2WeightsBeforeGainSwitch()
static bool validDetId(int i, int j)
check if a valid index combination
EcalDAQTowerStatusMap EcalDAQTowerStatus
virtual std::auto_ptr< EcalTimeCalibConstants > produceEcalTimeCalibConstants(const EcalTimeCalibConstantsRcd &)
static bool validDetId(int ix, int iy, int iz)
virtual std::auto_ptr< EcalChannelStatus > produceEcalChannelStatus(const EcalChannelStatusRcd &)
virtual std::auto_ptr< EcalIntercalibConstants > getIntercalibConstantsFromConfiguration(const EcalIntercalibConstantsRcd &)
EcalIntercalibConstantMCMap EcalIntercalibConstantsMC
T getUntrackedParameter(std::string const &, T const &) const
static const int MIN_IPHI
virtual void setIntervalFor(const edm::eventsetup::EventSetupRecordKey &, const edm::IOVSyncValue &, edm::ValidityInterval &)
virtual std::auto_ptr< EcalClusterCrackCorrParameters > produceEcalClusterCrackCorrParameters(const EcalClusterCrackCorrParametersRcd &)
EcalFunParams EcalClusterCrackCorrParameters
virtual std::auto_ptr< EcalTPGCrystalStatus > produceEcalTrgChannelStatus(const EcalTPGCrystalStatusRcd &)
virtual std::auto_ptr< EcalChannelStatus > getChannelStatusFromConfiguration(const EcalChannelStatusRcd &)
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
virtual std::auto_ptr< EcalTBWeights > produceEcalTBWeights(const EcalTBWeightsRcd &)
virtual std::auto_ptr< EcalMappingElectronics > produceEcalMappingElectronics(const EcalMappingElectronicsRcd &)
tuple batch
Use ROOT's batch mode, unless outputting to C macros, since there is a bug in pyROOT that fails to ex...
static const IOVSyncValue & endOfTime()
EcalTimeCalibErrorMap EcalTimeCalibErrors
EcalCondObjectContainer< EcalXtalGroupId > EcalWeightXtalGroups
EcalLaserAPDPNRatiosRefMap EcalLaserAPDPNRatiosRef
std::pair< Time_t, Time_t > ValidityInterval
void getWeightsFromConfiguration(const edm::ParameterSet &ps)
static EEDetId unhashIndex(int hi)
virtual std::auto_ptr< EcalPedestals > produceEcalPedestals(const EcalPedestalsRcd &)
virtual std::auto_ptr< EcalLaserAPDPNRatios > produceEcalLaserAPDPNRatios(const EcalLaserAPDPNRatiosRcd &)
std::vector< AlignTransform > m_align
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
virtual std::auto_ptr< EcalLaserAlphas > produceEcalLaserAlphas(const EcalLaserAlphasRcd &)
void setGain12Over6(const float &g)
uint32_t rawId() const
get the raw id
virtual std::auto_ptr< EcalTimeCalibConstants > getTimeCalibConstantsFromConfiguration(const EcalTimeCalibConstantsRcd &)
virtual std::auto_ptr< EcalDAQTowerStatus > produceEcalDAQTowerStatus(const EcalDAQTowerStatusRcd &)
virtual std::auto_ptr< Alignments > produceEcalAlignmentEE(const EEAlignmentRcd &)
EcalDQMChannelStatusMap EcalDQMChannelStatus
MVATrainerComputer * calib
EcalMappingElectronicsMap EcalMappingElectronics
EcalChannelStatusMap EcalChannelStatus
EcalGainRatioMap EcalGainRatios
virtual std::auto_ptr< EcalADCToGeVConstant > produceEcalADCToGeVConstant(const EcalADCToGeVConstantRcd &)
static const IOVSyncValue & beginOfTime()
virtual std::auto_ptr< EcalClusterLocalContCorrParameters > produceEcalClusterLocalContCorrParameters(const EcalClusterLocalContCorrParametersRcd &)
EcalLaserAlphaMap EcalLaserAlphas
EcalDCSTowerStatusMap EcalDCSTowerStatus
EcalDQMTowerStatusMap EcalDQMTowerStatus
virtual std::auto_ptr< EcalWeightXtalGroups > produceEcalWeightXtalGroups(const EcalWeightXtalGroupsRcd &)
const char * name() const
virtual std::auto_ptr< EcalIntercalibErrors > getIntercalibErrorsFromConfiguration(const EcalIntercalibErrorsRcd &)
virtual std::auto_ptr< Alignments > produceEcalAlignmentEB(const EBAlignmentRcd &)
EcalTPGCrystalStatusMap EcalTPGCrystalStatus
EcalChi2WeightMatrix & getChi2WeightsAfterGainSwitch()
virtual std::auto_ptr< EcalDQMTowerStatus > produceEcalDQMTowerStatus(const EcalDQMTowerStatusRcd &)
EcalFunParams EcalClusterEnergyCorrectionObjectSpecificParameters
virtual std::auto_ptr< EcalClusterEnergyUncertaintyParameters > produceEcalClusterEnergyUncertaintyParameters(const EcalClusterEnergyUncertaintyParametersRcd &)
virtual std::auto_ptr< EcalMappingElectronics > getMappingFromConfiguration(const EcalMappingElectronicsRcd &)
virtual std::auto_ptr< EcalIntercalibErrors > produceEcalIntercalibErrors(const EcalIntercalibErrorsRcd &)
virtual std::auto_ptr< EcalTimeCalibErrors > produceEcalTimeCalibErrors(const EcalTimeCalibErrorsRcd &)
virtual std::auto_ptr< EcalTPGCrystalStatus > getTrgChannelStatusFromConfiguration(const EcalTPGCrystalStatusRcd &)
virtual std::auto_ptr< EcalClusterEnergyCorrectionParameters > produceEcalClusterEnergyCorrectionParameters(const EcalClusterEnergyCorrectionParametersRcd &)
virtual ~EcalTrivialConditionRetriever()
EcalWeightMatrix & getWeightsAfterGainSwitch()
EcalIntercalibErrorMap EcalIntercalibErrors
math::Matrix< 10, 10 >::type EcalChi2WeightMatrix
EcalFunParams EcalClusterEnergyUncertaintyParameters
virtual std::auto_ptr< EcalDCSTowerStatus > produceEcalDCSTowerStatus(const EcalDCSTowerStatusRcd &)
TimeValue_t value() const
virtual std::auto_ptr< EcalIntercalibConstants > produceEcalIntercalibConstants(const EcalIntercalibConstantsRcd &)
virtual std::auto_ptr< EcalIntercalibConstantsMC > produceEcalIntercalibConstantsMC(const EcalIntercalibConstantsMCRcd &)
EcalPedestalsMap EcalPedestals
static const int MAX_IPHI
EcalWeightMatrix & getWeightsBeforeGainSwitch()
EcalTimeCalibConstantMap EcalTimeCalibConstants
static void check(Principal const &p, std::string const &id)
EcalTrivialConditionRetriever(const edm::ParameterSet &pset)
static EBDetId unhashIndex(int hi)
get a DetId from a compact index for arrays
static const int MAX_IETA
virtual std::auto_ptr< EcalLaserAPDPNRatiosRef > produceEcalLaserAPDPNRatiosRef(const EcalLaserAPDPNRatiosRefRcd &)
EcalFunParams EcalClusterLocalContCorrParameters
EcalIntercalibConstantMap EcalIntercalibConstants
static bool validDetId(int iz, EcalSubdetector sd, int i, int j)
check if a valid index combination
static Timestamp const & endOfTime()
EcalFunParams EcalClusterEnergyCorrectionParameters
math::Matrix< 3, 10 >::type EcalWeightMatrix
virtual std::auto_ptr< Alignments > produceEcalAlignmentES(const ESAlignmentRcd &)
virtual std::auto_ptr< EcalTimeCalibErrors > getTimeCalibErrorsFromConfiguration(const EcalTimeCalibErrorsRcd &)
const Timestamp & time() const
virtual std::auto_ptr< EcalTimeOffsetConstant > produceEcalTimeOffsetConstant(const EcalTimeOffsetConstantRcd &)
virtual std::auto_ptr< EcalClusterEnergyCorrectionObjectSpecificParameters > produceEcalClusterEnergyCorrectionObjectSpecificParameters(const EcalClusterEnergyCorrectionObjectSpecificParametersRcd &)
std::string fullPath() const
virtual std::auto_ptr< EcalDQMChannelStatus > produceEcalDQMChannelStatus(const EcalDQMChannelStatusRcd &)
static const int SMCRYSTALMODE
virtual std::auto_ptr< EcalGainRatios > produceEcalGainRatios(const EcalGainRatiosRcd &)
Ecal trigger electronics identification [32:20] Unused (so far) [19:13] TCC id [12:6] TT id [5:3] pse...
tuple size
Write out results.