34 declareInterface<ITileCalibTool>(
this );
37 m_tcor =
new float[4][32][32]();
57 return StatusCode::SUCCESS;
62 ATH_MSG_INFO (
"initializeNtuple(" << runNumber <<
"," << runType <<
"," << rootFile <<
")" );
63 return StatusCode::SUCCESS;
90 for( ; iCell != lastCell; ++iCell)
98 if ((tile_cell!=
nullptr)&&((tile_cell->
ene1())>150.)&&((tile_cell->
ene2())>150.)&&((tile_cell->
energy())<5000.)&&(fabs(tile_cell->
timeDiff())<3.5)&&(fabs(tile_cell->
time())>0.00000001))
102 x[n] = tile_cell->
x();
103 y[n] = tile_cell->
y();
104 z[n] = tile_cell->
z();
105 t[n] = tile_cell->
time();
112 else if(
section == 1 && side == 1){part[n] = 1;}
113 else if(
section == 1 && side == -1){part[n] = 2;}
114 else if((
section == 2 ||
section ==3) && side == -1){part[n] = 3;}
124#define TIMECOR(MOD_REF1, MOD_REF2, PART_REF1, PART_REF2, COUNT, TCOR) \
126 if (mod[i]==MOD_REF1 && mod[j]==MOD_REF2 && \
127 part[i]==PART_REF1 && part[j]==PART_REF2) { \
128 float TOF = sqrt(((x[j]-x[i])*(x[j]-x[i]))+((y[j]-y[i])*(y[j]-y[i]))+((z[j]-z[i])*(z[j]-z[i])))/299.792; \
129 float tc = t[j]-t[i]-TOF; \
137 for(
int i=0; i<n; i++) {
138 for(
int j=0; j<n; j++) {
139 for(
int s=0; s<4; s++) {
140 for(
int k=0; k<32; k++) {
141 for(
int l=0; l<32; l++) {
147 for(
int s=0; s<4; s++){
156 return StatusCode::SUCCESS;
165 for(
int s=0; s<4; s++) {
166 for(
int k=0; k<32; k++) {
167 for(
int l=0; l<32; l++) {
177 int p0 = 0, p2 = 0, p3 = 0;
182 for(
int s=0; s<4; s++){
214 int n2[4][64] = {{0}};
217 for(
int s=0; s<4; s++){
221 for(
int k=12; k<20; k++) {
230 for(
int k=12; k<15; k++) {
231 for(
int l=16; l<20; l++) {
241 for(
int k=12; k<16; k++) {
242 for(
int l=20; l<24; l++) {
249 for(
int k=52; k<56; k++) {
255 for(
int k=8; k<12; k++) {
256 for(
int l=20; l<24; l++) {
266 for(
int k=8; k<12; k++) {
267 for(
int l=24; l<28; l++) {
274 for(
int k=56; k<60; k++) {
280 for(
int k=0; k<8; k++) {
281 for(
int l=24; l<28; l++) {
291 for(
int k=4; k<8; k++) {
292 for(
int l=28; l<32; l++) {
299 for(
int k=60; k<64; k++) {
306 for(
int k=16; k<20; k++) {
307 for(
int l=12; l<16; l++) {
317 for(
int k=16; k<20; k++) {
318 for(
int l=8; l<12; l++) {
325 for(
int k=40; k<44; k++) {
330 for(
int k=20; k<24; k++){
331 for(
int l=8; l<12; l++) {
341 for(
int k=20; k<24; k++) {
342 for(
int l=4; l<8; l++) {
349 for(
int k=36; k<40; k++) {
355 for(
int k=24; k<32; k++) {
356 for(
int l=4; l<8; l++) {
366 for(
int k=24; k<28; k++) {
367 for(
int l=0; l<4; l++) {
374 for(
int k=32; k<36; k++) {
379 for(
int l=0; l<64; l++) {
380 ATH_MSG_INFO (
"Partition: " << s <<
" Module: " << l+1 <<
" TimeCor: " <<
m_timeCor[s][l] <<
" n: " << n2[s][l] );
384 return StatusCode::SUCCESS;
389 ATH_MSG_INFO (
"writeNtuple(" << runNumber <<
"," << runType <<
"," << rootFile <<
")" );
391 TTree *t =
new TTree(
"TOF",
"TOF");
392 t->Branch(
"Time_Offset",
m_timeCor,
"Time_Offset[4][64]/F");
393 t->Branch(
"eba16_lba16", &
m_LA_EA,
"eba16_lba16/F");
394 t->Branch(
"lbc16_lba16", &
m_LA_LC,
"lbc16_lba16/F");
395 t->Branch(
"ebc16_lba16", &
m_LA_EC,
"ebc16_lba16/F");
399 return StatusCode::SUCCESS;
405 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
Handle class for reading from StoreGate.
const ServiceHandle< StoreGateSvc > & detStore() const
Data object for each calorimeter readout cell.
float time() const
get time (data member)
double energy() const
get energy (data member)
float y() const
get y (through CaloDetDescrElement)
float z() const
get z (through CaloDetDescrElement)
float x() const
get x (through CaloDetDescrElement)
Identifier ID() const
get ID (from cached data member) non-virtual and inline for fast access
DataModel_detail::const_iterator< DataVector > const_iterator
virtual bool isValid() override final
Can the handle be successfully dereferenced?
float ene1(void) const
get energy of first PMT
float timeDiff(void) const
get time diff for two PMTs (data member)
float ene2(void) const
get energy of second PMT