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

#include <calib_etf_bunch.h>

Inheritance diagram for calib_etf_bunch:

Public Member Functions

 calib_etf_bunch (const unsigned int nbunch)
 ~calib_etf_bunch ()
void calculate (RecordSet *&data, unsigned int ibunch)
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 9 of file calib_etf_bunch.h.

Constructor & Destructor Documentation

◆ calib_etf_bunch()

calib_etf_bunch::calib_etf_bunch ( const unsigned int nbunch)

Definition at line 4 of file calib_etf_bunch.cxx.

5 : TofCalibFit( true, nParEtfBunch ) {
6
7 nKind = nbunch;
9
13 nCanvas = 8;
14 CanvasName.push_back( static_cast<string>( "Offset-bunch0" ) );
15 CanvasName.push_back( static_cast<string>( "Offset-bunch1" ) );
16 CanvasName.push_back( static_cast<string>( "Offset-bunch2" ) );
17 CanvasName.push_back( static_cast<string>( "Offset-bunch3" ) );
18 CanvasName.push_back( static_cast<string>( "Sigma-bunch0" ) );
19 CanvasName.push_back( static_cast<string>( "Sigma-bunch1" ) );
20 CanvasName.push_back( static_cast<string>( "Sigma-bunch2" ) );
21 CanvasName.push_back( static_cast<string>( "Sigma-bunch3" ) );
22
23 nGraphPerCanvas.push_back( 1 );
24 nGraphPerCanvas.push_back( 1 );
25 nGraphPerCanvas.push_back( 1 );
26 nGraphPerCanvas.push_back( 1 );
27 nGraphPerCanvas.push_back( 1 );
28 nGraphPerCanvas.push_back( 1 );
29 nGraphPerCanvas.push_back( 1 );
30 nGraphPerCanvas.push_back( 1 );
31
32 int numGraphs = 0;
33 std::vector<unsigned int>::iterator iter = nGraphPerCanvas.begin();
34 for ( ; iter != nGraphPerCanvas.end(); iter++ ) { numGraphs = numGraphs + ( *iter ); }
35 if ( numGraphs != nGraphTotalBunch )
36 {
37 cout << "tofcalgsec::calib_barrel_common: the number of Graphs is NOT reasonable!!!"
38 << endl;
39 exit( 0 );
40 }
41
42 m_name = string( "calib_etf_bunch" );
43
44 const int tbin = 160;
45 const double tbegin = -0.8;
46 const double tend = 0.8;
47
48 char hname[256];
49 // histograms
50 for ( unsigned int j = 0; j < 4; j++ )
51 {
52 for ( unsigned int k = 0; k < nBinPerCounter; k++ )
53 {
54 if ( k == 0 ) { sprintf( hname, "tleft-bunch%i", j ); }
55 else if ( k == 1 ) { sprintf( hname, "tright-bunch%i", j ); }
56 else if ( k == 2 ) { sprintf( hname, "tcombine-bunch%i", j ); }
57 m_fitresult.push_back( HepVector( nParEtfBunch, 0 ) );
58 m_histograms.push_back( new TH1F( hname, hname, tbin, tbegin, tend ) );
59 }
60 }
61 m_fitresult.push_back( HepVector( nParEtfBunch, 0 ) );
62
63 modpos.resize( nBinPerCounter );
64 modposerr.resize( nBinPerCounter );
65 for ( unsigned int i = 0; i < nBinPerCounter; i++ )
66 {
67 modpos[i] = 1.0 * i;
68 modposerr[i] = 0.5;
69 }
70
71 return;
72}
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 int nParEtfBunch
const int nGraphTotalBunch
string m_name
Definition TofCalibFit.h:50
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
unsigned int nCanvasPerCounter
Definition TofCalibFit.h:44
unsigned int nHistPerCounter
Definition TofCalibFit.h:43
std::vector< unsigned int > nGraphPerCanvas
Definition TofCalibFit.h:48
std::vector< string > CanvasName
Definition TofCalibFit.h:58
unsigned int nHistogram
Definition TofCalibFit.h:46
TofCalibFit(bool isbarrel, const int npar)

◆ ~calib_etf_bunch()

calib_etf_bunch::~calib_etf_bunch ( )

Definition at line 74 of file calib_etf_bunch.cxx.

74 {
75 m_fitresult.clear();
76 modpos.clear();
77 modposerr.clear();
78}

Member Function Documentation

◆ calculate()

void calib_etf_bunch::calculate ( RecordSet *& data,
unsigned int ibunch )
virtual

Implements TofCalibFit.

Definition at line 80 of file calib_etf_bunch.cxx.

80 {
81
82 std::cout << setiosflags( ios::left ) << setw( 10 ) << icounter << setw( 8 ) << data->size()
83 << setw( 30 ) << name() << std::endl;
84
85 if ( data->size() > 0 )
86 {
87 std::vector<Record*>::iterator iter = data->begin();
88 for ( ; iter != data->end(); iter++ ) { fillRecord( ( *iter ) ); }
89 }
90
91 if ( icounter == ( NEtf * NStrip - 1 ) )
92 {
93 fitHistogram();
94 fillGraph();
95 fitGraph();
96 }
97
98 return;
99}
TTree * data
const unsigned int NStrip
Definition TofDataSet.h:15
const unsigned int NEtf
Definition TofDataSet.h:14
const std::string & name() const
Definition TofCalibFit.h:27

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