ATLAS Offline Software
Loading...
Searching...
No Matches
ALFA_Raw2Digit Class Reference

#include <ALFA_Raw2Digit.h>

Inheritance diagram for ALFA_Raw2Digit:

Public Member Functions

 ALFA_Raw2Digit (const std::string &name, ISvcLocator *pSvcLocator)
StatusCode initialize ()
StatusCode execute ()
StatusCode finalize ()
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

StatusCode recordCollection ()
StatusCode recordODCollection ()
StatusCode mapping ()
StatusCode ChanPlot (uint32_t pot_n, uint32_t iLayer, uint32_t MarChan, uint32_t &chan_i, uint32_t &chan_j)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

std::string m_ALFA_RawDataCollectionKey
int m_nEvents {}
int m_mbID {}
int m_pmfID {}
int m_fibID {}
int m_MAPMTChan {}
int m_MapChan {}
int m_pot {}
int m_side {}
int m_plate {}
int m_fiber {}
int m_ODpot {}
int m_ODside {}
int m_ODplate {}
int m_ODfiber {}
int m_maroc2fiber [8][20][64] {}
int m_maroc2mapmt [8][20][64] {}
int m_mapmt2maroc [8][20][64] {}
int m_pmf2layer [8][23] {}
int m_OD_pmf2layer [8][4] {}
int m_OD_pmf_maroc2fiber [8][4][64] {}
int m_OD_pmf_maroc2side [8][4][64] {}
int m_mb2det [8] {}
TH2I * m_All_Trigger {}
TH2D * m_All_Trigger_norm {}
TH1F * m_act_lay_h [8] {}
TH1F * m_hit_lay_h [8] {}
uint32_t m_lumi_block {}
uint32_t m_lumi_block_old {}
uint16_t m_charge_1 [8] {}
uint16_t m_charge_2 [8] {}
std::vector< bool > m_trigger_pattern
bool m_pot_b [8] {}
bool m_layer_b [8][20] {}
bool m_fiber_b [8][20][64] {}
bool m_trigger_pattern_b [8][16] {}
Int_t m_n_hits_lay [8][20] {}
Int_t m_event_no {}
TTree * m_tree {}
TFile * m_rootOutput {}
TString m_rootOutputFileName {}
Int_t m_pmf_chan_hit_counter [8][23][64] {}
Int_t m_hit_counter [8] {}
ALFA_DigitCollectionm_digitCollection {}
ALFA_Digitm_digitObject {}
ALFA_ODDigitCollectionm_ODdigitCollection {}
ALFA_ODDigitm_ODdigitObject {}
std::string m_key_DigitCollection
std::string m_key_ODDigitCollection
std::ifstream m_inChan
std::ifstream m_inPMF
std::ifstream m_inOD
std::ifstream m_inDet
std::string m_mapname
std::stringstream m_s
std::string m_h_name1
std::string m_h_name2
std::string m_h_name3
std::string m_h_loc1
std::string m_h_loc2
std::string m_h_loc3
std::string m_CanName
int m_WordId_count {}
uint32_t m_chan_i {}
uint32_t m_chan_j {}
std::string m_strMeasuredDataType
std::ofstream m_toFile
DataObjIDColl m_extendedExtraObjects
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 39 of file ALFA_Raw2Digit.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ALFA_Raw2Digit()

ALFA_Raw2Digit::ALFA_Raw2Digit ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 12 of file ALFA_Raw2Digit.cxx.

13 : AthAlgorithm(name, pSvcLocator),
14 m_key_DigitCollection("ALFA_DigitCollection"),
15 m_key_ODDigitCollection("ALFA_ODDigitCollection")
16{
17 declareProperty("ALFA_RawDataCollectionKey", m_ALFA_RawDataCollectionKey = "ALFA_RawData");
18
19 //allowed values (m_strMeasuredDataType="testbeam", "tunnel"), default value is "tunnel"
20 //this property is needed due to different mapping in the testbeam and the tunnel data
21 declareProperty("MeasuredDataType", m_strMeasuredDataType = "tunnel");
22
23
24 m_All_Trigger_norm = nullptr;
25 m_All_Trigger = nullptr;
26 m_ODdigitCollection = nullptr;
27 m_ODdigitObject = nullptr;
28 m_digitCollection = nullptr;
29 m_digitObject = nullptr;
30// m_histSvc = NULL;
31 m_rootOutput = nullptr;
32 m_tree = nullptr;
33
34 m_nEvents = 0;
35 m_mbID = 0;
36 m_pmfID = 0;
37 m_fibID = 0;
38 m_MAPMTChan = 0;
39 m_MapChan = 0;
40 m_pot = 0;
41 m_side = 0;
42 m_plate = 0;
43 m_fiber = 0;
44 m_ODpot = 0;
45 m_ODside = 0;
46 m_ODplate = 0;
47 m_ODfiber = 0;
48
49 memset(&m_act_lay_h, 0, sizeof(m_act_lay_h));
50 memset(&m_hit_lay_h, 0, sizeof(m_hit_lay_h));
51 m_lumi_block = 0;
53 m_event_no = 0;
55 m_chan_i = 0;
56 m_chan_j = 0;
57}
TH1F * m_act_lay_h[8]
uint32_t m_lumi_block_old
std::string m_ALFA_RawDataCollectionKey
ALFA_Digit * m_digitObject
ALFA_DigitCollection * m_digitCollection
ALFA_ODDigit * m_ODdigitObject
ALFA_ODDigitCollection * m_ODdigitCollection
TH2D * m_All_Trigger_norm
std::string m_key_ODDigitCollection
uint32_t m_lumi_block
std::string m_key_DigitCollection
TH1F * m_hit_lay_h[8]
std::string m_strMeasuredDataType
AthAlgorithm()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

Member Function Documentation

◆ ChanPlot()

StatusCode ALFA_Raw2Digit::ChanPlot ( uint32_t pot_n,
uint32_t iLayer,
uint32_t MarChan,
uint32_t & chan_i,
uint32_t & chan_j )
private

Definition at line 739 of file ALFA_Raw2Digit.cxx.

