BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
EmcCalibConstSvc Class Reference

#include <EmcCalibConstSvc.h>

+ Inheritance diagram for EmcCalibConstSvc:

Public Member Functions

 EmcCalibConstSvc (const std::string &name, ISvcLocator *svcloc)
 
 ~EmcCalibConstSvc ()
 
virtual StatusCode initialize ()
 
virtual StatusCode finalize ()
 
void handle (const Incident &)
 
double getDigiCalibConst (int No) const
 
int getIxtalNumber (int No) const
 
int getDigiCalibConstNo () const
 
int getIxtalNumberNo () const
 
int getIndex (unsigned int PartId, unsigned int ThetaIndex, unsigned int PhiIndex) const
 
unsigned int getPartID (int Index) const
 
unsigned int getThetaIndex (int Index) const
 
unsigned int getPhiIndex (int Index) const
 
double getCrystalEmaxData (int Index) const
 
void setCrystalEmaxData (double CrystalEmaxData[6240])
 
double getCrystalDeadEcut (int Index) const
 
void setCrystalDeadEcut (double CrystalDeadEcut[6240])
 
void Dump ()
 

Public Attributes

IDataProviderSvc * m_calDataSvc
 
EmcStructurem_theEmcStruc
 
double m_CrystalEmaxData [6240]
 
double m_CrystalEmaxData_1 [6240]
 
double m_CrystalEmaxData_2 [6240]
 
double m_CrystalEmaxData_4740 [6240]
 
double m_CrystalEmaxData_4750 [6240]
 
double m_CrystalEmaxData_4780 [6240]
 
double m_CrystalEmaxData_4840 [6240]
 
double m_CrystalEmaxData_4914 [6240]
 
double m_CrystalEmaxData_4946 [6240]
 
bool m_EmaxVersion1
 
bool m_EmaxVersion2
 
bool m_EmaxVersion4740
 
bool m_EmaxVersion4750
 
bool m_EmaxVersion4780
 
bool m_EmaxVersion4840
 
bool m_EmaxVersion4914
 
bool m_EmaxVersion4946
 
double m_CrystalDeadEcut [6240]
 
double m_CrystalDeadEcut_2020 [6240]
 
bool m_DeadEcutVersion2020
 

Detailed Description

Definition at line 16 of file EmcCalibConstSvc.h.

Constructor & Destructor Documentation

◆ EmcCalibConstSvc()

EmcCalibConstSvc::EmcCalibConstSvc ( const std::string & name,
ISvcLocator * svcloc )

for version 1/////////

Definition at line 35 of file EmcCalibConstSvc.cxx.

