ATLAS Offline Software
Loading...
Searching...
No Matches
CBNTAA_TBTPValidation.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TBREC_CBNTAA_TBTPVALIDATION_H
6#define TBREC_CBNTAA_TBTPVALIDATION_H
7
8#include "GaudiKernel/NTuple.h"
9#include "GaudiKernel/SmartDataPtr.h"
10#include "CBNT_TBRecBase.h"
11#include <fstream>
12#include <string>
13#include <vector>
14
15
20
22{
23 public:
24 CBNTAA_TBTPValidation(const std::string & name, ISvcLocator * pSvcLocator);
25
27
28 //standart algorithm methods
29 virtual StatusCode CBNT_initialize();
30 virtual StatusCode CBNT_execute();
31 virtual StatusCode CBNT_finalize();
32
33 private:
34
35 bool m_neverReturnFailure; // controls when StatusCode::FAILURE can be issued in execute()
36
37 // TBADCRawCont
38 std::vector<unsigned int> *m_adc;
39 std::vector< std::string > *m_tbDetectorName_TBADCRawCont;
40 std::vector< bool > *m_overflow_TBADCRawCont;
41 std::string m_containerKey1;
42 // TBTDCRawCont
43 std::vector<unsigned int> *m_tdc_raw;
44 std::vector<bool> *m_underThreshold_raw;
45 std::vector< std::string > *m_tbDetectorName_TBTDCRawCont;
46 std::vector< bool > *m_overflow_TBTDCRawCont;
47 std::string m_containerKey2;
48 // TBPhase
49 std::vector<float> *m_phase;
50 std::vector<short> *m_phaseind;
51 std::vector<float> *m_dTtoWAC;
52 std::string m_containerKey3;
53 // TBEventInfo
54 std::vector<int> *m_ev_number;
55 std::vector<int> *m_ev_clock;
56 std::vector<int> *m_ev_type;
57 std::vector<unsigned int> *m_run_num;
58 std::vector<float> *m_beam_moment;
59 std::vector<std::string> *m_beam_part;
60 std::vector<float> *m_cryoX;
61 std::vector<float> *m_cryoAngle;
62 std::vector<float> *m_tableY;
63 std::string m_containerKey4;
64 // TBBPCCont
65 typedef double signal_type_TBBPCCont;
66 std::vector< signal_type_TBBPCCont > *m_xPos,*m_yPos;
67 std::vector< signal_type_TBBPCCont > *m_xErr,*m_yErr;
68 std::vector< signal_type_TBBPCCont > *m_xPulse, *m_yPulse;
69 std::vector< short > *m_hitnumber;
70 std::vector< bool > *m_xPosOverflow, *m_yPosOverflow;
71 std::vector< bool > *m_xPulseOverflow, *m_yPulseOverflow;
72 std::vector< bool > *m_overflowSetFlag;
73 std::vector< std::string > *m_tbDetectorName_TBBPCCont;
74 std::vector< bool > *m_overflow_TBBPCCont;
75 std::string m_containerKey5;
76 // TBLArDigitContainer
77 std::vector<unsigned int> *m_channelID;
78 std::vector<unsigned char> *m_gain;
79 std::vector<unsigned short> *m_nSamples;
80 std::vector<unsigned short> *m_samples;
81 std::string m_containerKey6;
82 // TBScintillatorCont
83 std::vector< float > *m_signal_scint, *m_time_signal_scint;
85 std::vector< std::string > *m_tbDetectorName_TBScintillatorCont;
86 std::vector< bool > *m_overflow_TBScintillatorCont;
87 std::string m_containerKey7;
88 // TBTailCatcher
89 std::vector< double > *m_signals;
90 std::vector< float > *m_signal_tCatch, *m_time_signal_tCatch;
92 std::vector< std::string > *m_tbDetectorName_TBTailCatcher;
93 std::vector< bool > *m_overflow_TBTailCatcher;
94 std::string m_containerKey8;
95 // TBTDC
96 std::vector< int > *m_tdc_TBTDC;
97 std::vector< int > *m_tdcmin_TBTDC;
98 std::vector< float > *m_scale_TBTDC;
99 std::vector< int > *m_phase_TBTDC;
100 std::string m_containerKey9;
101 // TBTrack
102 std::vector< int > *m_hitNumberU, *m_hitNumberV;
103 std::vector<double > *m_residualu, *m_residualv;
104 std::vector<double > *m_chi2, *m_chi2u, *m_chi2v;
105 std::vector<double > *m_angle;
106 std::vector<double > *m_uslope,*m_vslope;
107 std::vector<double > *m_uintercept, *m_vintercept;
108 std::vector< double > *m_cryou,*m_cryov,*m_cryow;
109 std::string m_containerKey10;
110 // TBTriggerPatternUnit
111 std::vector< unsigned int > *m_triggerWord;
112 std::vector<bool> *m_triggers;
113 std::string m_containerKey11;
114 // TBMWPCCont
115 std::vector < std::vector<float> > *m_cPos;
116 std::vector < std::vector<float> > *m_cErr;
117 std::vector < bool > *m_isX;
118 std::vector < std::vector<float> > *m_clusterSize_c;
119 std::vector< std::string > *m_tbDetectorName_TBMWPCCont;
120 std::vector< bool > *m_overflow_TBMWPCCont;
121 std::string m_containerKey12;
122 // {vector of vector of unsigned} instead of {vector of vector of bool}
123 std::vector < std::vector<unsigned> > *m_cPosOverflow;
124
125
126 //Private function to build names for ntuple entries. Concatinates strings
127 //but omitts characters that are problematic for root like -+:*/
128 std::string add_name(const char* base, const std::string& extension);
129
130 StatusCode CBNT_clear();
131};
132
133#endif
std::vector< signal_type_TBBPCCont > * m_yPos
std::vector< float > * m_time_signal_scint
std::vector< unsigned short > * m_samples
std::vector< signal_type_TBBPCCont > * m_xErr
std::vector< int > * m_ev_number
std::vector< bool > * m_signal_overflow_scint
virtual StatusCode CBNT_finalize()
std::vector< double > * m_cryou
std::string add_name(const char *base, const std::string &extension)
std::vector< double > * m_chi2v
std::vector< unsigned char > * m_gain
std::vector< bool > * m_underThreshold_raw
std::vector< signal_type_TBBPCCont > * m_yErr
virtual StatusCode CBNT_execute()
std::vector< unsigned int > * m_adc
std::vector< unsigned int > * m_run_num
std::vector< double > * m_residualv
std::vector< std::string > * m_tbDetectorName_TBTDCRawCont
std::vector< int > * m_phase_TBTDC
std::vector< float > * m_scale_TBTDC
std::vector< bool > * m_overflow_TBTailCatcher
std::vector< double > * m_uintercept
std::vector< std::vector< float > > * m_cErr
std::vector< float > * m_cryoX
std::vector< bool > * m_overflow_TBScintillatorCont
std::vector< signal_type_TBBPCCont > * m_yPulse
std::vector< bool > * m_overflowSetFlag
std::vector< bool > * m_overflow_TBTDCRawCont
std::vector< double > * m_uslope
std::vector< bool > * m_xPulseOverflow
std::vector< double > * m_chi2u
std::vector< short > * m_hitnumber
std::vector< int > * m_tdcmin_TBTDC
std::vector< bool > * m_yPulseOverflow
std::vector< float > * m_cryoAngle
std::vector< std::string > * m_beam_part
std::vector< signal_type_TBBPCCont > * m_xPos
std::vector< std::vector< float > > * m_clusterSize_c
std::vector< unsigned int > * m_tdc_raw
std::vector< bool > * m_isX
std::vector< std::vector< unsigned > > * m_cPosOverflow
std::vector< std::string > * m_tbDetectorName_TBMWPCCont
std::vector< double > * m_cryow
std::vector< std::string > * m_tbDetectorName_TBScintillatorCont
std::vector< bool > * m_xPosOverflow
std::vector< short > * m_phaseind
std::vector< int > * m_ev_clock
std::vector< double > * m_cryov
std::vector< std::string > * m_tbDetectorName_TBADCRawCont
std::vector< bool > * m_overflow_TBADCRawCont
std::vector< int > * m_ev_type
std::vector< int > * m_tdc_TBTDC
std::vector< double > * m_signals
std::vector< float > * m_dTtoWAC
std::vector< double > * m_angle
std::vector< float > * m_tableY
std::vector< float > * m_beam_moment
std::vector< double > * m_residualu
std::vector< std::vector< float > > * m_cPos
std::vector< bool > * m_overflow_TBBPCCont
std::vector< unsigned int > * m_triggerWord
std::vector< int > * m_hitNumberV
std::vector< double > * m_vintercept
std::vector< bool > * m_triggers
std::vector< bool > * m_signal_overflow_tCatch
std::vector< bool > * m_time_overflow_tCatch
std::vector< double > * m_chi2
virtual StatusCode CBNT_initialize()
std::vector< float > * m_phase
std::vector< bool > * m_time_overflow_scint
std::vector< unsigned int > * m_channelID
std::vector< float > * m_signal_scint
std::vector< bool > * m_yPosOverflow
std::vector< int > * m_hitNumberU
std::vector< std::string > * m_tbDetectorName_TBTailCatcher
std::vector< std::string > * m_tbDetectorName_TBBPCCont
CBNTAA_TBTPValidation(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< double > * m_vslope
std::vector< float > * m_signal_tCatch
std::vector< float > * m_time_signal_tCatch
std::vector< bool > * m_overflow_TBMWPCCont
std::vector< signal_type_TBBPCCont > * m_xPulse
std::vector< unsigned short > * m_nSamples
CBNT_TBRecBase(const std::string &name, ISvcLocator *pSvcLocator)
std::string base
Definition hcg.cxx:81