740{
741 // returs values in range 1-8; input is 0-63!
742// if (int(fmod(double(m_maroc2mapmt[pot_n][MarChan]+1),double(8)))>0)
743 if (int(fmod(double(m_maroc2mapmt[pot_n][iLayer][MarChan]+1),double(8)))>0)
744 {
745// chan_i=int((m_maroc2mapmt[pot_n][MarChan]+1)/8)+1;
746// chan_j=9-int(fmod(double(m_maroc2mapmt[pot_n][MarChan]+1),double(8)));
747 chan_i=int((m_maroc2mapmt[pot_n][iLayer][MarChan]+1)/8)+1;
748 chan_j=9-int(fmod(double(m_maroc2mapmt[pot_n][iLayer][MarChan]+1),double(8)));
749 }
750 else
751 {
752// chan_i=int((m_maroc2mapmt[pot_n][MarChan]+1)/8);
753 chan_i=int((m_maroc2mapmt[pot_n][iLayer][MarChan]+1)/8);
754 chan_j=1;
755 }
756
757// msg(MSG::FATAL) << "in funct: m_fibID = " << MarChan << ", chan_i " << chan_i << ", chan_j = " << chan_j << endmsg;
758 return StatusCode::SUCCESS;
759}
int m_maroc2mapmt[8][20][64]

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode ALFA_Raw2Digit::execute ( )

Definition at line 172 of file ALFA_Raw2Digit.cxx.