35 :
36 base_class (name, svcloc) {
37 declareProperty("ReadSatuDeadEnDb", m_readSatuDeadEnDb = true);
38
39 for(int i=0;i<6240;i++){
41 m_CrystalDeadEcut[i]=-1;
42 }
43 if (m_readSatuDeadEnDb==true){
44 m_runFrom = 0;
45 m_runTo = 0;
46 m_inFlag=false;
47 }
48 /////////////////////////
49 if (m_readSatuDeadEnDb==false){
50 m_EmaxVersion1=false;
51 m_EmaxVersion2=false;
58
60
61 for(int i=0;i<6240;i++){
70
72 }
73
74
75 int ixtal;
76 double emaxData;
77 int Nixt=0;
78
79 ///for version 1/////////
80 string paraPath = getenv("EMCCALIBCONSTSVCROOT");
81 paraPath += "/share/emax_data.dat"; // version=1
82 ifstream in;
83 in.open(paraPath.c_str());
84 assert(in);
85
86 while (in.peek() != EOF)
87 {
88
89 in >> ixtal>>emaxData;
90
91 m_CrystalEmaxData_1[ixtal]=emaxData;
92 Nixt++;
93 // cout<<"readFile==============="<<emaxData<<endl;
94 }
95
96 in.close();
97 //at the end of version 1/////
98
99 ////version 2-4680data@2020///////////
100 string paraPath2 = getenv("EMCCALIBCONSTSVCROOT");
101 paraPath2 += "/share/emax_data_2.dat"; // version=2
102
103 ifstream in2;
104 in2.open(paraPath2.c_str());
105 assert(in2);
106
107 Nixt=0;
108 while (in2.peek() != EOF)
109 {
110
111 in2 >> ixtal>>emaxData;
112
113 m_CrystalEmaxData_2[ixtal]=emaxData;
114
115 Nixt++;
116 // cout<<"readFile2==============="<<emaxData<<endl;
117 }
118
119 in2.close();
120 //at the end of version 2/////
121
122 ////version 4740data@2021///////////
123 string paraPath4740 = getenv("EMCCALIBCONSTSVCROOT");
124 paraPath4740 += "/share/emax_data_4740.dat"; // version=4740
125
126 ifstream in4740;
127 in4740.open(paraPath4740.c_str());
128 assert(in4740);
129
130 Nixt=0;
131 while (in4740.peek() != EOF)
132 {
133
134 in4740 >> ixtal>>emaxData;
135
136 m_CrystalEmaxData_4740[ixtal]=emaxData;
137
138 Nixt++;
139 // cout<<"readFile4740==============="<<emaxData<<endl;
140 }
141
142 in4740.close();
143 //at the end of version 4740/////
144
145 ////version 4750data@2021///////////
146 string paraPath4750 = getenv("EMCCALIBCONSTSVCROOT");
147 paraPath4750 += "/share/emax_data_4750.dat"; // version=4750
148
149 ifstream in4750;
150 in4750.open(paraPath4750.c_str());
151 assert(in4750);
152
153 Nixt=0;
154 while (in4750.peek() != EOF)
155 {
156
157 in4750 >> ixtal>>emaxData;
158
159 m_CrystalEmaxData_4750[ixtal]=emaxData;
160
161 Nixt++;
162 // cout<<"readFile4750==============="<<emaxData<<endl;
163 }
164
165 in4750.close();
166 //at the end of version 4750/////
167
168 ////version 4780data@2021///////////
169 string paraPath4780 = getenv("EMCCALIBCONSTSVCROOT");
170 paraPath4780 += "/share/emax_data_4780.dat"; // version=4780
171
172 ifstream in4780;
173 in4780.open(paraPath4780.c_str());
174 assert(in4780);
175
176 Nixt=0;
177 while (in4780.peek() != EOF)
178 {
179
180 in4780 >> ixtal>>emaxData;
181
182 m_CrystalEmaxData_4780[ixtal]=emaxData;
183
184 Nixt++;
185 // cout<<"readFile4780==============="<<emaxData<<endl;
186 }
187
188 in4780.close();
189 //at the end of version 4780/////
190
191 ////version 4840data@2021///////////
192 string paraPath4840 = getenv("EMCCALIBCONSTSVCROOT");
193 paraPath4840 += "/share/emax_data_4840.dat"; // version=4840
194
195 ifstream in4840;
196 in4840.open(paraPath4840.c_str());
197 assert(in4840);
198
199 Nixt=0;
200 while (in4840.peek() != EOF)
201 {
202
203 in4840 >> ixtal>>emaxData;
204
205 m_CrystalEmaxData_4840[ixtal]=emaxData;
206
207 Nixt++;
208 // cout<<"readFile4840==============="<<emaxData<<endl;
209 }
210
211 in4840.close();
212 //at the end of version 4840/////
213
214
215 ////version 4914data@2021///////////
216 string paraPath4914 = getenv("EMCCALIBCONSTSVCROOT");
217 paraPath4914 += "/share/emax_data_4914.dat"; // version=4914
218
219 ifstream in4914;
220 in4914.open(paraPath4914.c_str());
221 assert(in4914);
222
223 Nixt=0;
224 while (in4914.peek() != EOF)
225 {
226
227 in4914 >> ixtal>>emaxData;
228
229 m_CrystalEmaxData_4914[ixtal]=emaxData;
230
231 Nixt++;
232 // cout<<"readFile4914==============="<<emaxData<<endl;
233 }
234
235 in4914.close();
236 //at the end of version 4914/////
237
238 ////version 4946data@2021///////////
239 string paraPath4946 = getenv("EMCCALIBCONSTSVCROOT");
240 paraPath4946 += "/share/emax_data_4946.dat"; // version=4946
241
242 ifstream in4946;
243 in4946.open(paraPath4946.c_str());
244 assert(in4946);
245
246 Nixt=0;
247 while (in4946.peek() != EOF)
248 {
249
250 in4946 >> ixtal>>emaxData;
251
252 m_CrystalEmaxData_4946[ixtal]=emaxData;
253
254 Nixt++;
255 // cout<<"readFile4946==============="<<emaxData<<endl;
256 }
257
258 in4946.close();
259 //at the end of version 4946/////
260
261
262 ////read dead channel energy threshould Ecut///////////
263 string paraPath3 = getenv("EMCCALIBCONSTSVCROOT");
264 paraPath3 += "/share/DeadThresholdEcut_2020.conf";
265
266 ifstream in3;
267 in3.open(paraPath3.c_str());
268 assert(in3);
269
270 Nixt=0;
271 double satuEn,Ecut;
272 double DeltaEcut=0.0;
273
274 while (in3.peek() != EOF)
275 {
276
277 in3 >> ixtal>>satuEn>>Ecut;
278 if ((Ecut-satuEn)>DeltaEcut) {
279 m_CrystalDeadEcut_2020[ixtal]=Ecut-DeltaEcut;
280 } else {
281 m_CrystalDeadEcut_2020[ixtal]=Ecut;
282 }
283 Nixt++;
284
285 }
286
287 in3.close();
288
289 } //end of m_readSatuDeadEnDb==false
290
291}
double m_CrystalEmaxData_4740[6240]
double m_CrystalDeadEcut_2020[6240]
double m_CrystalEmaxData_2[6240]
double m_CrystalEmaxData[6240]
double m_CrystalEmaxData_4946[6240]
double m_CrystalEmaxData_1[6240]
double m_CrystalDeadEcut[6240]
double m_CrystalEmaxData_4840[6240]
double m_CrystalEmaxData_4750[6240]
double m_CrystalEmaxData_4914[6240]
double m_CrystalEmaxData_4780[6240]

