#include <HadEarlyEcConfigurer.h>
Inheritance diagram for FastShower::HadEarlyEcConfigurer:
Public Methods | |
HadEarlyEcConfigurer (Moni) | |
HadEarlyEcConfigurer (NoMoni) | |
~HadEarlyEcConfigurer () | |
Private Methods | |
HadEarlyEcConfigurer | operator= (const HadEarlyEcConfigurer &) |
ISampler * | makeEAN () const |
methods to return pointers that are built from things already built using this configurer. | |
ISampler * | makeHS0 () const |
ISampler * | makeHC0 () const |
ISampler * | makeHAN () const |
void | addDepositorsE () |
void | addDepositorsH () |
virtual EnergyLimiter * | energyLimiter () const |
Default limiter limits energies to 10-100 GeV. | |
void | normalisers () |
void | initialise () |
|
Definition at line 141 of file HadEarlyEcConfigurer.cxx. References initialise().
00141 :ConfigurerBase(m){ 00142 this->initialise(); 00143 } |
|
Definition at line 144 of file HadEarlyEcConfigurer.cxx. References initialise().
00144 :ConfigurerBase(nm){ 00145 this->initialise(); 00146 } |
|
Definition at line 36 of file HadEarlyEcConfigurer.h.
00036 {}; |
|
|
|
methods to return pointers that are built from things already built using this configurer.
Definition at line 316 of file HadEarlyEcConfigurer.cxx.
00316 { 00317 00318 std::vector< std::pair<double, ISampler*> > v; 00319 v.push_back(std::pair<double, ISampler*>(0.15, this->findSampler("EAN1"))); 00320 v.push_back(std::pair<double, ISampler*>(1.00, this->findSampler("EAN2"))); 00321 //return new SamplerRouterSNSample(v, 0.0, "EANRouter"); 00322 return new ANSamplerRouterSNSample(v, 0.0, "EANRouter"); 00323 00324 } |
|
Definition at line 326 of file HadEarlyEcConfigurer.cxx.
00326 { 00327 00328 std::vector< std::pair<double, ISampler*> > v; 00329 v.push_back(std::pair<double, ISampler*>( 15.0, this->findSampler("HS01"))); 00330 v.push_back(std::pair<double, ISampler*>( 30.0, this->findSampler("HS02"))); 00331 v.push_back(std::pair<double, ISampler*>(FLT_MAX, this->findSampler("HS03"))); 00332 //return new SamplerRouterEnergySample(v, 0.0, "HS0Router"); 00333 return new S0SamplerRouterEnergySample(v, 0.0, "HS0Router"); 00334 00335 } |
|
Definition at line 337 of file HadEarlyEcConfigurer.cxx.
00337 { 00338 00339 std::vector< std::pair<double, ISampler*> > v; 00340 v.push_back(std::pair<double, ISampler*>( 15.0, this->findSampler("HC01"))); 00341 v.push_back(std::pair<double, ISampler*>( 30.0, this->findSampler("HC02"))); 00342 v.push_back(std::pair<double, ISampler*>(FLT_MAX, this->findSampler("HC03"))); 00343 //return new SamplerRouterEnergySample(v, 0.0, "HC0Router"); 00344 return new C0SamplerRouterEnergySample(v, 0.0, "HC0Router"); 00345 00346 } |
|
Definition at line 348 of file HadEarlyEcConfigurer.cxx.
00348 { 00349 00350 std::vector< std::pair<double, ISampler*> > vr; 00351 vr.push_back(std::pair<double, ISampler*>(0.05, this->findSampler("HAN11"))); 00352 vr.push_back(std::pair<double, ISampler*>(0.10, this->findSampler("HAN12"))); 00353 vr.push_back(std::pair<double, ISampler*>(0.15, this->findSampler("HAN13"))); 00354 //ISampler* snSampler = new SamplerRouterSNSample(vr, 0.0, "HAN1Router"); 00355 ISampler* snSampler = new ANSamplerRouterSNSample(vr, 0.0, "HAN1Router"); 00356 00357 std::vector< std::pair<double, ISampler*> > v; 00358 v.push_back(std::pair<double, ISampler*>(0.15, snSampler)); 00359 v.push_back(std::pair<double, ISampler*>(1.00, this->findSampler("HAN2"))); 00360 //return new SamplerRouterSNSample(v, 0.0, "HANRouter"); 00361 return new ANSamplerRouterSNSample(v, 0.0, "HANRouter"); 00362 00363 } |
|
Definition at line 365 of file HadEarlyEcConfigurer.cxx. References FastShower::ConfigurerBase::addEdepositor(), and FastShower::ConfigurerBase::findSampler(). Referenced by initialise().
00365 { 00366 00367 this->addEdepositor( "EcalCore", 00368 new CoreDepositor( 00369 this->findSampler("ES0"), 00370 this->findSampler("EC0"), 00371 this->findSampler("ESN"), 00372 this->findSampler("EAN") 00373 ) 00374 ); 00375 00376 this->addEdepositor( "EcalHalo", new HaloDepositor(this,"eHalo")); 00377 00378 } |
|
Definition at line 380 of file HadEarlyEcConfigurer.cxx. References FastShower::ConfigurerBase::addHdepositor(), and FastShower::ConfigurerBase::findSampler(). Referenced by initialise().
00380 { 00381 00382 this->addHdepositor( "HcalCore", 00383 new CoreDepositor( 00384 this->findSampler("HS0"), 00385 this->findSampler("HC0"), 00386 this->findSampler("HSN"), 00387 this->findSampler("HAN") 00388 ) 00389 ); 00390 00391 this->addHdepositor( "HcalHalo", new HaloDepositor(this,"hHalo")); 00392 00393 } |
|
Default limiter limits energies to 10-100 GeV. Specific ShowerConfigurers should derive if they want some other limits. Reimplemented from FastShower::ConfigurerBase. Definition at line 395 of file HadEarlyEcConfigurer.cxx.
00395 { 00396 cout<<"HadEarlyEcConfigurer: constructing energy limiter"<<endl; 00397 return new EnergyLimiter(10., 50., "HadEarlyEcEnergyLimiter"); 00398 } |
|
Definition at line 400 of file HadEarlyEcConfigurer.cxx. References FastShower::ConfigurerBase::addNormaliser(). Referenced by initialise().
00400 { 00401 this->addNormaliser("EcalNormaliser", 00402 new HadEarlyEcalNormaliser(this,"HadEarlyEcEcalNormaliser")); 00403 this->addNormaliser("HcalNormaliser", 00404 new HadEarlyHcalNormaliser(this,"HadEarlyEcHcalNormaliser")); 00405 } |
|
Definition at line 147 of file HadEarlyEcConfigurer.cxx. References addDepositorsE(), addDepositorsH(), FastShower::ConfigurerBase::addFn(), FastShower::ConfigurerBase::addFnPP(), FastShower::ConfigurerBase::addIUG(), FastShower::ConfigurerBase::addSampler(), and normalisers(). Referenced by HadEarlyEcConfigurer().
00147 { 00148 // *********************** ECAL ******************************** 00149 //S0 00150 this->addFn("ES0PeakMean", new PeakMeanS0HadEarlyEcalEc1); 00151 this->addFn("ES0PeakSigma", new PeakSigmaS0HadEarlyEcalEc1); 00152 this->addFn("ES0TailFrac", new TailFracS0HadEarlyEcalEc1); 00153 //C0 00154 this->addFn("EC0PeakMean", new PeakMeanC0HadEarlyEcalEc1); 00155 this->addFn("EC0PeakSigma", new PeakSigmaC0HadEarlyEcalEc1); 00156 this->addFn("EC0TailFrac", new TailFracC0HadEarlyEcalEc1); 00157 //SN 00158 this->addFn("ESNPeakMean", new PeakMeanSNHadEarlyEcalEc1); 00159 this->addFn("ESNPeakSigma", new PeakSigmaSNHadEarlyEcalEc1); 00160 //AN1 00161 this->addFn("EAN1PeakMean", new PeakMeanANHadEarlyEcalEc1); 00162 this->addFn("EAN1PeakSigma", new PeakSigmaANHadEarlyEcalEc1); 00163 this->addFn("EAN1TailFrac", new TailFracANHadEarlyEcalEc1); 00164 //AN2 00165 this->addFn("EAN2PeakMean", new PeakMeanANHadEarlyEcalEc1); 00166 this->addFn("EAN2PeakSigma", new PeakSigmaANHadEarlyEcalEc1); 00167 // 00168 // *********************** HCAL ******************************** 00169 //S01 00170 this->addFn("HS01TailFrac", new TailFracS0HadEarlyHcalEc1); 00171 //S02 00172 this->addFn("HS02PeakMean", new PeakMeanS0HadEarlyHcalEc1); 00173 this->addFn("HS02PeakSigma", new PeakSigmaS0HadEarlyHcalEc1); 00174 this->addFn("HS02TailFrac", new TailFracS0HadEarlyHcalEc2); 00175 //S03 00176 this->addFn("HS03PeakMean", new PeakMeanS0HadEarlyHcalEc1); 00177 this->addFn("HS03PeakSigma", new PeakSigmaS0HadEarlyHcalEc1); 00178 this->addFn("HS03TailFrac", new TailFracS0HadEarlyHcalEc2); 00179 //C01 00180 this->addFn("HC01TailFrac", new TailFracC0HadEarlyHcalEc1); 00181 //C02 00182 this->addFn("HC02PeakMean", new PeakMeanC0HadEarlyHcalEc1); 00183 this->addFn("HC02PeakSigma", new PeakSigmaC0HadEarlyHcalEc1); 00184 this->addFn("HC02TailFrac", new TailFracC0HadEarlyHcalEc2); 00185 //C03 00186 this->addFn("HC03PeakMean", new PeakMeanC0HadEarlyHcalEc1); 00187 this->addFn("HC03PeakSigma", new PeakSigmaC0HadEarlyHcalEc1); 00188 this->addFn("HC03TailFrac", new TailFracC0HadEarlyHcalEc3); 00189 //SN 00190 this->addFn("HSNPeakMean", new PeakMeanSNHadEarlyHcalEc1); 00191 this->addFn("HSNPeakSigma", new PeakSigmaSNHadEarlyHcalEc1); 00192 //AN11 00193 this->addFn("HAN11PeakMean", new PeakMeanANHadEarlyHcalEc1); 00194 this->addFn("HAN11PeakSigma", new PeakSigmaANHadEarlyHcalEc1); 00195 this->addFn("HAN11TailFrac", new TailFracANHadEarlyHcalEc11); 00196 //AN12 00197 this->addFn("HAN12PeakMean", new PeakMeanANHadEarlyHcalEc1); 00198 this->addFn("HAN12PeakSigma", new PeakSigmaANHadEarlyHcalEc1); 00199 this->addFn("HAN12TailFrac", new TailFracANHadEarlyHcalEc12); 00200 //AN13 00201 this->addFn("HAN13PeakMean", new PeakMeanANHadEarlyHcalEc1); 00202 this->addFn("HAN13PeakSigma", new PeakSigmaANHadEarlyHcalEc1); 00203 this->addFn("HAN13TailFrac", new TailFracANHadEarlyHcalEc13); 00204 //AN2 00205 this->addFn("HAN2PeakMean", new PeakMeanANHadEarlyHcalEc1); 00206 this->addFn("HAN2PeakSigma", new PeakSigmaANHadEarlyHcalEc1); 00207 // 00208 //******************************************************* 00209 //* Functions for Ecal HaloDepositor * 00210 //******************************************************* 00211 this->addFnPP("eHaloCell1", new HadEarlyEcalEcHaloCell1); 00212 this->addFnPP("eHaloCell2", new HadEarlyEcalEcHaloCell2); 00213 this->addFnPP("eHaloCell3", new HadEarlyEcalEcHaloCell3); 00214 this->addFnPP("eHaloCell4", new HadEarlyEcalEcHaloCell4); 00215 this->addFnPP("eHaloCell5", new HadEarlyEcalEcHaloCell5); 00216 this->addFnPP("eHaloCell6", new HadEarlyEcalEcHaloCell6); 00217 this->addFnPP("eHaloCell7", new HadEarlyEcalEcHaloCell7); 00218 this->addFnPP("eHaloCell8", new HadEarlyEcalEcHaloCell8); 00219 this->addFnPP("eHaloCell9", new HadEarlyEcalEcHaloCell9); 00220 this->addFnPP("eHaloCell10", new HadEarlyEcalEcHaloCell10); 00221 this->addFnPP("eHaloCell11", new HadEarlyEcalEcHaloCell11); 00222 this->addFnPP("eHaloCell12", new HadEarlyEcalEcHaloCell12); 00223 this->addFnPP("eHaloCell13", new HadEarlyEcalEcHaloCell13); 00224 this->addFnPP("eHaloCell14", new HadEarlyEcalEcHaloCell14); 00225 // 00226 //******************************************************* 00227 //* Functions for Hcal HaloDepositor * 00228 //******************************************************* 00229 this->addFnPP("hHaloCell1", new HadEarlyHcalEcHaloCell1); 00230 this->addFnPP("hHaloCell2", new HadEarlyHcalEcHaloCell2); 00231 this->addFnPP("hHaloCell3", new HadEarlyHcalEcHaloCell3); 00232 this->addFnPP("hHaloCell4", new HadEarlyHcalEcHaloCell4); 00233 this->addFnPP("hHaloCell5", new HadEarlyHcalEcHaloCell5); 00234 this->addFnPP("hHaloCell6", new HadEarlyHcalEcHaloCell6); 00235 this->addFnPP("hHaloCell7", new HadEarlyHcalEcHaloCell7); 00236 this->addFnPP("hHaloCell8", new HadEarlyHcalEcHaloCell8); 00237 this->addFnPP("hHaloCell9", new HadEarlyHcalEcHaloCell9); 00238 this->addFnPP("hHaloCell10", new HadEarlyHcalEcHaloCell10); 00239 this->addFnPP("hHaloCell11", new HadEarlyHcalEcHaloCell11); 00240 this->addFnPP("hHaloCell12", new HadEarlyHcalEcHaloCell12); 00241 this->addFnPP("hHaloCell13", new HadEarlyHcalEcHaloCell13); 00242 this->addFnPP("hHaloCell14", new HadEarlyHcalEcHaloCell14); 00243 // 00244 //******************************************************* 00245 //* Functions for Normalisers * 00246 //******************************************************* 00247 this->addFnPP("EcalEtaResponse", new HadEcalEtaResponseEc); 00248 this->addFnPP("HcalEtaResponse", new HadHcalEtaResponseEc); 00249 this->addFnPP("EcalCoreFraction", new HadEarlyEcalCoreFracEc); 00250 this->addFnPP("HcalCoreFraction", new HadEarlyHcalCoreFracEc); 00251 // 00252 //******************************************************* 00253 //* IUpdating Gaussians (Peaks for Ecal Samplers) * 00254 //******************************************************* 00255 this->addIUG("ES0Peak", this->makeUpdatingGaussian0LP("ES0") ); 00256 this->addIUG("EC0Peak", this->makeUpdatingGaussian0LP("EC0") ); 00257 this->addIUG("ESNPeak", this->makeUpdatingGaussian01P("ESN") ); 00258 this->addIUG("EAN1Peak", this->makeUpdatingGaussian0LP("EAN1") ); 00259 this->addIUG("EAN2Peak", this->makeUpdatingGaussian0LP("EAN2") ); 00260 // 00261 //******************************************************* 00262 //* ECAL Samplers * 00263 //******************************************************* 00264 this->addSampler("ES0", new S0HadEarlyEcalEc1(this, "ES0") ); 00265 this->addSampler("EC0", new C0HadEarlyEcalEc1(this, "EC0") ); 00266 this->addSampler("ESN", new SNHadEarlyEcalEc1(this, "ESN") ); 00267 this->addSampler("EAN1", new ANHadEarlyEcalEc1(this, "EAN1") ); 00268 this->addSampler("EAN2", new ANHadEarlyEcalEc2(this, "EAN2") ); 00269 00270 this->addSampler("EAN", this->makeEAN() ); 00271 // 00272 //******************************************************* 00273 //* IUpdating Gaussians (Peaks for Hcal Samplers) * 00274 //******************************************************* 00275 this->addIUG("HS02Peak", this->makeUpdatingGaussian0LP("HS02") ); 00276 this->addIUG("HS03Peak", this->makeUpdatingGaussian0LP("HS03") ); 00277 this->addIUG("HC02Peak", this->makeUpdatingGaussian02P("HC02") ); 00278 this->addIUG("HC03Peak", this->makeUpdatingGaussian0LP("HC03") ); 00279 this->addIUG("HSNPeak", this->makeUpdatingGaussian01P("HSN") ); 00280 this->addIUG("HAN11Peak", this->makeUpdatingGaussian0LP("HAN11") ); 00281 this->addIUG("HAN12Peak", this->makeUpdatingGaussian0LP("HAN12") ); 00282 this->addIUG("HAN13Peak", this->makeUpdatingGaussian0LP("HAN13") ); 00283 this->addIUG("HAN2Peak", this->makeUpdatingGaussian0LP("HAN2") ); 00284 // 00285 //******************************************************* 00286 //* HCAL Samplers * 00287 //******************************************************* 00288 this->addSampler("HS01", new S0HadEarlyHcalEc1(this, "HS01") ); 00289 this->addSampler("HS02", new S0HadEarlyHcalEc2(this, "HS02") ); 00290 this->addSampler("HS03", new S0HadEarlyHcalEc3(this, "HS03") ); 00291 this->addSampler("HC01", new C0HadEarlyHcalEc1(this, "HC01") ); 00292 this->addSampler("HC02", new C0HadEarlyHcalEc2(this, "HC02") ); 00293 this->addSampler("HC03", new C0HadEarlyHcalEc3(this, "HC03") ); 00294 this->addSampler("HSN", new SNHadEarlyHcalEc1(this, "HSN") ); 00295 this->addSampler("HAN11", new ANHadEarlyHcalEc1(this, "HAN11") ); 00296 this->addSampler("HAN12", new ANHadEarlyHcalEc1(this, "HAN12") ); 00297 this->addSampler("HAN13", new ANHadEarlyHcalEc1(this, "HAN13") ); 00298 this->addSampler("HAN2", new ANHadEarlyHcalEc2(this, "HAN2") ); 00299 00300 this->addSampler("HS0", this->makeHS0() ); 00301 this->addSampler("HC0", this->makeHC0() ); 00302 this->addSampler("HAN", this->makeHAN() ); 00303 // 00304 //******************************************************* 00305 //* Depositors * 00306 //******************************************************* 00307 this->addDepositorsE(); 00308 this->addDepositorsH(); 00309 //******************************************************* 00310 //* Normalisers * 00311 //******************************************************* 00312 this->normalisers(); 00313 } |