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

#include <calib_endcap_sigma.h>

Inheritance diagram for calib_endcap_sigma:

Public Member Functions

 calib_endcap_sigma (const unsigned int nrbin)
 ~calib_endcap_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_endcap_sigma.h.

Constructor & Destructor Documentation

◆ calib_endcap_sigma()

calib_endcap_sigma::calib_endcap_sigma ( const unsigned int nrbin)

Definition at line 4 of file calib_endcap_sigma.cxx.

5 : TofCalibFit( false, nEndcapSigma ) {
6
7 nKind = 1; // 0:tleft
8 nBinPerCounter = nrbin;
9
12 CanvasPerCounterName.push_back( static_cast<string>( "Endcap-offset" ) );
13 CanvasPerCounterName.push_back( static_cast<string>( "Endcap-sigma" ) );
14
15 nGraphPerCanvasPerCounter.push_back( 1 );
16 nGraphPerCanvasPerCounter.push_back( 1 );
17
18 nHistogram = 0;
19 nCanvas = 0;
20
21 int numGraphs = 0;
22 std::vector<unsigned int>::iterator iter = nGraphPerCanvasPerCounter.begin();
23 for ( ; iter != nGraphPerCanvasPerCounter.end(); iter++ )
24 { numGraphs = numGraphs + ( *iter ); }
25 if ( numGraphs != nGraphEcSigma )
26 {
27 cout << "tofcalgsec::calib_endcap_sigma: the number of Graphs is NOT reasonable!!!"
28 << endl;
29 exit( 0 );
30 }
31
32 m_name = string( "calib_endcap_sigma" );
33
34 const int tbin = 150;
35 const double tbegin = -1.5;
36 const double tend = 1.5;
37
38 // histograms per counter
39 char hname[256];
40 for ( unsigned int i = 0; i < NEndcap; i++ )
41 {
42 m_result.push_back( HepVector( nEndcapSigma, 0 ) );
43 for ( unsigned int j = 0; j < nKind; j++ )
44 {
45 for ( unsigned int k = 0; k < nBinPerCounter; k++ )
46 {
47 sprintf( hname, "tleft-tofid%i-r%i", i, k );
48 m_histograms.push_back( new TH1F( hname, hname, tbin, tbegin, tend ) );
49
50 m_fitresult.push_back( HepVector( nParEcSigma, 0 ) );
51 }
52 }
53 }
54
55 rpos.resize( nBinPerCounter );
56 rposerr.resize( nBinPerCounter );
57 rstep = ( rtofend - rtofbegin ) / nBinPerCounter;
58 for ( unsigned int i = 0; i < nBinPerCounter; i++ )
59 {
60 rpos[i] = rtofbegin + ( i + 0.5 ) * rstep;
61 rposerr[i] = 0.5 * rstep;
62 }
63}
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 rtofend
Definition TofCalibFit.h:17
const double rtofbegin
Definition TofCalibFit.h:16
const unsigned int NEndcap
Definition TofDataSet.h:13
const int nGraphEcSigma
const int nParEcSigma
const int nEndcapSigma
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_endcap_sigma()

calib_endcap_sigma::~calib_endcap_sigma ( )

Definition at line 65 of file calib_endcap_sigma.cxx.

65 {
66 m_fitresult.clear();
67 rpos.clear();
68 rposerr.clear();
69}

Member Function Documentation

◆ calculate()

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

Implements TofCalibFit.

Definition at line 71 of file calib_endcap_sigma.cxx.

71 {
72
73 std::cout << setiosflags( ios::left ) << setw( 10 ) << icounter << setw( 8 ) << data->size()
74 << setw( 30 ) << name() << std::endl;
75
76 if ( data->size() > 0 )
77 {
78 std::vector<Record*>::iterator iter = data->begin();
79 for ( ; iter != data->end(); iter++ ) { fillRecord( ( *iter ), icounter ); }
80 }
81 fitHistogram( icounter );
82 fillGraph( icounter );
83 fitGraph( icounter );
84
85 return;
86}
TTree * data
const std::string & name() const
Definition TofCalibFit.h:27

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