◆ ~EmcCalibConstSvc()

EmcCalibConstSvc::~EmcCalibConstSvc ( )

Definition at line 293 of file EmcCalibConstSvc.cxx.

293 {
294
295}

Member Function Documentation

◆ Dump()

void EmcCalibConstSvc::Dump ( )

Definition at line 722 of file EmcCalibConstSvc.cxx.

723{
724
725 for(int iNo=0;iNo<6;iNo++){
726 cout<<"getDigiCalibConst "<<getDigiCalibConst(iNo)<<endl;
727 }
728 /*
729 cout<<"getDigiCalibConstNo "<<getDigiCalibConstNo()<<endl;
730
731
732 cout<<"ind"<<" "<<"getThetaIndex(ind)"<<" "
733 <<"getPhiIndex(ind)"<<"getPartID"<<endl;
734
735 for(int ind=0; ind<6240;ind++){
736
737 cout<<ind<<" "<<getThetaIndex(ind)<<" "
738 <<getPhiIndex(ind)<<" "<<getPartID(ind)<<endl;
739
740 }
741
742 cout<<"getIndex(0,5,95)="<<getIndex(0,5,95)<<endl;
743 cout<<"getIndex(1,43,119)="<<getIndex(1,43,119)<<endl;
744 cout<<"getIndex(2,5,95)="<<getIndex(2,5,95)<<endl;
745 cout<<"getIndex(0,5,96)="<<getIndex(0,5,96)<<endl;
746 cout<<"getIndex(1,43,120)="<<getIndex(1,43,120)<<endl;
747 cout<<"getIndex(2,5,96)="<<getIndex(2,5,96)<<endl;
748 */
749 for(int i=480;i<600;i++){
750 cout<<i<<"\t"<<getCrystalEmaxData(i) <<"\t"<<getCrystalDeadEcut(i)<<endl;
751 }
752
753
754}
double getCrystalEmaxData(int Index) const
double getDigiCalibConst(int No) const
double getCrystalDeadEcut(int Index) const

◆ finalize()

StatusCode EmcCalibConstSvc::finalize ( )
virtual

Definition at line 365 of file EmcCalibConstSvc.cxx.