173{
174 ATH_MSG_DEBUG ("ALFA_Raw2Digit: BEGINING of execute");
175
176 m_nEvents++;
177 msg(MSG::DEBUG) << "event # "<< m_nEvents << endmsg;
178// m_toFile << "Event " << m_nEvents << std::endl;
179
180 // retrieve the RawData RDO container from the TDS
181 const ALFA_RawDataContainer* container = nullptr;
182 StatusCode sc_read = evtStore()->retrieve(container, m_ALFA_RawDataCollectionKey);
183
184 if ( sc_read != StatusCode::SUCCESS ) {
185 msg(MSG::ERROR) << "ALFA_Raw2Digit: Could not find container" << endmsg;
186 return StatusCode::SUCCESS;
187 }
188
189 else if ( sc_read == StatusCode::SUCCESS ) {
190 msg(MSG::DEBUG) << "ALFA_Raw2Digit: Raw data container retrieved" << endmsg;
191 }
192
193 msg(MSG::DEBUG) << "MD record_collection()" << endmsg;
194
196 if (sc.isFailure()) {
197 msg(MSG::WARNING) << "ALFA_Raw2Digit: recordCollection failed" << endmsg;
198 return StatusCode::SUCCESS;
199 }
200
201 msg(MSG::DEBUG) << "OD record_collection()" << endmsg;
202
204 if (sc.isFailure()) {
205 msg(MSG::WARNING) << "ALFA_Raw2Digit, recordODCollection failed" << endmsg;
206 return StatusCode::SUCCESS;
207 }
208
209
210 for (unsigned int i=0;i<8;i++) {
211 m_pot_b[i] = false;
212 for (unsigned int j=0;j<20;j++) {
213 m_layer_b[i][j] = false;
214 for (unsigned int k=0;k<64;k++) {
215 m_fiber_b[i][j][k] = false;
216 }
217 }
218 for (unsigned int k=0;k<16;k++) {
219 m_trigger_pattern_b[i][k] = false;
220 }
221 }
222
223
225
226
227 m_lumi_block = container->GetLumiBlock();
228// std::cout << "m_lumi_block = " << m_lumi_block << std::endl;
229
230 // loop over container start
231 ALFA_RawDataContainer::const_iterator RawData_Collection_Beg = container->begin();
232 ALFA_RawDataContainer::const_iterator RawData_Collection_End = container->end();
233
234 //loop over collection (container) with hits (i.e. over 1 event)
235 for(;RawData_Collection_Beg!=RawData_Collection_End; ++RawData_Collection_Beg)
236 {
237 m_mbID = ((*RawData_Collection_Beg)->GetMBId_POT());
238 msg(MSG::DEBUG) << "ALFA_Raw2Digit: MBId POT= " << m_mbID << endmsg;
239
240// std::cout << "******* Time stamp = " << (*RawData_Collection_Beg)->GetTimeStamp_POT() << std::endl;
241// time_t rawtime = (*RawData_Collection_Beg)->GetTimeStamp_POT();
242// struct tm * timeinfo;
245// timeinfo = gmtime ( &rawtime );
246// printf ( "The date/time is: %m_s", asctime (timeinfo) );
247
248 m_pot_b[m_mbID-1] = true;
249 // m_event_no = ((*RawData_Collection_Beg)->GetEventCount_POT());
250
251 m_charge_1[m_mbID-1] = ((*RawData_Collection_Beg)->Get_ADC1_POT());
252 m_charge_2[m_mbID-1] = ((*RawData_Collection_Beg)->Get_ADC2_POT());
253 for (unsigned int i=0;i<16;i++) {
254 m_trigger_pattern_b[m_mbID-1][i] = ((*RawData_Collection_Beg)->Get_pattern_POT())[i];
255// msg(MSG::ERROR) << " pattern: bit " << i << ", value = "<< m_trigger_pattern_b[m_mbID-1][i] << " in MB = " << m_mbID-1 << endmsg;
256 }
257
258// loop over collection start
259 ALFA_RawDataCollection::const_iterator p_RawData_Beg=(*RawData_Collection_Beg)->begin();//pointer to RawData data vector
260 ALFA_RawDataCollection::const_iterator p_RawData_End=(*RawData_Collection_Beg)->end();
261
262 for(;p_RawData_Beg!=p_RawData_End; ++p_RawData_Beg)
263 {
264// msg(MSG::DEBUG) << " all, pmfId = " << (*p_RawData_Beg)->GetPMFId_PMF() << ", MBId = " << (*p_RawData_Beg)->GetMBId_PMF() << endmsg;
265
266 if ((*p_RawData_Beg)->GetPMFId_PMF()>0 && ((*p_RawData_Beg)->GetWordId_PMF())<24)
267 {
268 m_pmfID= (*p_RawData_Beg)->GetPMFId_PMF();
269
270 if (((*p_RawData_Beg)->GetWordId_PMF())==0) m_WordId_count=1;
271 else m_WordId_count=0;
272
273 if (m_WordId_count==1){
274 msg(MSG::DEBUG) << " pmfId = " << (*p_RawData_Beg)->GetPMFId_PMF() << ", MBId = " << (*p_RawData_Beg)->GetMBId_PMF() <<endmsg;
275 }
276
277// msg(MSG::DEBUG) << " m_WordId_count " << m_WordId_count << endmsg;
278
279 for (unsigned int i=0;i<16;i++)
280 {
281 if ((*p_RawData_Beg)->Get_Chan(i)!=100)
282 {
283 msg(MSG::DEBUG) <<"ALFA_Raw2Digit, maroc chanel # = " << (*p_RawData_Beg)->Get_Chan(i)<< endmsg;
284
285 m_fibID = (*p_RawData_Beg)->Get_Chan(i);
286
287 // in Sara Diglio Byte Stream Converter PMF are counted from 1, then OD detectors have values of PMF in the range 2-4; fibers start at 0
288 if ((m_pmfID == 1) || (m_pmfID > 4))
289 {
290 m_pot = m_mb2det[m_mbID-1];
291// m_pot = m_mbID-1;
293 // changed by Petr - 19.12.2012 -----------------------------
294// m_fiber = 63-m_maroc2fiber[m_pot][m_fibID];
296
297 m_layer_b[m_mbID-1][m_plate] = true;
298 m_fiber_b[m_mbID-1][m_plate][m_fiber] = true;
299// msg(MSG::ERROR) << " bim ho, lumi = " << m_lumi_block << ", pot = "<< m_mbID-1 << ", plate " << m_plate << endmsg;
301// msg(MSG::ERROR) << " number of hits " << m_n_hits_lay[m_mbID-1][m_plate] << endmsg;
302
303// m_digitCollection->push_back(new ALFA_Digit(m_pot,m_plate,m_fiber));
304 m_digitCollection->push_back(new ALFA_Digit(m_mbID-1,m_plate,m_fiber));
305
306 // changed by Petr - 19.12.2012 -----------------------------
307// m_MapChan = m_maroc2mapmt[m_pot][m_fibID];
309 msg(MSG::DEBUG) << "pot = " << m_pot << ", pmf = " << m_pmfID-1 << ", maroc = " << m_fibID << ", mapmt = " << m_MapChan << endmsg;
310
311// PMFvsMAPMT[m_pot]->Fill(m_MapChan,m_pmfID-1);
312// PMFvsMAROC[m_pot]->Fill(m_fibID,m_pmfID-1);
313 // changed by Petr - 19.12.2012 -----------------------------
314// ChanPlot(m_pot,m_fibID,m_chan_i,m_chan_j);
315// ChanPlot(m_pot,m_plate,m_fibID,m_chan_i,m_chan_j);
316// MapmtHit[m_pot][m_pmfID-1]->Fill(m_chan_i,m_chan_j);
317 msg(MSG::DEBUG) << "fibID = " << m_fibID << ", chan_i " << m_chan_i << ", chan_j = " << m_chan_j << endmsg;
318
321
322 msg(MSG::DEBUG) << "ALFA_Raw2Digit: new digit (softsim numbering-starting from 0) in the collection, pot = " << m_pot << ", plate = " << m_plate << ", fiber = " << m_fiber << endmsg;
323 }
324 else
325 {
327// m_ODpot = m_mbID-1;
331
332 // changed by Petr - 19.12.2012 ----------------------------- commented, is it needed by ODs? TODO: to correct m_MapChan for OD case
333// m_MapChan = m_maroc2mapmt[m_ODpot][m_fibID];
334// msg(MSG::DEBUG) << " pot = " << m_ODpot << ", pmf = " << m_pmfID-1 << ", maroc = " << m_fibID << ", mapmt = " << m_MapChan << endmsg;
335
336 if (m_ODfiber!=98)
337 {
338// m_ODfiber = (m_ODside==0)? m_ODfiber : 29-m_ODfiber;
339
340// m_ODdigitCollection->push_back(new ALFA_ODDigit(m_ODpot,m_ODside,m_ODplate,m_ODfiber));
341 m_ODdigitCollection->push_back(new ALFA_ODDigit(m_mbID-1,m_ODside,m_ODplate,m_ODfiber));
342
343// msg(MSG::DEBUG) << "pot, side, plate, fiber = " << m_ODpot << ", " << m_ODside << ", " << m_ODplate << ", " << m_ODfiber << endmsg;
344
345 }
346
347
348// PMFvsMAPMT[m_ODpot]->Fill(m_MapChan,m_pmfID-1);
349// PMFvsMAROC[m_ODpot]->Fill(m_fibID,m_pmfID-1);
350
351 // changed by Petr - 19.12.2012 ----------------------------- commented, is it needed by ODs? TODO: to correct ChanPlot for OD case
352// ChanPlot(m_ODpot,m_fibID,m_chan_i,m_chan_j);
353// MapmtHit[m_ODpot][m_pmfID-1]->Fill(m_chan_i,m_chan_j);
354 msg(MSG::DEBUG) << "fibID = " << m_fibID << ", chan_i " << m_chan_i << ", chan_j = " << m_chan_j << endmsg;
355
358
359 msg(MSG::DEBUG) << "ALFA_Raw2Digit: new OD digit (softsim numbering-starting from 0) in the collection, pot = " << m_ODpot << ", side = " << m_ODside << ", plate = " << m_ODplate << ", fiber = " << m_ODfiber << endmsg;
360 }
361 }
362 // */
363 }
364 } //if (PFM!=0)
365 else
366 {
367 msg(MSG::DEBUG) << "ALFA_Raw2Digit: More than n Raw Data " <<endmsg;
368 break;
369 }
370 } // loop raw data
371
372 msg(MSG::DEBUG) << "ALFA_Raw2Digit: finish loop over raw data " << endmsg;
373 } // loop collection
374
375 msg(MSG::DEBUG) << "ALFA_Raw2Digit: finish loop over collection " << endmsg;
376
377// m_tree->Fill();
378
379 return StatusCode::SUCCESS;
380}
#define endmsg
#define ATH_MSG_DEBUG(x)
static Double_t sc
bool m_fiber_b[8][20][64]
int m_pmf2layer[8][23]
StatusCode recordODCollection()
int m_OD_pmf_maroc2fiber[8][4][64]
uint16_t m_charge_2[8]
bool m_trigger_pattern_b[8][16]
StatusCode recordCollection()
Int_t m_hit_counter[8]
uint16_t m_charge_1[8]
int m_OD_pmf_maroc2side[8][4][64]
Int_t m_pmf_chan_hit_counter[8][23][64]
int m_maroc2fiber[8][20][64]
Int_t m_n_hits_lay[8][20]
int m_OD_pmf2layer[8][4]
bool m_layer_b[8][20]
MsgStream & msg() const
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ finalize()

StatusCode ALFA_Raw2Digit::finalize ( )

Definition at line 382 of file ALFA_Raw2Digit.cxx.

