BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
calib_barrel_sigma Class Reference

#include <calib_barrel_sigma.h>

Inheritance diagram for calib_barrel_sigma:

Public Member Functions

 calib_barrel_sigma (const unsigned int nzbin)
 ~calib_barrel_sigma ()
void calculate (RecordSet *&data, unsigned int icounter)
Public Member Functions inherited from TofCalibFit
 TofCalibFit (bool isbarrel, const int npar)
 ~TofCalibFit ()
const std::string & name () const
void fillTxt (const char *file)
void fillRoot (const char *file)
HepVector tcorrelation ()
void setTCorrelation (HepVector tc)

Additional Inherited Members

Protected Attributes inherited from TofCalibFit
int m_npar
unsigned int nKind
unsigned int nBinPerCounter
unsigned int nHistPerCounter
unsigned int nCanvasPerCounter
std::vector< unsigned int > nGraphPerCanvasPerCounter
unsigned int nHistogram
unsigned int nCanvas
std::vector< unsigned int > nGraphPerCanvas
string m_name
HepVector X
std::vector< TH1F * > m_histograms
std::vector< TH1F * > m_graphs
std::vector< HepVector > m_result
std::vector< string > CanvasPerCounterName
std::vector< string > CanvasName
HepVector m_tcorrelation

Detailed Description

Definition at line 10 of file calib_barrel_sigma.h.

Constructor & Destructor Documentation

◆ calib_barrel_sigma()

calib_barrel_sigma::calib_barrel_sigma ( const unsigned int nzbin)

Definition at line 23 of file calib_barrel_sigma.cxx.