365 {
366
367 delete m_theEmcStruc;
368
369 MsgStream log(messageService(), name());
370 log << MSG::INFO << "EmcCalibConstSvc::finalize()" << endreq;
371 return StatusCode::SUCCESS;
372
373}
EmcStructure * m_theEmcStruc

◆ getCrystalDeadEcut()

double EmcCalibConstSvc::getCrystalDeadEcut ( int Index) const

Definition at line 716 of file EmcCalibConstSvc.cxx.

717{
718 return m_CrystalDeadEcut[Index];
719}

Referenced by Dump().

◆ getCrystalEmaxData()

double EmcCalibConstSvc::getCrystalEmaxData ( int Index) const

Definition at line 711 of file EmcCalibConstSvc.cxx.

712{
713 return m_CrystalEmaxData[Index];
714}

Referenced by Dump().

◆ getDigiCalibConst()

double EmcCalibConstSvc::getDigiCalibConst ( int No) const

Definition at line 616 of file EmcCalibConstSvc.cxx.

617 {
618 double digiCalibConst = 0.0;
619 MsgStream log(messageService(), name());
620
621 std::string fullPath = "/Calib/EmcCal";
622 SmartDataPtr<CalibData::EmcCalibData> calConst(m_calDataSvc, fullPath);
623 if( ! calConst ){
624 log << MSG::ERROR << "can not access to EmcDigi CalibData via SmartPtr"
625 << endreq;
626 }else {
627 digiCalibConst = calConst->getDigiCalibConst(No);
628 }
629
630 return digiCalibConst;
631}
IDataProviderSvc * m_calDataSvc

Referenced by Dump().

◆ getDigiCalibConstNo()

int EmcCalibConstSvc::getDigiCalibConstNo ( ) const

Definition at line 650 of file EmcCalibConstSvc.cxx.

651 {
652 int digiCalibConstNo = 0;
653 MsgStream log(messageService(), name());
654
655 std::string fullPath = "/Calib/EmcCal";
656 SmartDataPtr<CalibData::EmcCalibData> calConst(m_calDataSvc, fullPath);
657 if( ! calConst ){
658 log << MSG::ERROR << "can not access to EmcDigiNo CalibData via SmartPtr"
659 << endreq;
660 }else {
661 digiCalibConstNo = calConst->getDigiCalibConstNo();
662 }
663
664 return digiCalibConstNo;
665}

◆ getIndex()

int EmcCalibConstSvc::getIndex ( unsigned int PartId,
unsigned int ThetaIndex,
unsigned int PhiIndex ) const

Definition at line 686 of file EmcCalibConstSvc.cxx.

689{
690 return m_theEmcStruc->getGeomIndex(PartId, ThetaIndex, PhiIndex);
691}
int getGeomIndex(unsigned int PartId, unsigned int ThetaIndex, unsigned int PhiIndex) const

◆ getIxtalNumber()

int EmcCalibConstSvc::getIxtalNumber ( int No) const

Definition at line 633 of file EmcCalibConstSvc.cxx.

634 {
635 int IxtalNumber = 999999;
636 MsgStream log(messageService(), name());
637
638 std::string fullPath = "/Calib/EmcCal";
639 SmartDataPtr<CalibData::EmcCalibData> calConst(m_calDataSvc, fullPath);
640 if( ! calConst ){
641 log << MSG::ERROR << "can not access to EmcDigi CalibData via SmartPtr"
642 << endreq;
643 }else {
644 IxtalNumber = calConst->getIxtalNumber(No);
645 }
646
647 return IxtalNumber;
648}

◆ getIxtalNumberNo()

int EmcCalibConstSvc::getIxtalNumberNo ( ) const

Definition at line 667 of file EmcCalibConstSvc.cxx.

668 {
669 int IxtalNumberNo = 0;
670 MsgStream log(messageService(), name());
671
672 std::string fullPath = "/Calib/EmcCal";
673 SmartDataPtr<CalibData::EmcCalibData> calConst(m_calDataSvc, fullPath);
674 if( ! calConst ){
675 log << MSG::ERROR << "can not access to EmcDigiNo CalibData via SmartPtr"
676 << endreq;
677 }else {
678 IxtalNumberNo = calConst->getIxtalNumberNo();
679 }
680
681 return IxtalNumberNo;
682}