383{
384 ATH_MSG_DEBUG ("ALFA_Raw2Digit:finalize()");
385
386// m_toFile.close();
387// m_tree->Write();
388
389/*
390 TCanvas *canvas = new TCanvas("MAPMT_activity", "MAPMT_activity");
391// TCanvas *tcDistance = new TCanvas("tcDistance", "tcDistance");
392
393 gStyle->SetPalette(1);
394
395 for (int j=0;j<8;j++){
396 for (int k=0;k<23;k++){
397 for (int m=1;m<9;m++){
398 for (int n=1;n<9;n++){
399 MAPMT_activity_h[j][k]->SetBinContent(m,n,double(MapmtHit[j][k]->GetBinContent(m,n))/double(m_hit_counter[j]));
400 }
401 }
402 for (int i=0;i<64;i++){
403 MAPMT_activity[j]->SetPoint(k*64+i,k*64+i,double(m_pmf_chan_hit_counter[j][k][i])/double(m_hit_counter[j]));
404 }
405 }
406
407 m_s.str("");
408 m_s << j+1;
409
410 m_h_name1 = "MAPMT_activity_p_";
411 m_h_name1 += m_s.str();
412
413 canvas->Clear();
414 canvas->cd();
415
416 MAPMT_activity[j]->SetTitle(m_h_name1.c_str());
417 MAPMT_activity[j]->SetMarkerStyle(6);
418 MAPMT_activity[j]->Draw("AP");
419 MAPMT_activity[j]->SetName(m_h_name1.c_str());
420
421 canvas->cd()->Update();
422
423 m_h_name1 += ".eps";
424 canvas->Print(m_h_name1.c_str());
425 }
426
427 delete canvas;
428
429 for (int j=0;j<8;j++){
430 TCanvas *POT_View = new TCanvas("POT_View","POT_View");
431 POT_View->Divide(5,5);
432
433 gStyle->SetPalette(1);
434
435 for (unsigned int i=0;i<4;i++)
436 {
437 POT_View->cd(i+1);
438 // MapmtEff[i]->GetZaxis()->SetRangeUser(0,max_trig_eff_old[0]);
439 MAPMT_activity_h[j][i]->Draw("COLZ,A");
440 MAPMT_activity_h[j][i]->SetStats(0);
441 }
442
443 for (unsigned int i=4;i<11;i++)
444 {
445 POT_View->cd(i+2);
446 // MapmtEff[i]->GetZaxis()->SetRangeUser(0,max_trig_eff_old[0]);
447 MAPMT_activity_h[j][i]->Draw("COLZ,A");
448 MAPMT_activity_h[j][i]->SetStats(0);
449 }
450
451 for (unsigned int i=11;i<23;i++)
452 {
453 POT_View->cd(i+3);
454 // MapmtEff[i]->GetZaxis()->SetRangeUser(0,max_trig_eff_old[0]);
455 MAPMT_activity_h[j][i]->Draw("COLZ,A");
456 MAPMT_activity_h[j][i]->SetStats(0);
457 }
458
459 POT_View->cd();
460
461 m_s.str("");
462 m_s << j+1;
463 m_CanName = "h_MAPMT_activity_p_";
464 m_CanName += m_s.str();
465 m_CanName+=".eps";
466
467 POT_View->Print(m_CanName.c_str());
468 POT_View->Close();
469 }
470
471*/
472
473// m_rootOutput->Write();
474// m_rootOutput->Close();
475
476 return StatusCode::SUCCESS;
477}

◆ initialize()

StatusCode ALFA_Raw2Digit::initialize ( )

Definition at line 59 of file ALFA_Raw2Digit.cxx.

60{
61 ATH_MSG_DEBUG ("ALFA_Raw2Digit:initialize()");
62
63 if (m_strMeasuredDataType=="tunnel")
64 {
65 m_mb2det[0] = 1; m_mb2det[1] = 0; m_mb2det[2] = 7; m_mb2det[3] = 2;
66 m_mb2det[4] = 4; m_mb2det[5] = 5; m_mb2det[6] = 6; m_mb2det[7] = 3;
67 }
68 else if (m_strMeasuredDataType=="testbeam")
69 {
70 m_mb2det[0] = 0; m_mb2det[1] = 1; m_mb2det[2] = 2; m_mb2det[3] = 3;
71 m_mb2det[4] = 4; m_mb2det[5] = 5; m_mb2det[6] = 6; m_mb2det[7] = 7;
72 }
73
74 m_nEvents = 0;
75 m_MAPMTChan = -1;
76
77 for (int m=0;m<8;m++)
78 {
79 m_hit_counter[m] = 0;
80 for (int k=0;k<23;k++)
81 {
82 for (int i=0;i<64;i++)
83 {
85 }
86 }
87 }
88
90
91 if (sc.isFailure()) { msg (MSG::FATAL) << " Could not open mapping " << endmsg; return sc; }
92 else msg (MSG::DEBUG) << " mapping is fine " << endmsg;
93
94// sc = service("THistSvc", m_histSvc);
95
96 // retrieve ThistSvc ...
97// if(sc.isFailure())
98// {
99// msg(MSG::FATAL) << "Unable to retrieve pointer to THistSvc" << endmsg;
100// return sc;
101// }
102
103/*
104 m_rootOutputFileName = "ALFA_toy_tree_tom.root";
105 m_rootOutput = new TFile(m_rootOutputFileName,"RECREATE");
106 m_tree = new TTree("MyTree", "ALFA_toy_tree");
107
108 TBranch *branch;
109 branch = m_tree->Branch("m_event_no", &m_event_no,"m_event_no/I"); branch->SetAutoDelete(kFALSE);
110 branch = m_tree->Branch("m_lumi_block", &m_lumi_block, "m_lumi_block/I"); branch->SetAutoDelete(kFALSE);
111 branch = m_tree->Branch("pot_b", m_pot_b, "pot_b[8]/O"); branch->SetAutoDelete(kFALSE);
112 branch = m_tree->Branch("layer_b", m_layer_b, "layer_b[8][20]/O"); branch->SetAutoDelete(kFALSE);
113 branch = m_tree->Branch("fiber_b", m_fiber_b, "fiber_b[8][20][64]/O"); branch->SetAutoDelete(kFALSE);
114 branch = m_tree->Branch("trigger_pattern_b", m_trigger_pattern_b, "trigger_pattern[8][16]/O"); branch->SetAutoDelete(kFALSE);
115 branch = m_tree->Branch("charge_1", &m_charge_1, "charge_1[8]/s"); branch->SetAutoDelete(kFALSE);
116 branch = m_tree->Branch("charge_2", &m_charge_2, "charge_2[8]/s"); branch->SetAutoDelete(kFALSE);
117*/
118
119// for (unsigned int j=0; j<8; j++)
120// {
121// m_h_name1 = "MAPMT_activity_p_";
122// m_h_name2 = "PMFvsMAPMT_p_";
123// m_h_name3 = "PMFvsMAROC_p_";
124
125// m_h_loc1 = "/AANT/MAPMT_activity_p_";
126// m_h_loc2 = "/AANT/PMFvsMAPMT_p_";
127// m_h_loc3 = "/AANT/PMFvsMAROC_p_";
128
129// m_s.str("");
130// m_s << j+1;
131
132// m_h_name1 += m_s.str();
133// m_h_name2 += m_s.str();
134// m_h_name3 += m_s.str();
135
136// m_h_loc1 += m_s.str();
137// m_h_loc2 += m_s.str();
138// m_h_loc3 += m_s.str();
139
140/*
141 m_rootOutputFileName = "ALFA_toy_tree_tom.root";
142 m_rootOutput = new TFile(m_rootOutputFileName,"RECREATE");
143 m_tree = new TTree("MyTree", "ALFA_toy_tree");
144
145 MAPMT_activity[j] = new TGraph(1472);
146// MAPMT_activity[j]->SetTitle("Trigger efficiency for Upper pot;MAROC Channel; Trigger efficiency");
147 MAPMT_activity[j]->SetTitle(m_h_name1.c_str());
148 MAPMT_activity[j]->SetMarkerStyle(6);
149 MAPMT_activity[j]->Draw("AP");
150 MAPMT_activity[j]->SetName(m_h_name1.c_str());
151
152// sc = m_histSvc->regHist(m_h_loc1.c_str(),MAPMT_activity[j]);
153
154 PMFvsMAPMT[j] = new TH2I(m_h_name2.c_str(),m_h_name2.c_str(),64,-0.5,63.5,23,-0.5,22.5);
155 sc = m_histSvc->regHist(m_h_loc2.c_str(),PMFvsMAPMT[j]);
156
157 PMFvsMAROC[j] = new TH2I(m_h_name3.c_str(),m_h_name3.c_str(),64,-0.5,63.5,23,-0.5,22.5);
158 sc = m_histSvc->regHist(m_h_loc3.c_str(),PMFvsMAROC[j]);
159
160 for (unsigned int i=0; i<23; i++)
161 {
162 MapmtHit[j][i] = new TH2I(m_h_name1.c_str(),m_h_name1.c_str(),8,0.5,8.5,8,0.5,8.5);
163 MAPMT_activity_h[j][i] = new TH2D("","",8,0.5,8.5,8,0.5,8.5);
164 sc = m_histSvc->regHist(m_h_loc1.c_str(),MAPMT_activity_h[j][i]);
165 }
166*/
167// }
168
169 return StatusCode::SUCCESS;
170}
StatusCode mapping()

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ mapping()

