1#include "CalibData/Mdc/MdcCalibData.h"
3#include "GaudiKernel/MsgStream.h"
8 newXtTreesArray = NULL;
10 for (
int layid = 0; layid < 43; layid++ )
13 for (
int entr = 0; entr < 18; entr++ )
15 for (
int lr = 0; lr < 2; lr++ ) { m_newxt[layid][entr][lr] = NULL; }
21 for (
int layid = 0; layid < 43; layid++ )
24 for (
int entr = 0; entr < 18; entr++ )
26 for (
int lr = 0; lr < 2; lr++ )
28 if ( m_newxt[layid][entr][lr] != NULL )
delete m_newxt[layid][entr][lr];
32 if ( newXtTreesBuf != NULL ) newXtTreesBuf->Clear();
33 if ( r2tTreesBuf != NULL ) r2tTreesBuf->Clear();
34 if ( newXtTreesArray != NULL )
delete newXtTreesArray;
35 if ( r2tTreesArray != NULL )
delete r2tTreesArray;
41 <<
"here is the update in the MdcCalConst" << std::endl;
44 m_xtmap = other1.m_xtmap;
46 m_delt0 = other1.m_delt0;
47 m_qtpar0 = other1.m_qtpar0;
48 m_qtpar1 = other1.m_qtpar1;
49 m_sdmap = other1.m_sdmap;
50 return StatusCode::SUCCESS;
54 m_xtmap.insert(
valType(
int( xtkey ), val ) );
59 TBufferFile* tempBuf =
new TBufferFile( TBuffer::kWrite );
60 newXtTrees->Streamer( *tempBuf );
63 newXtTreesBuf =
new TBufferFile( TBuffer::kRead );
64 newXtTreesBuf->SetBuffer( tempBuf->Buffer(), tempBuf->BufferSize() );
66 newXtTreesArray =
new TObjArray();
67 newXtTreesArray->Streamer( *newXtTreesBuf );
68 for (
int layid = 0; layid < 43; layid++ )
70 for (
int entr = 0; entr < 18; entr++ )
72 for (
int lr = 0; lr < 2; lr++ )
74 char newXtTreeName[20];
75 sprintf( newXtTreeName,
"trNewXt%02d_%02d_%d", layid, entr, lr );
76 m_newxt[layid][entr][lr] = (TTree*)newXtTreesArray->FindObject( newXtTreeName );
86 TBufferFile* tempBuf =
new TBufferFile( TBuffer::kWrite );
87 r2tTrees->Streamer( *tempBuf );
90 r2tTreesBuf =
new TBufferFile( TBuffer::kRead );
91 r2tTreesBuf->SetBuffer( tempBuf->Buffer(), tempBuf->BufferSize() );
93 r2tTreesArray =
new TObjArray();
94 r2tTreesArray->Streamer( *r2tTreesBuf );
95 for (
int layid = 0; layid < 43; layid++ )
98 sprintf( r2tTreeName,
"r2t%02d", layid );
99 m_r2t[layid] = (TTree*)r2tTreesArray->FindObject( r2tTreeName );
113 m_sdmap.insert(
valType(
int( sdkey ), val ) );
118 double xtpar = -999.0;
120 if ( 1 == m_xtmap.count(
key ) ) xtpar = m_xtmap[
key];
127 return m_newxt[layid][entr][lr];
135 double sdpar = -999.0;
137 if ( 1 == m_sdmap.count(
key ) ) {
return m_sdmap[
key]; }
146 key = ( ( layid << XTLAYER_INDEX ) & XTLAYER_MASK ) |
147 ( ( entr << XTENTRA_INDEX ) & XTENTRA_MASK ) | ( ( lr << XTLR_INDEX ) & XTLR_MASK ) |
148 ( ( order << XTORDER_INDEX ) & XTORDER_MASK );
157 key = ( ( layid << SDLAYER_INDEX ) & SDLAYER_MASK ) |
158 ( ( entr << SDENTRA_INDEX ) & SDENTRA_MASK ) | ( ( lr << SDLR_INDEX ) & SDLR_MASK ) |
159 ( (
bin << SDBIN_INDEX ) & SDBIN_MASK );
167 if ( m_xtiter != m_xtmap.end() )
169 key = ( *m_xtiter ).first;
170 xtpar = ( *m_xtiter ).second;
180 if ( m_sditer != m_sdmap.end() )
182 key = ( *m_sditer ).first;
183 sdpar = ( *m_sditer ).second;
std::map< int, double >::value_type valType
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
*************DOUBLE PRECISION m_pi *DOUBLE PRECISION m_HvecTau2 DOUBLE PRECISION m_HvClone2 DOUBLE PRECISION m_gamma1 DOUBLE PRECISION m_gamma2 DOUBLE PRECISION m_thet1 DOUBLE PRECISION m_thet2 INTEGER m_IFPHOT *COMMON c_Taupair $ !Spin Polarimeter vector first Tau $ !Spin Polarimeter vector second Tau $ !Clone Spin Polarimeter vector first Tau $ !Clone Spin Polarimeter vector second Tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning st tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !Random Euler angle for cloning nd tau $ !phi of HvecTau1 $ !theta of HvecTau1 $ !phi of HvecTau2 $ !theta of HvecTau2 $ !super key
virtual StatusCode update(CalibBase1 &obj, MsgStream *)
void setR2tpar(TObjArray *r2tTrees)
void setQtpar1(double val)
void setXtpar(int xtkey, double val)
void setNewXtpar(TObjArray *newXtTrees)
int getNextXtpar(int &key, double &xtpar)
virtual StatusCode update(CalibBase1 &other, MsgStream *log)
double getXtpar(int layid, int entr, int lr, int order)
TTree * getR2tpar(int layid)
void setSdpar(int sdkey, double val)
void setDelT0(double val)
double getSdpar(int layid, int entr, int lr, int bin)
int getXtKey(int layid, int entr, int lr, int order)
int getNextSdpar(int &key, double &sdpar)
int getSdKey(int layid, int entr, int lr, int bin)
TTree * getNewXtpar(int layid, int entr, int lr)
void setQtpar0(double val)