◆ getPartID()

unsigned int EmcCalibConstSvc::getPartID ( int Index) const

Definition at line 694 of file EmcCalibConstSvc.cxx.

695{
696 return m_theEmcStruc->getPartId(Index);
697}
unsigned int getPartId(long Index) const

◆ getPhiIndex()

unsigned int EmcCalibConstSvc::getPhiIndex ( int Index) const

Definition at line 704 of file EmcCalibConstSvc.cxx.

705{
706 return m_theEmcStruc->getPhi(Index);
707}
unsigned int getPhi(long Index) const

◆ getThetaIndex()

unsigned int EmcCalibConstSvc::getThetaIndex ( int Index) const

Definition at line 699 of file EmcCalibConstSvc.cxx.

700{
701 return m_theEmcStruc->getTheta(Index);
702}
unsigned int getTheta(long Index) const

◆ handle()

void EmcCalibConstSvc::handle ( const Incident & inc)

Definition at line 375 of file EmcCalibConstSvc.cxx.

375 {
376 MsgStream log( messageService(), name() );
377 log << MSG::DEBUG << "handle: " << inc.type() << endreq;
378
379 if ( inc.type() == "NewRun" ){
380 log << MSG::DEBUG << "NewRun" << endreq;
381
382 SmartDataPtr<Event::EventHeader> eventHeader(m_eventSvc,"/Event/EventHeader");
383 int run = eventHeader->runNumber();
384
385 log << MSG::DEBUG << "handle: " <<"Run in handle is: "<<run<< endreq;
386
387 if (m_readSatuDeadEnDb==true&&run<0){ //only for MC
388 if (run<0) run = -run;
389
390 if (run>=m_runFrom&&run<=m_runTo) {
391 m_inFlag=true;
392 } else {
393 m_inFlag=false;
394 }
395 if (m_inFlag==false){
396 bool getSatuDead;
397 getSatuDead=m_EmcSatuDeadEnSvc ->getEmcSatuDeadEnSvcInfo();
398 if(!getSatuDead){
399 log << MSG::ERROR << "can not get EmcSatuDeadEnSvc" << endreq;
400 } else {
401 m_runFrom=m_EmcSatuDeadEnSvc -> getRunFrom();
402 m_runTo=m_EmcSatuDeadEnSvc -> getRunTo();
403 ////to read EMC saturation energy and the energy threshold of 'special' dead channel from DataBase///////
404 cout << "current run=" << run<<endl;
405 cout <<"RunFrom="<< m_runFrom<<",RunTo="<< m_runTo<<endl;
406 cout << "in EmcCalibConstSvc open getSatuEnFile()= " << m_EmcSatuDeadEnSvc -> getSatuEnFile()<<endl;
407 cout << "open getDeadEnFile()= " << m_EmcSatuDeadEnSvc -> getDeadEnFile()<<endl;
408 string aEmcSatuEnFile;
409 string aEmcDeadEnFile;
410 aEmcSatuEnFile= m_EmcSatuDeadEnSvc -> getSatuEnFile();
411 aEmcDeadEnFile= m_EmcSatuDeadEnSvc -> getDeadEnFile();
412
413 ifstream inSatuEn;
414 inSatuEn.open(aEmcSatuEnFile.c_str());
415
416 int ixtal;
417 if (inSatuEn.is_open()){
418
419 assert(inSatuEn);
420 double emaxData;
421 while (inSatuEn.peek() != EOF)
422 {
423 inSatuEn >> ixtal>>emaxData;
424 m_CrystalEmaxData[ixtal]=emaxData;
425 }
426 inSatuEn.close();
427
428 } else {
429 std::cout << "EmcCalibConstSvc ERROR::Could not open the file of " <<aEmcSatuEnFile<< endl;
430 exit(1);
431
432 }
433
434 ifstream inDeadEn;
435 inDeadEn.open(aEmcDeadEnFile.c_str());
436
437 if (inDeadEn.is_open()){
438
439 assert(inDeadEn);
440 double satuEn,deadEn;
441 while (inDeadEn.peek() != EOF)
442 {
443 inDeadEn >> ixtal>>satuEn>>deadEn;
444 m_CrystalDeadEcut[ixtal]=deadEn;
445 }
446 inDeadEn.close();
447 } else {
448
449 std::cout << "EmcCalibConstSvc ERROR::Could not open the file of " <<aEmcDeadEnFile<< endl;
450 exit(1);
451 }
452
453
454 }
455 //Dump();
456 } // end of m_inFlag==false
457 } //end of m_readSatuDeadEnDb==ture
458
459
460 /////////////////////////////
461
462 if (m_readSatuDeadEnDb==false&&run<0){ //only for MC
463
464 //cout<<"&&&&&&&&&&&&&&:&&&&&&&&&&&&&&&&&&&& EmcCalibConstSvc handle,run="<<run<<endl;
465 if (run<0) run = -run;
466
467
468 log << MSG::DEBUG << "handle: " <<"Run in handle is: "<<run<< endreq;
469 //run <63075: EmaxVersion=1; run>=63075: EmaxVersion=2;
470 cout<< "handle: " <<"Run in handle is: "<<run<<endl;
471
472
473 if (run<63075&& !m_EmaxVersion1) {
475
476 m_EmaxVersion1=true;
477 m_EmaxVersion2=false;
478 m_EmaxVersion4740=false;
479 m_EmaxVersion4750=false;
480 m_EmaxVersion4780=false;
481 m_EmaxVersion4840=false;
482 m_EmaxVersion4914=false;
483 m_EmaxVersion4946=false;
484
485 cout<< "handle: " <<"EmaxVersion="<<"111111111111111"<<endl;
486 }
487
488
489 if (run>=63075&&run<=65207&& !m_EmaxVersion2) { // 2020 topup data~4680
491
492 m_EmaxVersion1=false;
493 m_EmaxVersion2=true;
494 m_EmaxVersion4740=false;
495 m_EmaxVersion4750=false;
496 m_EmaxVersion4780=false;
497 m_EmaxVersion4840=false;
498 m_EmaxVersion4914=false;
499 m_EmaxVersion4946=false;
500 cout<< "handle: " <<"EmaxVersion="<<"emax data from topup data 4680@2020"<<endl;
501 }
502
503
504 if (run>=65208&&run<=65321&& !m_EmaxVersion4740) { // 2021 data~4740
506
507 m_EmaxVersion1=false;
508 m_EmaxVersion2=false;
510 m_EmaxVersion4750=false;
511 m_EmaxVersion4780=false;
512 m_EmaxVersion4840=false;
513 m_EmaxVersion4914=false;
514 m_EmaxVersion4946=false;
515
516 cout<< "handle: " <<"EmaxVersion="<<"emax data from 4740data@2021"<<endl;
517 }
518
519 if (run>=65322&&run<=65494&& !m_EmaxVersion4750) { // 2021 data~4750
521
522 m_EmaxVersion1=false;
523 m_EmaxVersion2=false;
524 m_EmaxVersion4740=false;
526 m_EmaxVersion4780=false;
527 m_EmaxVersion4840=false;
528 m_EmaxVersion4914=false;
529 m_EmaxVersion4946=false;
530
531 cout<< "handle: " <<"EmaxVersion="<<"emax data from 4750data@2021"<<endl;
532 }
533
534 if (run>=65495&&run<=65646&& !m_EmaxVersion4780) { // 2021 data~4780
536
537 m_EmaxVersion1=false;
538 m_EmaxVersion2=false;
539 m_EmaxVersion4740=false;
540 m_EmaxVersion4750=false;
542 m_EmaxVersion4840=false;
543 m_EmaxVersion4914=false;
544 m_EmaxVersion4946=false;
545
546 cout<< "handle: " <<"EmaxVersion="<<"emax data from 4780data@2021"<<endl;
547 }
548
549
550 if (run>=65647&&run<=65866&& !m_EmaxVersion4840) { // 2021 data~4840
552
553 m_EmaxVersion1=false;
554 m_EmaxVersion2=false;
555 m_EmaxVersion4740=false;
556 m_EmaxVersion4750=false;
557 m_EmaxVersion4780=false;
559 m_EmaxVersion4914=false;
560 m_EmaxVersion4946=false;
561
562 cout<< "handle: " <<"EmaxVersion="<<"emax data from 4840data@2021"<<endl;
563 }
564
565 if (run>=65867&&run<=65937&& !m_EmaxVersion4914) { // 2021 data~4914
567
568 m_EmaxVersion1=false;
569 m_EmaxVersion2=false;
570 m_EmaxVersion4740=false;
571 m_EmaxVersion4750=false;
572 m_EmaxVersion4780=false;
573 m_EmaxVersion4840=false;
575 m_EmaxVersion4946=false;
576
577 cout<< "handle: " <<"EmaxVersion="<<"emax data from 4914data@2021"<<endl;
578 }
579
580 if (run>=65938&& !m_EmaxVersion4946) { // 2021 data~4946
582
583 m_EmaxVersion1=false;
584 m_EmaxVersion2=false;
585 m_EmaxVersion4740=false;
586 m_EmaxVersion4750=false;
587 m_EmaxVersion4780=false;
588 m_EmaxVersion4840=false;
589 m_EmaxVersion4914=false;
591
592 cout<< "handle: " <<"EmaxVersion="<<"emax data from 4946data@2021"<<endl;
593 }
594
598 cout<< "handle: " <<"DeadEcutVersion="<<"2020"<<endl;
599 }
600
601 //if(!getCrystalEmaxDataFileInfo()){
602 // log << MSG::ERROR << "can not find the crystal EmaxData file" << endreq;
603 //}
604
605 //Dump();
606 } //end of m_readSatuDeadEnDb==false
607
608
609
610 } //end of NewRun
611
612}
void setCrystalDeadEcut(double CrystalDeadEcut[6240])
void setCrystalEmaxData(double CrystalEmaxData[6240])
virtual bool getEmcSatuDeadEnSvcInfo()=0