StatusCode ALFA_Raw2Digit::mapping ( )
private

Definition at line 506 of file ALFA_Raw2Digit.cxx.

507{
508 int MarChan = 0;
509 int MapChan = 0;
510 int FibChan = 0;
511 int iLayer = 0;
512 int PMFNum = 0;
513 int LAYNum = 0;
514 int OD_PMFNum = 0;
515 int OD_Dieter = 0;
516 int OD_LAYNum = 0;
517 int OD_Side = 0;
518 int OD_MarChan = 0;
519 int OD_FibChan = 0;
520 int OD_MaPmtChan = 0;
521
522// int MBnum, DETnum;
523
524
525// m_mapname = "./mapping/motheboard2detector.dat";
526// m_inDet.open(m_mapname.c_str());
527// msg(MSG::DEBUG) << "file name " << m_mapname.c_str() << endmsg;
528// for (unsigned int i=0;i<64;i++) {
529// m_inDet >> MBnum >> DETnum;
530// m_mb2det[MBnum] = DETnum;
531// }
532
533 std::fill_n(&m_maroc2fiber[0][0][0], sizeof(m_maroc2fiber)/sizeof(int), -9999.0);
534 std::fill_n(&m_maroc2mapmt[0][0][0], sizeof(m_maroc2mapmt)/sizeof(int), -9999.0);
535 std::fill_n(&m_mapmt2maroc[0][0][0], sizeof(m_mapmt2maroc)/sizeof(int), -9999.0);
536
537
538 for (unsigned int j=0; j<8; j++)
539 {
540 m_s.str("");
541
542// m_mapname = "mapping/MAROC_MAPMT_FIBER_MD";
543
544 // changed by Petr - 19.12.2012 -------------------------------------------------
545// m_mapname = "MAROC_MAPMT_FIBER_MD";
546 m_mapname = "ALFA_Raw2Digit/MAROC_MAPMT_FIBER_NEW_MD_";
547 m_s << j+1;
548 m_mapname += m_s.str();
549 m_mapname += ".dat";
550
551 msg(MSG::DEBUG) << "file name " << m_mapname.c_str() << endmsg;
552
553 // ************
555 if(filePath.length() == 0)
556 {
557 msg(MSG::FATAL) << " the mapping file MD maroc-mapmt \"" << m_mapname.c_str() << "\" not found in Datapath." << endmsg;
558 throw std::runtime_error("FATAL: mapping MD maroc-mapmt not found in Datapath.");
559 }
560 else
561 {
562 msg(MSG::DEBUG) << "DEBUG: the mapping file MD maroc-mapmt \"" << m_mapname.c_str() << "\" found in Datapath." << endmsg;
563 msg(MSG::DEBUG) << "DEBUG: filePath = " << filePath.c_str() << endmsg;
564 }
565 // **************
566
567// m_inChan.open(m_mapname.c_str());
568 m_inChan.open(filePath.c_str());
569 if (m_inChan.is_open())
570 {
571 // changed by Petr - 19.12.2012 ---------------------------------------------
572// for (unsigned int i=0;i<64;i++){
573 for (unsigned int i=0;i<1280;i++){
574// m_inChan >> MarChan >> MapChan >> FibChan;
575 m_inChan >> iLayer >> MarChan >> MapChan >> FibChan;
576// msg(MSG::DEBUG) << i << " maroc_mapmt_fiber, maroc = " << MarChan << ", map = "<< MapChan << ", fib = " << FibChan << endmsg;
577 msg(MSG::DEBUG) << i << " maroc_mapmt_fiber, layer = " << iLayer << ", maroc = " << MarChan << ", map = "<< MapChan << ", fib = " << FibChan << endmsg;
578
579 if ((MarChan < 0) || (MarChan > 63))
580 {
581 std::string s1("MarChan out of range; file corrupted");
582 throw std::runtime_error(s1);
583 }
584
585 if ((MapChan < 0) || (MapChan > 63))
586 {
587 std::string s2("MapChan out of range; file corrupted");
588 throw std::runtime_error(s2);
589 }
590
591 if ((iLayer < 0) || (iLayer > 19))
592 {
593 std::string s2("Layer out of range; file corrupted");
594 throw std::runtime_error(s2);
595 }
596
597// m_maroc2fiber[j][MarChan] = FibChan;
598// m_maroc2mapmt[j][MarChan] = MapChan;
599// m_mapmt2maroc[j][MapChan] = MarChan;
600 m_maroc2fiber[j][iLayer][MarChan] = FibChan;
601 m_maroc2mapmt[j][iLayer][MarChan] = MapChan;
602 m_mapmt2maroc[j][iLayer][MapChan] = MarChan;
603 }
604 m_inChan.close();
605 }
606 else
607 {
608 msg(MSG::ERROR) << "the file " << m_mapname.c_str() << " was not open" << endmsg;
609 return StatusCode::FAILURE;
610 }
611
612// m_mapname = "mapping/PMF_LAYER_MD";
613 m_mapname = "ALFA_Raw2Digit/PMF_LAYER_MD";
614 m_mapname += m_s.str();
615 m_mapname += ".dat";
616 msg(MSG::DEBUG) << "file name " << m_mapname.c_str() << endmsg;
617
618 // ************
620 if(filePath.length() == 0)
621 {
622 msg(MSG::FATAL) << " the mapping file PMF_LAYER_MD \"" << m_mapname.c_str() << "\" not found in Datapath." << endmsg;
623 throw std::runtime_error("FATAL: mapping PMF_LAYER_MD not found in Datapath.");
624 }
625 else
626 {
627 msg(MSG::DEBUG) << "DEBUG: the mapping file PMF_LAYER_MD \"" << m_mapname.c_str() << "\" found in Datapath." << endmsg;
628 msg(MSG::DEBUG) << "DEBUG: filePath = " << filePath.c_str() << endmsg;
629 }
630 // **************
631
632 m_inPMF.open(filePath.c_str());
633 if (m_inPMF.is_open())
634 {
635 for (unsigned int i=0;i<20;i++)
636 {
637 m_inPMF >> PMFNum >> LAYNum;
638 msg(MSG::DEBUG) << i << " pmf2layer, pmf = " << PMFNum << ", layer = "<< LAYNum << endmsg;
639
640 if ((PMFNum < 0) || ( PMFNum > 22))
641 {
642 std::string s3("PMFNum out of range; file corrupted");
643 throw std::runtime_error(s3);
644 }
645
646
647 m_pmf2layer[j][PMFNum] = LAYNum;
648 // // layer2pmf[j][LAYNum] = PMFNum;
649 }
650 m_inPMF.close();
651 }
652 else
653 {
654 msg(MSG::WARNING) << "the file " << m_mapname.c_str() << " was not open" << endmsg;
655 return StatusCode::FAILURE;
656 }
657
658// m_mapname="mapping/OD_MAP";
659 m_mapname="ALFA_Raw2Digit/OD_MAP";
660 m_mapname += m_s.str();
661 m_mapname+=".dat";
662 msg(MSG::DEBUG) << "file name " << m_mapname.c_str() << endmsg;
663
664 // ************
666 if(filePath.length() == 0)
667 {
668 msg(MSG::FATAL) << " the mapping file OD_MAP \"" << m_mapname.c_str() << "\" not found in Datapath." << endmsg;
669 throw std::runtime_error("FATAL: mapping OD_MAP not found in Datapath.");
670 }
671 else
672 {
673 msg(MSG::DEBUG) << "DEBUG: the mapping file OD_MAP \"" << m_mapname.c_str() << "\" found in Datapath." << endmsg;
674 msg(MSG::DEBUG) << "DEBUG: filePath = " << filePath.c_str() << endmsg;
675 }
676 // **************
677
678 m_inOD.open(filePath.c_str());
679 if (m_inOD.is_open())
680 {
681 for(unsigned int jlay=0; jlay<3; jlay++)
682 {
683 for(unsigned int jside=0; jside<2; jside++)
684 {
685 for(unsigned int jch=0; jch<32; jch++)
686 {
687 m_inOD >> OD_PMFNum >> OD_Dieter >> OD_LAYNum >> OD_Side >> OD_MaPmtChan >> OD_FibChan; // warning!!! MaPmt, not Maroc!
688 msg(MSG::DEBUG) << " pmf2layer, OD_PMFNum = " << OD_PMFNum << ", OD_Dieter = "<< OD_Dieter << ", OD_LAYNum = " << OD_LAYNum << ", OD_Side = " << OD_Side << ", OD_MaPmtChan = " << OD_MaPmtChan << ", OD_FibChan = " << OD_FibChan << endmsg;
689
690 if ((OD_PMFNum < 2) || ( OD_PMFNum > 4))
691 {
692 std::string s4("OD_PMFNum out of range; file corrupted");
693 throw std::runtime_error(s4);
694 }
695
696 if ((OD_MaPmtChan < 1) || ( OD_MaPmtChan > 64))
697 {
698 std::string s5("OD_MaPmtChan out of range; file corrupted");
699 throw std::runtime_error(s5);
700 }
701
702
703// m_OD_pmf2layer[j][OD_PMFNum-1] = OD_LAYNum-1;
704 // OD_layer2pmf[j][OD_LAYNum-1] = OD_PMFNum-1;
705 // changed by Petr - 19.12.2012 ---------------------------------
706// OD_MarChan = m_mapmt2maroc[j][OD_MaPmtChan-1];
707// OD_MarChan = m_mapmt2maroc[j][OD_LAYNum-1][OD_MaPmtChan-1];
708 //added to solve ATLAS coverity 13339 (only three OD layers are allowed)
709 if ((OD_LAYNum > 0) && ( OD_LAYNum < 4))
710 {
711 m_OD_pmf2layer[j][OD_PMFNum-1] = OD_LAYNum-1;
712 OD_MarChan = m_mapmt2maroc[j][OD_LAYNum-1][OD_MaPmtChan-1];
713 }
714 else
715 {
716 msg(MSG::DEBUG) << "OD_LAYNum out of bounds" << endmsg;
717 }
718
719 m_OD_pmf_maroc2fiber[j][OD_PMFNum-1][OD_MarChan] = OD_FibChan-1;
720 m_OD_pmf_maroc2side[j][OD_PMFNum-1][OD_MarChan] = OD_Side;
721 }
722 }
723 }
724
725 m_inOD.close();
726 }
727 else
728 {
729 msg(MSG::WARNING) << "the file " << m_mapname.c_str() << " was not open" << endmsg;
730 return StatusCode::FAILURE;
731 }
732 }
733
734 return StatusCode::SUCCESS;
735}
std::string PathResolverFindDataFile(const std::string &logical_file_name)
int m_mapmt2maroc[8][20][64]
std::string m_mapname
std::ifstream m_inPMF
std::ifstream m_inChan
std::stringstream m_s
std::ifstream m_inOD
str filePath
Definition hancool.py:27

