ATLAS Offline Software
TestTrkParametersIdentificationHelpers.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #include <iostream>
8 #include <iomanip>
9 #include <bitset>
10 
11 void testBitField(){
14  unsigned int max = -1;
15  std::cout << " starting loop " << max << std::endl;
16  for( unsigned int i=0;i<max;++i ){
17  if( !field.encode(i,id) ){
18  std::cout << " encoding failed for " << i << std::endl;
19  break;
20  }
21  unsigned int value = field.decode(id);
22  std::cout << " i " << std::setw(3) << i << " value " << std::setw(3) << value << " " << std::bitset<32>(i) << " id " << std::bitset<32>(id) << std::endl;
23  }
24 }
25 
26 void testCalo() {
27 
29  unsigned int good = 0;
30  unsigned int bad = 0;
31  unsigned int goodCalo = 0;
32  unsigned int badCalo = 0;
33 
34  // loop over technologies
36 
38 
39  // loop over samplings
41 
42  for( unsigned int isEntry = 0; isEntry < 2 ; ++isEntry ){
43  bool entry = isEntry == 1;
44  // cppcheck-suppress uninitvar; false positive
46  static_cast<CaloSampling::CaloSample>(sample), entry );
47  AtlasDetDescr::AtlasDetTechnology itech = helper.technology(id);
48  CaloSampling::CaloSample isample = helper.caloSample(id);
49  bool ientry = helper.isEntryToVolume(id);
50  bool ivalid = helper.isValid(id);
51  bool printDetails = false;
52  if( !ivalid || sample != isample || entry != ientry ) {
53  ++bad;
54  if( isCalo ) {
55  std::cout << "WARNING bad decoding/encoding " << std::endl;
56  ++badCalo;
57  printDetails = true;
58  }
59  }else{
60  ++good;
61  if( isCalo ) { ++goodCalo;
62  } else {
63  std::cout << " good but no calo!!! " << std::endl;
64  printDetails = true;
65  }
66  }
67  if( printDetails ){
68  std::cout << " tech " << std::setw(4) << tech << " sample " << std::setw(4) << sample << " isEntry " << entry << std::endl
69  << " itech " << std::setw(4) << itech << " isample " << std::setw(4) << isample << " isEntry " << ientry
70  << " valid " << ivalid << " id " << std::bitset<32>(id) << std::endl;
71  }
72  }
73  }
74  }
75  std::cout << "all: good " << good << " bad " << bad << std::endl;
76  std::cout << "calo: good " << goodCalo << " bad " << badCalo << std::endl;
77 
78 }
79 
80 
81 int main() {
82 
83  testBitField();
84  testCalo();
85 }
bad
@ bad
Definition: SUSYToolsTester.cxx:95
GetLCDefs::Unknown
@ Unknown
Definition: GetLCDefs.h:21
max
#define max(a, b)
Definition: cfImp.cxx:41
Trk::BitField< unsigned int >
athena.value
value
Definition: athena.py:122
ReadOfcFromCool.field
field
Definition: ReadOfcFromCool.py:48
AtlasDetDescr::fLastAtlasCaloTechnology
@ fLastAtlasCaloTechnology
Definition: AtlasDetTechnology.h:46
runBeamSpotCalibration.helper
helper
Definition: runBeamSpotCalibration.py:112
AtlasDetDescr::fFirstAtlasDetTechnology
@ fFirstAtlasDetTechnology
Definition: AtlasDetTechnology.h:32
Trk::TrackParametersIdHelper
helper class to encode and decode a TrackParametersIdentifier
Definition: TrackParametersIdHelper.h:18
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:100
lumiFormat.i
int i
Definition: lumiFormat.py:92
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
AtlasDetDescr::fFirstAtlasCaloTechnology
@ fFirstAtlasCaloTechnology
Definition: AtlasDetTechnology.h:40
AtlasDetDescr::AtlasDetTechnology
AtlasDetTechnology
Definition: AtlasDetTechnology.h:28
AtlasDetDescr::fNumAtlasDetTechnologies
@ fNumAtlasDetTechnologies
Definition: AtlasDetTechnology.h:57
TrackParametersIdentifier
unsigned int TrackParametersIdentifier
Definition: TrackParametersIdHelper.h:13
GetAllXsec.entry
list entry
Definition: GetAllXsec.py:132
ReadBchFromCool.good
good
Definition: ReadBchFromCool.py:433
TrackParametersIdentificationHelper.h
CaloCell_ID_FCS::PreSamplerB
@ PreSamplerB
Definition: FastCaloSim_CaloCell_ID.h:19
testBitField
void testBitField()
Definition: TestTrkParametersIdentificationHelpers.cxx:11
testCalo
void testCalo()
Definition: TestTrkParametersIdentificationHelpers.cxx:26
main
int main()
Definition: TestTrkParametersIdentificationHelpers.cxx:81