◆ initialize()

StatusCode EmcCalibConstSvc::initialize ( )
virtual

Definition at line 306 of file EmcCalibConstSvc.cxx.

306 {
307 MsgStream log(messageService(), name());
308 log << MSG::INFO << "EmcCalibConstSvc::initialize()" << endreq;
309
310 StatusCode sc = Service::initialize();
311 if( sc.isFailure() ) return sc;
312
313
314 IIncidentSvc* incsvc;
315 sc = service("IncidentSvc", incsvc);
316 int priority = 100;
317 if( sc.isSuccess() ){
318 incsvc -> addListener(this, "NewRun", priority);
319 }
320
321 sc = serviceLocator()->service("EventDataSvc", m_eventSvc, true);
322 if (sc .isFailure() ) {
323 log << MSG::ERROR << "Unable to find EventDataSvc " << endreq;
324 return sc;
325 }
326
327 sc = service("CalibDataSvc", m_calDataSvc, true);
328 if( sc == StatusCode::SUCCESS ){
329 log << MSG::INFO << "Retrieve IDataProviderSvc" << endreq;
330 }else{
331 log << MSG::FATAL << "can not get IDataProviderSvc" << endreq;
332 }
333
334 // sc = service("EmcRecGeoSvc", m_emcGeomSvc);
335 // if( sc != StatusCode::SUCCESS ){
336 // log << MSG::ERROR << "can not use EmcRecGeoSvc" << endreq;
337 // }
338
341
342 /////////////////
343 ISvcLocator* svcLocator = Gaudi::svcLocator();
344 sc = svcLocator->service("EmcSatuDeadEnSvc", m_EmcSatuDeadEnSvc);
345
346 //sc = serviceLocator()->service("EmcSatuDeadEnSvc", m_EmcSatuDeadEnSvc,true);
347 if( sc == StatusCode::SUCCESS){
348 //log << MSG::INFO
349 std::cout<<"Retrieve EmcSatuDeadEnSvc" << endl;
350
351
352 }
353 else {
354 log << MSG::FATAL << "can not get EmcSatuDeadEnSvc" << endreq;
355 }
356
357
358
359
360 //Dump();
361 //cout<<"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& EmcCalibConstSvc initialize"<<endl;
362 return StatusCode::SUCCESS;
363}