◆ msg()

MsgStream & AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ recordCollection()

StatusCode ALFA_Raw2Digit::recordCollection ( )
private

Definition at line 480 of file ALFA_Raw2Digit.cxx.

481{
482 msg(MSG::DEBUG) << " ALFA_Digitization::recordCollection " << endmsg;
483
484 m_digitCollection = new ALFA_DigitCollection();
485
487 if (sc.isFailure()) { msg (MSG::FATAL) << " MD - Could not record the empty digit collection in StoreGate " << endmsg; return sc; }
488 else msg (MSG::DEBUG) << " MD - Digit collection is recorded in StoreGate " << endmsg;
489
490 return sc;
491}

◆ recordODCollection()

StatusCode ALFA_Raw2Digit::recordODCollection ( )
private

Definition at line 493 of file ALFA_Raw2Digit.cxx.

494{
495 msg(MSG::DEBUG) << " ALFA_Digitization::recordODCollection " << endmsg;
496
497 m_ODdigitCollection = new ALFA_ODDigitCollection();
498
500 if (sc.isFailure()) { msg (MSG::FATAL) << " OD - Could not record the empty digit collection in StoreGate " << endmsg; return sc; }
501 else msg (MSG::DEBUG) << " OD - Digit collection is recorded in StoreGate " << endmsg;
502
503 return sc;
504}

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_WARNING(x)
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_act_lay_h