24 : TofCalibFit( true, nBarrelSigma ) {
25
26 nKind = 5; // 0:tleft, 1:tright, 2:t0, 3:tplus, 4:tminus
27 nBinPerCounter = nzbin;
28
31 CanvasPerCounterName.push_back( static_cast<string>( "Barrel-offset" ) );
32 CanvasPerCounterName.push_back( static_cast<string>( "Offset-TimeCorrelation" ) );
33 CanvasPerCounterName.push_back( static_cast<string>( "Barrel-sigma" ) );
34 CanvasPerCounterName.push_back( static_cast<string>( "Sigma-TimeCorrelation" ) );
35 nGraphPerCanvasPerCounter.push_back( 3 );
36 nGraphPerCanvasPerCounter.push_back( 2 );
37 nGraphPerCanvasPerCounter.push_back( 3 );
38 nGraphPerCanvasPerCounter.push_back( 3 );
39
40 nHistogram = 0;
41 nCanvas = 0;
42
43 int numGraphs = 0;
44 std::vector<unsigned int>::iterator iter = nGraphPerCanvasPerCounter.begin();
45 for ( ; iter != nGraphPerCanvasPerCounter.end(); iter++ )
46 { numGraphs = numGraphs + ( *iter ); }
47 if ( numGraphs != nGraphTotalSigma )
48 {
49 cout << "tofcalgsec::calib_barrel_sigma: the number of Graphs is NOT reasonable!!!"
50 << endl;
51 exit( 0 );
52 }
53
54 m_name = string( "calib_barrel_sigma" );
55
56 const int tbin = 150;
57 const double tbegin = -1.5;
58 const double tend = 1.5;
59
60 // histograms per counter
61 char hname[256];
62 for ( unsigned int i = 0; i < NBarrel; i++ )
63 {
64 m_result.push_back( HepVector( nBarrelSigma, 0 ) );
65 for ( unsigned int j = 0; j < nKind; j++ )
66 {
67 for ( unsigned int k = 0; k < nBinPerCounter; k++ )
68 {
69 if ( j == 0 ) { sprintf( hname, "tleft-id%i-z%i", i, k ); }
70 else if ( j == 1 ) { sprintf( hname, "tright-id%i-z%i", i, k ); }
71 else if ( j == 2 ) { sprintf( hname, "t0-id%i-z%i", i, k ); }
72 else if ( j == 3 ) { sprintf( hname, "tplus-id%i-z%i", i, k ); }
73 else if ( j == 4 ) { sprintf( hname, "tminus-id%i-z%i", i, k ); }
74 m_histograms.push_back( new TH1F( hname, hname, tbin, tbegin, tend ) );
75
76 m_fitresult.push_back( HepVector( nParSigma, 0 ) );
77 }
78 }
79 }
80
81 zpos.resize( nBinPerCounter );
82 zposerr.resize( nBinPerCounter );
83 zstep = ( zend - zbegin ) / nBinPerCounter;
84 for ( unsigned int i = 0; i < nBinPerCounter; i++ )
85 {
86 zpos[i] = zbegin + ( i + 0.5 ) * zstep;
87 zposerr[i] = 0.5 * zstep;
88 }
89}
sprintf(cut, "kal_costheta0_em>-0.93&&kal_costheta0_em<0.93&&kal_pxy0_em>=0.05+%d*0.1&&kal_" "pxy0_em<0.15+%d*0.1&&NGch>=2", j, j)
EvtStreamInputIterator< typename Generator::result_type > iter(Generator gen, int N=0)
const double zend
Definition TofCalibFit.h:13
const double zbegin
Definition TofCalibFit.h:12
const unsigned int NBarrel
Definition TofDataSet.h:12
const int nParSigma
const int nBarrelSigma
const int nGraphTotalSigma
string m_name
Definition TofCalibFit.h:50
std::vector< HepVector > m_result
Definition TofCalibFit.h:55
unsigned int nCanvas
Definition TofCalibFit.h:47
std::vector< TH1F * > m_histograms
Definition TofCalibFit.h:53
unsigned int nBinPerCounter
Definition TofCalibFit.h:41
unsigned int nKind
Definition TofCalibFit.h:40
std::vector< unsigned int > nGraphPerCanvasPerCounter
Definition TofCalibFit.h:45
unsigned int nCanvasPerCounter
Definition TofCalibFit.h:44
unsigned int nHistPerCounter
Definition TofCalibFit.h:43
unsigned int nHistogram
Definition TofCalibFit.h:46
TofCalibFit(bool isbarrel, const int npar)
std::vector< string > CanvasPerCounterName
Definition TofCalibFit.h:57

◆ ~calib_barrel_sigma()

calib_barrel_sigma::~calib_barrel_sigma ( )

Definition at line 91 of file calib_barrel_sigma.cxx.

91 {
92 m_fitresult.clear();
93 zpos.clear();
94 zposerr.clear();
95}

Member Function Documentation

◆ calculate()

void calib_barrel_sigma::calculate ( RecordSet *& data,
unsigned int icounter )
virtual

Implements TofCalibFit.

Definition at line 97 of file calib_barrel_sigma.cxx.

97 {
98
99 std::cout << setiosflags( ios::left ) << setw( 10 ) << icounter << setw( 8 ) << data->size()
100 << setw( 30 ) << name() << std::endl;
101
102 if ( data->size() > 0 )
103 {
104 std::vector<Record*>::iterator iter = data->begin();
105 for ( ; iter != data->end(); iter++ ) { fillRecord( ( *iter ), icounter ); }
106 }
107 fitHistogram( icounter );
108 fillGraph( icounter );
109 fitGraph( icounter );
110
111 if ( data->size() > 0 )
112 {
113 std::vector<Record*>::iterator iter = data->begin();
114 for ( ; iter != data->end(); iter++ )
115 {
116 updateData( ( *iter ), icounter );
117 fillRecordT0( ( *iter ), icounter );
118 }
119 }
120 fitHistogramT0( icounter );
121 fillGraphT0( icounter );
122 fitGraphT0( icounter );
123
124 return;
125}
TTree * data
const std::string & name() const
Definition TofCalibFit.h:27

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