◆ setCrystalDeadEcut()

void EmcCalibConstSvc::setCrystalDeadEcut ( double CrystalDeadEcut[6240])
inline

Definition at line 61 of file EmcCalibConstSvc.h.

62 {
63 for(int i=0;i<6240;i++){
64 m_CrystalDeadEcut[i]=CrystalDeadEcut[i];
65
66 }
67 };

Referenced by handle().

◆ setCrystalEmaxData()

void EmcCalibConstSvc::setCrystalEmaxData ( double CrystalEmaxData[6240])
inline

Definition at line 51 of file EmcCalibConstSvc.h.

52 {
53 for(int i=0;i<6240;i++){
54 m_CrystalEmaxData[i]=CrystalEmaxData[i];
55
56 }
57 };

Referenced by handle().

Member Data Documentation

◆ m_calDataSvc

IDataProviderSvc* EmcCalibConstSvc::m_calDataSvc

◆ m_CrystalDeadEcut

double EmcCalibConstSvc::m_CrystalDeadEcut[6240]

Definition at line 94 of file EmcCalibConstSvc.h.

Referenced by getCrystalDeadEcut(), handle(), and setCrystalDeadEcut().

◆ m_CrystalDeadEcut_2020

double EmcCalibConstSvc::m_CrystalDeadEcut_2020[6240]