TH1F* ALFA_Raw2Digit::m_act_lay_h[8] {}
private

Definition at line 94 of file ALFA_Raw2Digit.h.

94{};

◆ m_ALFA_RawDataCollectionKey

std::string ALFA_Raw2Digit::m_ALFA_RawDataCollectionKey
private

Definition at line 55 of file ALFA_Raw2Digit.h.

◆ m_All_Trigger

TH2I* ALFA_Raw2Digit::m_All_Trigger {}
private

Definition at line 91 of file ALFA_Raw2Digit.h.

91{};

◆ m_All_Trigger_norm

TH2D* ALFA_Raw2Digit::m_All_Trigger_norm {}
private

Definition at line 92 of file ALFA_Raw2Digit.h.

92{};

◆ m_CanName

std::string ALFA_Raw2Digit::m_CanName
private

Definition at line 129 of file ALFA_Raw2Digit.h.

◆ m_chan_i

uint32_t ALFA_Raw2Digit::m_chan_i {}
private

Definition at line 132 of file ALFA_Raw2Digit.h.

132{}, m_chan_j{};

◆ m_chan_j

uint32_t ALFA_Raw2Digit::m_chan_j {}
private

Definition at line 132 of file ALFA_Raw2Digit.h.

132{}, m_chan_j{};

◆ m_charge_1

uint16_t ALFA_Raw2Digit::m_charge_1[8] {}
private

Definition at line 97 of file ALFA_Raw2Digit.h.

97{}, m_charge_2[8]{};

◆ m_charge_2

uint16_t ALFA_Raw2Digit::m_charge_2[8] {}
private

Definition at line 97 of file ALFA_Raw2Digit.h.

97{}, m_charge_2[8]{};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_digitCollection

ALFA_DigitCollection* ALFA_Raw2Digit::m_digitCollection {}
private

Definition at line 111 of file ALFA_Raw2Digit.h.

111{};

◆ m_digitObject

ALFA_Digit* ALFA_Raw2Digit::m_digitObject {}
private

Definition at line 112 of file ALFA_Raw2Digit.h.

112{};

◆ m_event_no

Int_t ALFA_Raw2Digit::m_event_no {}
private

Definition at line 101 of file ALFA_Raw2Digit.h.

101{};

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_fiber

int ALFA_Raw2Digit::m_fiber {}
private

Definition at line 69 of file ALFA_Raw2Digit.h.

69{};

◆ m_fiber_b

bool ALFA_Raw2Digit::m_fiber_b[8][20][64] {}
private

Definition at line 99 of file ALFA_Raw2Digit.h.

99{}, m_layer_b[8][20]{}, m_fiber_b[8][20][64]{}, m_trigger_pattern_b[8][16]{};

◆ m_fibID

int ALFA_Raw2Digit::m_fibID {}
private

Definition at line 61 of file ALFA_Raw2Digit.h.

61{};

◆ m_h_loc1

std::string ALFA_Raw2Digit::m_h_loc1
private

Definition at line 128 of file ALFA_Raw2Digit.h.

◆ m_h_loc2

std::string ALFA_Raw2Digit::m_h_loc2
private

Definition at line 128 of file ALFA_Raw2Digit.h.

◆ m_h_loc3

std::string ALFA_Raw2Digit::m_h_loc3
private

Definition at line 128 of file ALFA_Raw2Digit.h.

◆ m_h_name1

std::string ALFA_Raw2Digit::m_h_name1
private

Definition at line 127 of file ALFA_Raw2Digit.h.

◆ m_h_name2

std::string ALFA_Raw2Digit::m_h_name2
private

Definition at line 127 of file ALFA_Raw2Digit.h.

◆ m_h_name3

std::string ALFA_Raw2Digit::m_h_name3
private

Definition at line 127 of file ALFA_Raw2Digit.h.

◆ m_hit_counter

Int_t ALFA_Raw2Digit::m_hit_counter[8] {}
private

Definition at line 108 of file ALFA_Raw2Digit.h.

108{};

◆ m_hit_lay_h

TH1F* ALFA_Raw2Digit::m_hit_lay_h[8] {}
private

Definition at line 95 of file ALFA_Raw2Digit.h.

95{};

◆ m_inChan

std::ifstream ALFA_Raw2Digit::m_inChan
private

Definition at line 120 of file ALFA_Raw2Digit.h.

◆ m_inDet

std::ifstream ALFA_Raw2Digit::m_inDet
private

Definition at line 123 of file ALFA_Raw2Digit.h.

◆ m_inOD

std::ifstream ALFA_Raw2Digit::m_inOD
private

Definition at line 122 of file ALFA_Raw2Digit.h.

◆ m_inPMF

std::ifstream ALFA_Raw2Digit::m_inPMF
private

Definition at line 121 of file ALFA_Raw2Digit.h.

◆ m_key_DigitCollection

std::string ALFA_Raw2Digit::m_key_DigitCollection
private

Definition at line 117 of file ALFA_Raw2Digit.h.

◆ m_key_ODDigitCollection

std::string ALFA_Raw2Digit::m_key_ODDigitCollection
private

Definition at line 118 of file ALFA_Raw2Digit.h.

◆ m_layer_b

bool ALFA_Raw2Digit::m_layer_b[8][20] {}
private

Definition at line 99 of file ALFA_Raw2Digit.h.

99{}, m_layer_b[8][20]{}, m_fiber_b[8][20][64]{}, m_trigger_pattern_b[8][16]{};

◆ m_lumi_block

uint32_t ALFA_Raw2Digit::m_lumi_block {}
private

Definition at line 96 of file ALFA_Raw2Digit.h.

◆ m_lumi_block_old

uint32_t ALFA_Raw2Digit::m_lumi_block_old {}
private

Definition at line 96 of file ALFA_Raw2Digit.h.

◆ m_MapChan

int ALFA_Raw2Digit::m_MapChan {}
private

Definition at line 64 of file ALFA_Raw2Digit.h.

64{};

◆ m_mapmt2maroc

int ALFA_Raw2Digit::m_mapmt2maroc[8][20][64] {}
private

Definition at line 79 of file ALFA_Raw2Digit.h.

79{};

◆ m_MAPMTChan

int ALFA_Raw2Digit::m_MAPMTChan {}
private

Definition at line 63 of file ALFA_Raw2Digit.h.

63{};

◆ m_mapname

std::string ALFA_Raw2Digit::m_mapname
private

Definition at line 125 of file ALFA_Raw2Digit.h.

◆ m_maroc2fiber

int ALFA_Raw2Digit::m_maroc2fiber[8][20][64] {}
private

Definition at line 77 of file ALFA_Raw2Digit.h.

77{};

◆ m_maroc2mapmt

int ALFA_Raw2Digit::m_maroc2mapmt[8][20][64] {}
private

Definition at line 78 of file ALFA_Raw2Digit.h.

78{};

◆ m_mb2det

int ALFA_Raw2Digit::m_mb2det[8] {}
private

Definition at line 87 of file ALFA_Raw2Digit.h.

87{};

◆ m_mbID

int ALFA_Raw2Digit::m_mbID {}
private

Definition at line 59 of file ALFA_Raw2Digit.h.

59{};

◆ m_n_hits_lay

Int_t ALFA_Raw2Digit::m_n_hits_lay[8][20] {}
private

Definition at line 100 of file ALFA_Raw2Digit.h.

100{};

◆ m_nEvents

int ALFA_Raw2Digit::m_nEvents {}
private

Definition at line 57 of file ALFA_Raw2Digit.h.

57{};

◆ m_OD_pmf2layer

int ALFA_Raw2Digit::m_OD_pmf2layer[8][4] {}
private

Definition at line 83 of file ALFA_Raw2Digit.h.

83{};

◆ m_OD_pmf_maroc2fiber

int ALFA_Raw2Digit::m_OD_pmf_maroc2fiber[8][4][64] {}
private

Definition at line 84 of file ALFA_Raw2Digit.h.

84{};

◆ m_OD_pmf_maroc2side

int ALFA_Raw2Digit::m_OD_pmf_maroc2side[8][4][64] {}
private

Definition at line 85 of file ALFA_Raw2Digit.h.

85{};

◆ m_ODdigitCollection

ALFA_ODDigitCollection* ALFA_Raw2Digit::m_ODdigitCollection {}
private

Definition at line 114 of file ALFA_Raw2Digit.h.

114{};

◆ m_ODdigitObject

ALFA_ODDigit* ALFA_Raw2Digit::m_ODdigitObject {}
private

Definition at line 115 of file ALFA_Raw2Digit.h.

115{};

◆ m_ODfiber

int ALFA_Raw2Digit::m_ODfiber {}
private

Definition at line 74 of file ALFA_Raw2Digit.h.

74{};

◆ m_ODplate

int ALFA_Raw2Digit::m_ODplate {}
private

Definition at line 73 of file ALFA_Raw2Digit.h.

73{};

◆ m_ODpot

int ALFA_Raw2Digit::m_ODpot {}
private

Definition at line 71 of file ALFA_Raw2Digit.h.

71{};

◆ m_ODside

int ALFA_Raw2Digit::m_ODside {}
private

Definition at line 72 of file ALFA_Raw2Digit.h.

72{};

◆ m_plate

int ALFA_Raw2Digit::m_plate {}
private

Definition at line 68 of file ALFA_Raw2Digit.h.

68{};

◆ m_pmf2layer

int ALFA_Raw2Digit::m_pmf2layer[8][23] {}
private

Definition at line 81 of file ALFA_Raw2Digit.h.

81{};

◆ m_pmf_chan_hit_counter

Int_t ALFA_Raw2Digit::m_pmf_chan_hit_counter[8][23][64] {}
private

Definition at line 107 of file ALFA_Raw2Digit.h.

107{};

◆ m_pmfID

int ALFA_Raw2Digit::m_pmfID {}
private

Definition at line 60 of file ALFA_Raw2Digit.h.

60{};

◆ m_pot

int ALFA_Raw2Digit::m_pot {}
private

Definition at line 66 of file ALFA_Raw2Digit.h.

66{};

◆ m_pot_b

bool ALFA_Raw2Digit::m_pot_b[8] {}
private

Definition at line 99 of file ALFA_Raw2Digit.h.

99{}, m_layer_b[8][20]{}, m_fiber_b[8][20][64]{}, m_trigger_pattern_b[8][16]{};

◆ m_rootOutput

TFile* ALFA_Raw2Digit::m_rootOutput {}
private

Definition at line 103 of file ALFA_Raw2Digit.h.

103{};

◆ m_rootOutputFileName

TString ALFA_Raw2Digit::m_rootOutputFileName {}
private

Definition at line 104 of file ALFA_Raw2Digit.h.

104{};

◆ m_s

std::stringstream ALFA_Raw2Digit::m_s
private

Definition at line 126 of file ALFA_Raw2Digit.h.

◆ m_side

int ALFA_Raw2Digit::m_side {}
private

Definition at line 67 of file ALFA_Raw2Digit.h.

67{};

◆ m_strMeasuredDataType

std::string ALFA_Raw2Digit::m_strMeasuredDataType
private

Definition at line 135 of file ALFA_Raw2Digit.h.

◆ m_toFile

std::ofstream ALFA_Raw2Digit::m_toFile
private

Definition at line 138 of file ALFA_Raw2Digit.h.

◆ m_tree

TTree* ALFA_Raw2Digit::m_tree {}
private

Definition at line 102 of file ALFA_Raw2Digit.h.

102{};

◆ m_trigger_pattern

std::vector<bool> ALFA_Raw2Digit::m_trigger_pattern
private

Definition at line 98 of file ALFA_Raw2Digit.h.

◆ m_trigger_pattern_b

bool ALFA_Raw2Digit::m_trigger_pattern_b[8][16] {}
private

Definition at line 99 of file ALFA_Raw2Digit.h.

99{}, m_layer_b[8][20]{}, m_fiber_b[8][20][64]{}, m_trigger_pattern_b[8][16]{};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_WordId_count

int ALFA_Raw2Digit::m_WordId_count {}
private

Definition at line 131 of file ALFA_Raw2Digit.h.

131{};

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