15 for (
int lay = 0; lay <
NLAYER; lay++ )
17 m_qmin[lay] =
gQmin[lay];
18 m_qmax[lay] =
gQmax[lay];
19 m_qbinw[lay] = ( m_qmax[lay] - m_qmin[lay] ) / (
double)NQBin;
22 m_fdQt =
new TFolder(
"mfdQt",
"fdQt" );
23 m_fdQ_T =
new TFolder(
"mQtPlot",
"QtPlot" );
25 hlist->Add( m_fdQ_T );
27 for (
int lay = 0; lay <
NLAYER; lay++ )
29 sprintf( hname,
"mHQ_Layer%02d", lay );
30 m_hqhit[lay] =
new TH1F( hname,
"", 1500, 0, 3000 );
31 m_fdQt->Add( m_hqhit[lay] );
33 sprintf( hname,
"mHQT_Plot_lay%02d", lay );
34 m_grqt[lay] =
new TGraphErrors();
35 m_grqt[lay]->SetName( hname );
36 m_grqt[lay]->SetMarkerStyle( 20 );
37 m_grqt[lay]->SetMarkerColor( 1 );
38 m_grqt[lay]->SetLineColor( 10 );
39 m_fdQ_T->Add( m_grqt[lay] );
41 sprintf( hname,
"mHQdelT_Plot_lay%02d", lay );
42 m_grqdt[lay] =
new TGraphErrors();
43 m_grqdt[lay]->SetName( hname );
44 m_grqdt[lay]->SetMarkerStyle( 10 );
45 m_grqdt[lay]->SetMarkerColor( 1 );
46 m_grqdt[lay]->SetLineColor( 10 );
47 m_fdQ_T->Add( m_grqdt[lay] );
51 sprintf( hname,
"mHQT_Lay%02d_Bin%02d", lay,
bin );
52 m_hqt[lay][
bin] =
new TH1F( hname,
"", 200, -1, 1 );
53 m_fdQt->Add( m_hqt[lay][
bin] );
63 TFolder* fdQt = (TFolder*)fhist->Get(
"fdQt" );
64 for (
int lay = 0; lay <
NLAYER; lay++ )
66 sprintf( hname,
"HQ_Layer%02d", lay );
67 hist = (TH1F*)fdQt->FindObjectAny( hname );
68 m_hqhit[lay]->Add( hist );
72 sprintf( hname,
"HQT_Lay%02d_Bin%02d", lay,
bin );
73 hist = (TH1F*)fdQt->FindObjectAny( hname );
74 m_hqt[lay][
bin]->Add( hist );
89 TF1* funQt =
new TF1(
"funQt",
qtFun, 200, 2000, 2 );
91 ofstream fqtlog(
"qtlog" );
92 for (
int lay = 0; lay <
NLAYER; lay++ )
96 fqtlog <<
"Layer" << lay << endl;
98 for (
int ord = 0; ord < QtOrd; ord++ ) qtini[ord] = calconst->
getQtpar( lay, ord );
101 entry = m_hqt[lay][
bin]->GetEntries();
104 deltw = m_hqt[lay][
bin]->GetMean();
105 qterr = ( m_hqt[lay][
bin]->GetRMS() ) / sqrt( (
double)entry );
111 qbcen = ( (double)
bin + 0.5 ) * m_qbinw[lay] + m_qmin[lay];
114 tw = qtini[1] / sqrt( qbcen ) + qtini[0] + deltw;
116 m_grqt[lay]->SetPoint(
bin, qbcen, tw );
117 m_grqt[lay]->SetPointError(
bin, 0, qterr );
119 m_grqdt[lay]->SetPoint(
bin, qbcen, deltw );
120 m_grqdt[lay]->SetPointError(
bin, 0, qterr );
122 fqtlog << setw( 3 ) <<
bin << setw( 12 ) << deltw << setw( 12 ) << tw << setw( 12 )
123 << qbcen << setw( 12 ) << qterr << endl;
126 m_grqt[lay]->Fit(
"funQt",
"Q+",
"", m_qmin[lay], m_qmax[lay] );
129 for (
int ord = 0; ord < QtOrd; ord++ )
131 qtpar = funQt->GetParameter( ord );
132 qterr = funQt->GetParError( ord );
135 fqtlog << setw( 12 ) << qtpar << setw( 12 ) << qterr << endl;
144 Double_t tw = par[1] / sqrt( x[0] ) + par[0];
148void QtCalib::renameHist() {
150 m_fdQt->SetName(
"fdQt" );
151 m_fdQ_T->SetName(
"QtPlot" );
152 for (
int lay = 0; lay <
NLAYER; lay++ )
154 sprintf( hname,
"HQ_Layer%02d", lay );
155 m_hqhit[lay]->SetName( hname );
157 sprintf( hname,
"HQT_Plot_lay%02d", lay );
158 m_grqt[lay]->SetName( hname );
160 sprintf( hname,
"HQdelT_Plot_lay%02d", lay );
161 m_grqdt[lay]->SetName( hname );
165 sprintf( hname,
"HQT_Lay%02d_Bin%02d", lay,
bin );
166 m_hqt[lay][
bin]->SetName( hname );
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)
*******INTEGER m_nBinMax INTEGER m_NdiMax !No of bins in histogram for cell exploration division $ !Last vertex $ !Last active cell $ !Last cell in buffer $ !No of sampling when dividing cell $ !No of function total $ !Flag for random ceel for $ !Flag for type of for WtMax $ !Flag which decides whether vertices are included in the sampling $ entire domain is hyp !Maximum effective eevents per bin
virtual void init(TObjArray *hlist, MdcCosGeom *pGeom)=0
virtual void mergeHist(TFile *fhist)=0
virtual void calib(MdcCalibConst *calconst, TObjArray *newXtList, TObjArray *r2tList)=0
double getQtpar(int lay, int order) const
void resetQtpar(int lay, int order, double val)
void calib(MdcCalibConst *calconst, TObjArray *newXtList, TObjArray *r2tList)
static Double_t qtFun(Double_t *x, Double_t *par)
void init(TObjArray *hlist, MdcCosGeom *pGeom)
void mergeHist(TFile *fhist)