Definition at line 95 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_CrystalEmaxData

double EmcCalibConstSvc::m_CrystalEmaxData[6240]

Definition at line 75 of file EmcCalibConstSvc.h.

Referenced by getCrystalEmaxData(), handle(), and setCrystalEmaxData().

◆ m_CrystalEmaxData_1

double EmcCalibConstSvc::m_CrystalEmaxData_1[6240]

Definition at line 76 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_CrystalEmaxData_2

double EmcCalibConstSvc::m_CrystalEmaxData_2[6240]

Definition at line 77 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_CrystalEmaxData_4740

double EmcCalibConstSvc::m_CrystalEmaxData_4740[6240]

Definition at line 78 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_CrystalEmaxData_4750

double EmcCalibConstSvc::m_CrystalEmaxData_4750[6240]

Definition at line 79 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_CrystalEmaxData_4780

double EmcCalibConstSvc::m_CrystalEmaxData_4780[6240]

Definition at line 80 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_CrystalEmaxData_4840

double EmcCalibConstSvc::m_CrystalEmaxData_4840[6240]

Definition at line 81 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_CrystalEmaxData_4914

double EmcCalibConstSvc::m_CrystalEmaxData_4914[6240]

Definition at line 82 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_CrystalEmaxData_4946

double EmcCalibConstSvc::m_CrystalEmaxData_4946[6240]

Definition at line 83 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_DeadEcutVersion2020

bool EmcCalibConstSvc::m_DeadEcutVersion2020

Definition at line 97 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_EmaxVersion1

bool EmcCalibConstSvc::m_EmaxVersion1

Definition at line 85 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_EmaxVersion2

bool EmcCalibConstSvc::m_EmaxVersion2

Definition at line 86 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_EmaxVersion4740

bool EmcCalibConstSvc::m_EmaxVersion4740

Definition at line 87 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_EmaxVersion4750

bool EmcCalibConstSvc::m_EmaxVersion4750

Definition at line 88 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_EmaxVersion4780

bool EmcCalibConstSvc::m_EmaxVersion4780

Definition at line 89 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_EmaxVersion4840

bool EmcCalibConstSvc::m_EmaxVersion4840

Definition at line 90 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_EmaxVersion4914

bool EmcCalibConstSvc::m_EmaxVersion4914

Definition at line 91 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_EmaxVersion4946

bool EmcCalibConstSvc::m_EmaxVersion4946

Definition at line 92 of file EmcCalibConstSvc.h.

Referenced by handle().

◆ m_theEmcStruc

EmcStructure* EmcCalibConstSvc::m_theEmcStruc

Definition at line 73 of file EmcCalibConstSvc.h.

Referenced by finalize(), getIndex(), getPartID(), getPhiIndex(), getThetaIndex(), and initialize().


The documentation for this class was generated from the following files: