Skip to content

Commit b680c62

Browse files
akanuganAnkush Kanuganti
andauthored
Embedding pp510 setup (#767)
- This PR is from Xianglei to the tpc calibration for the pp510 embedding setup. - Has to be back ported to SL20c Co-authored-by: Ankush Kanuganti <[email protected]>
1 parent aa0799b commit b680c62

File tree

1 file changed

+141
-0
lines changed

1 file changed

+141
-0
lines changed
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
// $Id: TpcResponseSimulator.20161220.000001.C,v 1.1 2020/03/18 20:10:35 iraklic Exp $
2+
// $Log: TpcResponseSimulator.20161220.000001.C,v $
3+
// Revision 1.1 2020/03/18 20:10:35 iraklic
4+
// new Run17 params and Run18 params after separating sector20 from the rest
5+
//
6+
// Revision 1.3 2018/12/09 23:21:53 fisyak
7+
// Adjust TpcRS parameters
8+
//
9+
// Revision 1.2 2018/12/03 22:42:18 fisyak
10+
// Adjust gains in Simulation
11+
//
12+
// Revision 1.1 2017/02/07 16:58:37 fisyak
13+
// Clean up
14+
//
15+
// Revision 1.1 2016/09/19 12:25:07 fisyak
16+
// Set/ReSet default values
17+
//
18+
// Revision 1.1 2014/01/27 14:35:11 fisyak
19+
// Add y2014 simulation (ideal) tables for y2014
20+
//
21+
// Revision 1.1 2014/01/09 23:15:10 fisyak
22+
// Run XIII, pp500p1
23+
//
24+
// Revision 1.3 2013/11/08 16:18:25 fisyak
25+
// T0 instruction
26+
//
27+
// Revision 1.2 2013/02/01 15:58:51 fisyak
28+
// Add handle for separate Inner and Outer sector time off set
29+
//
30+
// Revision 1.1 2012/04/03 14:06:55 fisyak
31+
// Speed up using GetSaveL (__PAD_BLOCK__), sluggish shape histograms, Heed electron generation
32+
//
33+
// Revision 1.7 2012/04/03 14:06:55 fisyak
34+
// Speed up using GetSaveL (__PAD_BLOCK__), sluggish shape histograms, Heed electron generation
35+
//
36+
// Revision 1.6 2012/01/18 13:57:57 fisyak
37+
// Adjust T0offset : Xianglei Zhu from Run 11 AuAu 27 & 19.6 GeV embedding
38+
//
39+
// Revision 1.5 2011/12/30 00:04:01 fisyak
40+
// Freeze parameters for y2011 base on TpcRS_2011_pp500LowLum_Q
41+
//
42+
// Revision 1.3 2011/10/11 19:09:23 fisyak
43+
// Add Yi Guo's tables for Run XI AuAu200 RFF dE/dx calibration
44+
//
45+
// Revision 1.2 2010/10/28 23:41:54 fisyak
46+
// extra t0 off set for Altro chip
47+
//
48+
// Revision 1.7 2010/06/14 23:36:08 fisyak
49+
// Freeze version V
50+
//
51+
// Revision 1.6 2010/05/24 21:39:53 fisyak
52+
// Fix bracket
53+
//
54+
// Revision 1.5 2010/05/24 16:07:20 fisyak
55+
// Add default dE/dx calibration tables, replace TpcAltroParameters and asic_thresholds_tpx by tpcAltroParams
56+
//
57+
// Revision 1.4 2010/04/19 15:05:58 fisyak
58+
// Final (2010_i) parameters for Run X
59+
//
60+
// Revision 1.3 2010/04/16 19:31:19 fisyak
61+
// Intermidiate version
62+
//
63+
// Revision 1.3 2010/04/04 23:14:33 fisyak
64+
// Add Row Correction
65+
//
66+
// Revision 1.2 2010/04/01 22:17:57 fisyak
67+
// Freeze version W
68+
//
69+
TDataSet *CreateTable() {
70+
// -----------------------------------------------------------------
71+
// db/.const/StarDb/Calibrations/tpc/.TpcResponseSimulator/TpcResponseSimulator Allocated rows: 1 Used rows: 1 Row size: 124 bytes
72+
// Table: TpcResponseSimulator_st[0]--> TpcResponseSimulator_st[0]
73+
// ====================================================================
74+
// ------ Test whether this table share library was loaded ------
75+
if (!TClass::GetClass("St_TpcResponseSimulator")) return 0;
76+
TpcResponseSimulator_st row;
77+
St_TpcResponseSimulator *tableSet = new St_TpcResponseSimulator("TpcResponseSimulator",1);
78+
memset(&row,0,tableSet->GetRowSize());
79+
row.I0 = 13.1;// eV, CH4
80+
row.Cluster = 3.2; // average no. of electrons per primary
81+
row.W = 26.2;// eV
82+
row.OmegaTau = 3.02;// fit of data
83+
row.K3IP = 0.68;//(pads) for a/s = 2.5e-3 and h/s = 0.5
84+
row.K3IR = 0.89;//(row) for a/s = 2.5e-3 and h/s = 0.5
85+
row.K3OP = 0.55;//(pads) for a/s = 2.5e-3 and h/s = 1.0
86+
row.K3OR = 0.61;//(row) for a/s = 2.5e-3 and h/s = 1.0
87+
row.FanoFactor = 0.3; //
88+
row.AveragePedestal = 50.0;//
89+
row.AveragePedestalRMS = 1.4; // Old Tpc electronics
90+
row.AveragePedestalRMSX = 0.7; // New Tpx electronics
91+
row.tauIntegration = 2.5*74.6e-9;// secs
92+
row.tauF = 394.0e-9;// secs Tpc
93+
row.tauP = 775.0e-9;// secs Tpc
94+
row.tauXI = 60.0e-9;// secs Tpx Inner integration time
95+
row.tauXO = 74.6e-9;// secs Tpx Outer integration time
96+
row.tauCI = 0;
97+
row.tauCO = 0;
98+
row.SigmaJitterTI = 0.53;// 0.4317;// 0.25;//ad 0.0;// b for Tpx inner
99+
row.SigmaJitterTO = 0.33;// 0.4300;// E: 0.4801;//0.25;//ad 0.0;// b for Tpx outer
100+
row.SigmaJitterXI = 0;// 0.1027785; // P: 0.1353*1.05/1.10; //O: 0.1353*1.05;// N: 0.1353; // C:0.;
101+
row.SigmaJitterXO = 0;// 0.107525; // P: 0.1472*1.05/1.03; //O: 0.1472*1.05;// N: 0.1472; // C:0.;
102+
row.longitudinalDiffusion = 0.03624; // Magboltz // HD 0.03624*1.5; //HC 0.03624; // Magboltz
103+
row.transverseDiffusion = 0.02218*TMath::Sqrt(1 + row.OmegaTau*row.OmegaTau) ; // Magboltz
104+
row.NoElPerAdc = 335.; // No. of electrons per 1 ADC count
105+
row.OmegaTauScaleI = 2.145*1.515;// HC 1.;// 2.145*1.515; //i; 2.145*1.4; //h 2.145; //ad 2.145*1.25; //b effective reduction of OmegaTau near Inner sector anode wire
106+
row.OmegaTauScaleO = 1.8 *1.201; //HC 1.;// 1.8 *1.201; //i 1.8 *1.1; //h 1.8; //ad 1.8 *1.25; //b effective reduction of OmegaTau near Outer sector anode wire
107+
// Inner_wire_to_plane_coupling ( 0.533 ) * Inner_wire_to_plane_couplingScale ( 0.843485 )
108+
// Outer_wire_to_plane_coupling ( 0.512 ) * Outer_wire_to_plane_couplingScale ( 0.725267 )
109+
row.SecRowCorIW[0] = row.SecRowCorIE[0] = 6.99114715017355337e-01 + 3.64059e-02 +2.08149e-02 - 0.035 - 0.015;//- TMath::Log(0.533*0.843485) -5.84129e-01 + 4.52885e-01 + 3.09117e-02; // IRAKLI : adding -0.035
110+
row.SecRowCorIW[1] = row.SecRowCorIE[1] = 3.02959e-03 +1.11576e-03;
111+
row.SecRowCorOW[0] = row.SecRowCorOE[0] = 9.79357470004933006e-01 + 8.13816e-02 +2.57211e-02;//- TMath::Log(0.512*0.725267) -5.47141e-01 + 5.23937e-01 + 1.19154e-02;
112+
row.SecRowCorOW[1] = row.SecRowCorOE[1] = -2.14501e-04;
113+
// SecRow3CGFdaq_2011_pp500LowLum => Inner: 3.26428e-01 - -5.01720e-04*y; Outer: 2.68883e-01 + 1.23403e-04*y
114+
// 3.22907e-01 2.72715e-01
115+
// SecRow3CGFTpcRS_2011_pp500LowLum_f : 3.09711e-01 2.65342e-01
116+
// diff : 9.13675e-02 6.29849e-02
117+
// SecRow3CGFTpcRS_2011_pp500LowLum_g : 3.12857e-01 2.67379e-01
118+
const Double_t RowSigmaTrs[4] = {
119+
9.13675e-02, 0, // Inner
120+
6.29849e-02, 0}; // Outer
121+
Float_t *b = &row.SecRowSigIW[0];
122+
for (Int_t i = 0; i < 8; i++) {
123+
b[i] = RowSigmaTrs[i%4];
124+
}
125+
row.PolyaInner = 1.38;
126+
row.PolyaOuter = 1.38;
127+
// row.T0offset = 0.50; // From Lokesh Kumar for Run X
128+
// TpcT->Draw("fMcHit.mMcl_t+0.165*Frequency-fRcHit.mMcl_t/64:fMcHit.mPosition.mX3>>T(210,-210,210,100,-2,3)","fNoMcHit==1&&fNoRcHit==1&&fRcHit.mQuality>90","colz")
129+
// TpcT->Draw("fMcHit.mPosition.mX3-fRcHit.mPosition.mX3:fMcHit.mPosition.mX3>>Z(210,-210,210,100,-2,3)","fNoMcHit==1&&fNoRcHit==1&&fRcHit.mQuality>90","colz")
130+
// The corection has to be added M P
131+
//row.T0offset = 0.50 + 1.65431e-01 - 3.45247e-01 -1.54583e+00 -2.90686e-03+ 1.54353e+00 + 0.0191135 -1.20938e-03 ; //E
132+
row.T0offset = 0.50 -1.43663e-01;//g // 01/18/12 Xianglei Zhu from Run 11 AuAu 27 & 19.6 GeV embedding
133+
// root.exe T0offset.C
134+
// TI->FitSlicesY(); TI_1->Fit("pol2","er","",-100,100);
135+
row.T0offsetI = 1.17437e-01 + 8.43584e-03 + 0.014; // Irakli : added last value
136+
// TO->FitSlicesY(); TO_1->Fit("pol2","er","",-100,100);
137+
row.T0offsetO = -9.36725e-03 + 5.74947e-03 + 0.037; // Irakli : added last valiu
138+
tableSet->AddAt(&row);
139+
// ----------------- end of code ---------------
140+
return (TDataSet *)tableSet;
141+
}

0 commit comments

Comments
 (0)