48 gRandom->SetSeed(
fSeed);
58 double min=0,
max=4.5,mdf=2.0;
59 double min2=0.13,max2=0.15;
60 double min3=1.,max3=1.5;
62 double minchi = -0.05;
67 double angdiffran=0.05;
71 fHVtxDiffX=
new TH1F(
"hvtxDiffx",
"Vertex Smearing;(x_{mc}-x)/cm",bins,-vrange,vrange);
72 fHVtxDiffY=
new TH1F(
"hvtxDiffy",
"Vertex Smearing;(y_{mc}-y)/cm",bins,-vrange,vrange);
73 fHVtxDiffZ=
new TH1F(
"hvtxDiffz",
"Vertex Smearing;(z_{mc}-z)/cm",bins,-vrange,vrange);
75 fHVtxDiffPX=
new TH1F(
"hvtxdiffpx",
"Momentum reco;(p_{x,mc}-p_{x} / GeV/c)",bins,-momrange,momrange);
76 fHVtxDiffPY=
new TH1F(
"hvtxdiffpy",
"Momentum reco;(p_{y,mc}-p_{y} / GeV/c)",bins,-momrange,momrange);
77 fHVtxDiffPZ=
new TH1F(
"hvtxdiffpz",
"Momentum reco;(p_{z,mc}-p_{z}) / GeV/c",bins,-momrange,momrange);
78 fHVtxDiffE=
new TH1F(
"hvtxdiffe",
"Energy reco;(E_{mc}-E) / GeV",bins,-momrange,momrange);
80 fHVtxPullPX=
new TH1F(
"hvtxpullpx",
"Momentum pull distribution reco;(p_{x,mc}-p_{x})/#sigma_{p_{x}}",bins,-pullrange,pullrange);
81 fHVtxPullPY=
new TH1F(
"hvtxpullpy",
"Momentum pull distribution reco;(p_{y,mc}-p_{y})/#sigma_{p_{y}}",bins,-pullrange,pullrange);
82 fHVtxPullPZ=
new TH1F(
"hvtxpullpz",
"Momentum pull distribution reco;(p_{z,mc}-p_{z})/#sigma_{p_{z}}",bins,-pullrange,pullrange);
83 fHVtxPullE=
new TH1F(
"hvtxpulle",
"Energy pull distribution reco;(E_{mc}-E)/#sigma_{E}",bins,-pullrange,pullrange);
85 fHVtxDiffThe=
new TH1F(
"hvtxdiffthe",
"Momentum reco;(#Theta_{mc}-#Theta}) / GeV/c",bins,-angdiffran,angdiffran);
86 fHVtxDiffPhi=
new TH1F(
"hvtxdiffphi",
"Momentum reco;(#Phi_{mc}-#Phi}) / GeV/c",bins,-angdiffran,angdiffran);
90 fHVtxPocaX=
new TH1F(
"hvtxPocax",
"Vertex POCA;(x_{mc}-x)/cm",bins,-vrange,vrange);
91 fHVtxPocaY=
new TH1F(
"hvtxPocay",
"Vertex POCA;(y_{mc}-y)/cm",bins,-vrange,vrange);
92 fHVtxPocaZ=
new TH1F(
"hvtxPocaz",
"Vertex POCA;(z_{mc}-z)/cm",bins,-vrange,vrange);
94 fHVtxPocaXY=
new TH2F(
"hvtxPocaxy",
"Vertex POCA X-Y view;(x_{mc}-x)/#mum;(y_{mc}-y)/cm",bins,-vrange,vrange,bins,-vrange,vrange);
95 fHVtxPocaRZ=
new TH2F(
"hvtxPocarz",
"Vertex POCA R-Z view;(z_{mc}-z)/#mum;(r_{mc}-r)/cm",bins,-vrange,vrange,bins,-vrange,vrange);
97 fHVtxPullPocaX=
new TH1F(
"hvtxpullpocax",
"Vertex pull distribution POCA;(x_{mc}-x)/#sigma_{x}",bins,-pullrange,pullrange);
98 fHVtxPullPocaY=
new TH1F(
"hvtxpullpocay",
"Vertex pull distribution POCA;(y_{mc}-y)/#sigma_{y}",bins,-pullrange,pullrange);
99 fHVtxPullPocaZ=
new TH1F(
"hvtxpullpocaz",
"Vertex pull distribution POCA;(z_{mc}-z)/#sigma_{z}",bins,-pullrange,pullrange);
101 fHVtxPocas=
new TH1F(
"hvtxpocas",
"Vertex POCA D value;D/cm",bins,0.,vrange);
106 fHVtxFastX=
new TH1F(
"hvtxFastx",
"Vertex fast fit;(x_{mc}-x)/cm",bins,-vrange,vrange);
107 fHVtxFastY=
new TH1F(
"hvtxTasty",
"Vertex fast fit;(y_{mc}-y)/cm",bins,-vrange,vrange);
108 fHVtxFastZ=
new TH1F(
"hvtxFastz",
"Vertex fast fit;(z_{mc}-z)/cm",bins,-vrange,vrange);
110 fHVtxFastXY=
new TH2F(
"hvtxfastxy",
"Vertex fast fit X-Y view;(x_{mc}-x)/#mum;(y_{mc}-y)/cm",bins,-vrange,vrange,bins,-vrange,vrange);
111 fHVtxFastRZ=
new TH2F(
"hvtxfastrz",
"Vertex fast fit R-Z view;(z_{mc}-z)/#mum;(r_{mc}-r)/cm",bins,-vrange,vrange,bins,-vrange,vrange);
113 fHVtxErrFastX=
new TH1F(
"hvtxerrfastx",
"Vertex error distribution fast;#sigma_{x}",bins,0.,vrange);
114 fHVtxErrFastY=
new TH1F(
"hvtxerrfasty",
"Vertex error distribution fast;#sigma_{y}",bins,0.,vrange);
115 fHVtxErrFastZ=
new TH1F(
"hvtxerrfastz",
"Vertex error distribution fast;#sigma_{z}",bins,0.,vrange);
116 fHVtxPullFastX=
new TH1F(
"hvtxpullfastx",
"Vertex pull distribution fast;(x_{mc}-x)/#sigma_{x}",bins,-pullrange,pullrange);
117 fHVtxPullFastY=
new TH1F(
"hvtxpullfasty",
"Vertex pull distribution fast;(y_{mc}-y)/#sigma_{y}",bins,-pullrange,pullrange);
118 fHVtxPullFastZ=
new TH1F(
"hvtxpullfastz",
"Vertex pull distribution fast;(z_{mc}-z)/#sigma_{z}",bins,-pullrange,pullrange);
120 fHVtxChi2Fast=
new TH1F(
"hvtxchi2fast",
"Vertex Fast #Chi^{2};#Chi^{2}",bins,minchi,maxchi);
121 fHVtxChiProbFast=
new TH1F(
"hvtxchipropfast",
"P(#Chi^{2}) Fast;p",bins,0.,1.);
124 fHVtxFitX=
new TH1F(
"hvtxFitx",
"Vertex full fit;(x_{mc}-x)/cm",bins,-vrange,vrange);
125 fHVtxFitY=
new TH1F(
"hvtxFity",
"Vertex full fit;(y_{mc}-y)/cm",bins,-vrange,vrange);
126 fHVtxFitZ=
new TH1F(
"hvtxFitz",
"Vertex full fit;(z_{mc}-z)/cm",bins,-vrange,vrange);
128 fHVtxFitXY=
new TH2F(
"hvtxfitxy",
"Vertex full fit X-Y view;(x_{mc}-x)/#mum;(y_{mc}-y)/cm",bins,-vrange,vrange,bins,-vrange,vrange);
129 fHVtxFitRZ=
new TH2F(
"hvtxfitrz",
"Vertex full fit R-Z view;(z_{mc}-z)/#mum;(r_{mc}-r)/cm",bins,-vrange,vrange,bins,-vrange,vrange);
131 fHVtxErrFitX=
new TH1F(
"hvtxerrfitx",
"Vertex error distribution full fit;#sigma_{x}",bins,0.,vrange);
132 fHVtxErrFitY=
new TH1F(
"hvtxerrfity",
"Vertex error distribution full fit;#sigma_{y}",bins,0.,vrange);
133 fHVtxErrFitZ=
new TH1F(
"hvtxerrfitz",
"Vertex error distribution full fit;#sigma_{z}",bins,0.,vrange);
134 fHVtxPullFitX=
new TH1F(
"hvtxpullfitx",
"Vertex pull distribution full fit;(x_{mc}-x)/#sigma_{x}",bins,-pullrange,pullrange);
135 fHVtxPullFitY=
new TH1F(
"hvtxpullfity",
"Vertex pull distribution full fit;(y_{mc}-y)/#sigma_{y}",bins,-pullrange,pullrange);
136 fHVtxPullFitZ=
new TH1F(
"hvtxpullfitz",
"Vertex pull distribution full fit;(z_{mc}-z)/#sigma_{z}",bins,-pullrange,pullrange);
137 fHVtxDiffFitPX=
new TH1F(
"hvtxdifffitpx",
"Momentum full fit;(p_{x,mc}-p_{x} / GeV/c)",bins,-momrange,momrange);
138 fHVtxDiffFitPY=
new TH1F(
"hvtxdifffitpy",
"Momentum full fit;(p_{y,mc}-p_{y} / GeV/c)",bins,-momrange,momrange);
139 fHVtxDiffFitPZ=
new TH1F(
"hvtxdifffitpz",
"Momentum full fit;(p_{z,mc}-p_{z}) / GeV/c",bins,-momrange,momrange);
140 fHVtxDiffFitE=
new TH1F(
"hvtxdifffite",
"Energy full fit;(E_{mc}-E) / GeV",bins,-momrange,momrange);
141 fHVtxDiffFitThe=
new TH1F(
"hvtxdifffitthe",
"Momentum full fit;(#Theta_{mc}-#Theta}) / GeV/c",bins,-angdiffran,angdiffran);
142 fHVtxDiffFitPhi=
new TH1F(
"hvtxdifffitphi",
"Momentum full fit;(#Phi_{mc}-#Phi}) / GeV/c",bins,-angdiffran,angdiffran);
144 fHVtxPullFitPX=
new TH1F(
"hvtxpullfitpx",
"Momentum pull distribution full fit;(p_{x,mc}-p_{x})/#sigma_{p_{x}}",bins,-pullrange,pullrange);
145 fHVtxPullFitPY=
new TH1F(
"hvtxpullfitpy",
"Momentum pull distribution full fit;(p_{y,mc}-p_{y})/#sigma_{p_{y}}",bins,-pullrange,pullrange);
146 fHVtxPullFitPZ=
new TH1F(
"hvtxpullfitpz",
"Momentum pull distribution full fit;(p_{z,mc}-p_{z})/#sigma_{p_{z}}",bins,-pullrange,pullrange);
147 fHVtxPullFitE=
new TH1F(
"hvtxpullfite",
"Energy pull distribution full fit;(E_{mc}-E)/#sigma_{E}",bins,-pullrange,pullrange);
149 fHVtxChi2Fit=
new TH1F(
"hvtxchi2fit",
"Vertex Fit #Chi^{2};#Chi^{2}",bins,minchi,maxchi);
150 fHVtxChiProbFit=
new TH1F(
"hvtxchipropfit",
"P(#Chi^{2}) Fit;p",bins,0.,1.);
154 fHVtxKinX=
new TH1F(
"hvtxKinx",
"Vertex full kin;(x_{mc}-x)/cm",bins,-vrange,vrange);
155 fHVtxKinY=
new TH1F(
"hvtxKiny",
"Vertex full kin;(y_{mc}-y)/cm",bins,-vrange,vrange);
156 fHVtxKinZ=
new TH1F(
"hvtxKinz",
"Vertex full kin;(z_{mc}-z)/cm",bins,-vrange,vrange);
158 fHVtxKinXY=
new TH2F(
"hvtxkinxy",
"Vertex full kin X-Y view;(x_{mc}-x)/#mum;(y_{mc}-y)/cm",bins,-vrange,vrange,bins,-vrange,vrange);
159 fHVtxKinRZ=
new TH2F(
"hvtxkinrz",
"Vertex full kin R-Z view;(z_{mc}-z)/#mum;(r_{mc}-r)/cm",bins,-vrange,vrange,bins,-vrange,vrange);
161 fHVtxErrKinX=
new TH1F(
"hvtxerrkinx",
"Vertex error distribution full kin;#sigma_{x}",bins,0.,vrange);
162 fHVtxErrKinY=
new TH1F(
"hvtxerrkiny",
"Vertex error distribution full kin;#sigma_{y}",bins,0.,vrange);
163 fHVtxErrKinZ=
new TH1F(
"hvtxerrkinz",
"Vertex error distribution full kin;#sigma_{z}",bins,0.,vrange);
164 fHVtxPullKinX=
new TH1F(
"hvtxpullkinx",
"Vertex pull distribution full kin;(x_{mc}-x)/#sigma_{x}",bins,-pullrange,pullrange);
165 fHVtxPullKinY=
new TH1F(
"hvtxpullkiny",
"Vertex pull distribution full kin;(y_{mc}-y)/#sigma_{y}",bins,-pullrange,pullrange);
166 fHVtxPullKinZ=
new TH1F(
"hvtxpullkinz",
"Vertex pull distribution full kin;(z_{mc}-z)/#sigma_{z}",bins,-pullrange,pullrange);
167 fHVtxDiffKinPX=
new TH1F(
"hvtxdiffkinpx",
"Momentum full kin;(p_{x,mc}-p_{x} / GeV/c)",bins,-momrange,momrange);
168 fHVtxDiffKinPY=
new TH1F(
"hvtxdiffkinpy",
"Momentum full kin;(p_{y,mc}-p_{y} / GeV/c)",bins,-momrange,momrange);
169 fHVtxDiffKinPZ=
new TH1F(
"hvtxdiffkinpz",
"Momentum full kin;(p_{z,mc}-p_{z}) / GeV/c",bins,-momrange,momrange);
170 fHVtxDiffKinE=
new TH1F(
"hvtxdiffkine",
"Energy full kin;(E_{mc}-E) / GeV",bins,-momrange,momrange);
171 fHVtxDiffKinThe=
new TH1F(
"hvtxdiffkinthe",
"Momentum full kin;(#Theta_{mc}-#Theta}) / GeV/c",bins,-angdiffran,angdiffran);
172 fHVtxDiffKinPhi=
new TH1F(
"hvtxdiffkinphi",
"Momentum full kin;(#Phi_{mc}-#Phi}) / GeV/c",bins,-angdiffran,angdiffran);
174 fHVtxPullKinPX=
new TH1F(
"hvtxpullkinpx",
"Momentum pull distribution full kin;(p_{x,mc}-p_{x})/#sigma_{p_{x}}",bins,-pullrange,pullrange);
175 fHVtxPullKinPY=
new TH1F(
"hvtxpullkinpy",
"Momentum pull distribution full kin;(p_{y,mc}-p_{y})/#sigma_{p_{y}}",bins,-pullrange,pullrange);
176 fHVtxPullKinPZ=
new TH1F(
"hvtxpullkinpz",
"Momentum pull distribution full kin;(p_{z,mc}-p_{z})/#sigma_{p_{z}}",bins,-pullrange,pullrange);
177 fHVtxPullKinE=
new TH1F(
"hvtxpullkine",
"Energy pull distribution full kin;(E_{mc}-E)/#sigma_{E}",bins,-pullrange,pullrange);
179 fHVtxChi2Kin=
new TH1F(
"hvtxchi2kin",
"Vertex Kin #Chi^{2};#Chi^{2}",bins,minchi,maxchi);
180 fHVtxChiProbKin=
new TH1F(
"hvtxchipropkin",
"P(#Chi^{2}) Kin;p",bins,0.,1.);
183 fHPrgPull0 =
new TH1F(
"hprgpull0",
"PRG Pull Distribution (0)",bins,-pullrange,pullrange);
184 fHPrgPull1 =
new TH1F(
"hprgpull1",
"PRG Pull Distribution (1)",bins,-pullrange,pullrange);
185 fHPrgPull2 =
new TH1F(
"hprgpull2",
"PRG Pull Distribution (2)",bins,-pullrange,pullrange);
186 fHPrgPull3 =
new TH1F(
"hprgpull3",
"PRG Pull Distribution (3)",bins,-pullrange,pullrange);
187 fHPrgPull4 =
new TH1F(
"hprgpull4",
"PRG Pull Distribution (4)",bins,-pullrange,pullrange);
189 fHCpu =
new TH1D(
"hcpu",
"CPU loads (ms)",5,0,5);
190 fHCpu->GetXaxis()->SetBinLabel(1,
"PMT");
191 fHCpu->GetXaxis()->SetBinLabel(2,
"POCA");
192 fHCpu->GetXaxis()->SetBinLabel(3,
"PRG Fast");
193 fHCpu->GetXaxis()->SetBinLabel(4,
"PRG Full");
194 fHCpu->GetXaxis()->SetBinLabel(5,
"KinVtx");
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
drchit SetVerbose(iVerbose)