Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

HadEarlyEcConfigurer.cxx

Go to the documentation of this file.
00001 #include "FastShowerUtils/HadEarlyEcConfigurer.h"
00002 
00003 //*************************************************************
00004 //******************** Ecal Samplers **************************
00005 //*************************************************************
00006 //S0
00007 #include "FastShowerUtils/Samplers/S0HadEarlyEcalEc1.h"
00008 #include "FastShowerUtils/Samplers/PeakMeanS0HadEarlyEcalEc1.h"
00009 #include "FastShowerUtils/Samplers/PeakSigmaS0HadEarlyEcalEc1.h"
00010 #include "FastShowerUtils/Samplers/TailFracS0HadEarlyEcalEc1.h"
00011 //C0
00012 #include "FastShowerUtils/Samplers/C0HadEarlyEcalEc1.h"
00013 #include "FastShowerUtils/Samplers/PeakMeanC0HadEarlyEcalEc1.h"
00014 #include "FastShowerUtils/Samplers/PeakSigmaC0HadEarlyEcalEc1.h"
00015 #include "FastShowerUtils/Samplers/TailFracC0HadEarlyEcalEc1.h"
00016 //SN
00017 #include "FastShowerUtils/Samplers/SNHadEarlyEcalEc1.h"
00018 #include "FastShowerUtils/Samplers/PeakMeanSNHadEarlyEcalEc1.h"
00019 #include "FastShowerUtils/Samplers/PeakSigmaSNHadEarlyEcalEc1.h"
00020 //AN1
00021 //#include "FastShowerUtils/SamplerRouterSNSample.h"
00022 #include "FastShowerUtils/ANSamplerRouterSNSample.h"
00023 //
00024 #include "FastShowerUtils/Samplers/ANHadEarlyEcalEc1.h"
00025 #include "FastShowerUtils/Samplers/PeakMeanANHadEarlyEcalEc1.h"
00026 #include "FastShowerUtils/Samplers/PeakSigmaANHadEarlyEcalEc1.h"
00027 #include "FastShowerUtils/Samplers/TailFracANHadEarlyEcalEc1.h"
00028 //AN2
00029 #include "FastShowerUtils/Samplers/ANHadEarlyEcalEc2.h"
00030 //
00031 //
00032 // *******************  Ecal HaloCells   ****************
00033 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell1.h"
00034 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell2.h"
00035 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell3.h"
00036 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell4.h"
00037 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell5.h"
00038 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell6.h"
00039 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell7.h"
00040 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell8.h"
00041 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell9.h"
00042 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell10.h"
00043 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell11.h"
00044 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell12.h"
00045 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell13.h"
00046 #include "FastShowerUtils/HaloCells/HadEarlyEcalEcHaloCell14.h"
00047 //
00048 
00049 //*************************************************************
00050 //******************** Hcal Samplers **************************
00051 //*************************************************************
00052 //S0
00053 //#include "FastShowerUtils/SamplerRouterEnergySample.h"
00054 #include "FastShowerUtils/S0SamplerRouterEnergySample.h"
00055 //S01 - has not a gaussian peak but a flat peak!
00056 #include "FastShowerUtils/Samplers/S0HadEarlyHcalEc1.h"
00057 #include "FastShowerUtils/Samplers/TailFracS0HadEarlyHcalEc1.h"
00058 //S02
00059 #include "FastShowerUtils/Samplers/S0HadEarlyHcalEc2.h"
00060 #include "FastShowerUtils/Samplers/PeakMeanS0HadEarlyHcalEc1.h"
00061 #include "FastShowerUtils/Samplers/PeakSigmaS0HadEarlyHcalEc1.h"
00062 #include "FastShowerUtils/Samplers/TailFracS0HadEarlyHcalEc2.h"
00063 //S03
00064 #include "FastShowerUtils/Samplers/S0HadEarlyHcalEc3.h"
00065 //C0
00066 //#include "FastShowerUtils/SamplerRouterRndmSample.h"
00067 #include "FastShowerUtils/C0SamplerRouterRandomSample.h"
00068 #include "FastShowerUtils/C0SamplerRouterEnergySample.h"
00069 //C01
00070 #include "FastShowerUtils/Samplers/C0HadEarlyHcalEc1.h"
00071 #include "FastShowerUtils/Samplers/PeakMeanC0HadEarlyHcalEc1.h"
00072 #include "FastShowerUtils/Samplers/PeakSigmaC0HadEarlyHcalEc1.h"
00073 #include "FastShowerUtils/Samplers/TailFracC0HadEarlyHcalEc1.h"
00074 //C02
00075 #include "FastShowerUtils/Samplers/C0HadEarlyHcalEc2.h"
00076 #include "FastShowerUtils/Samplers/TailFracC0HadEarlyHcalEc2.h"
00077 //C03
00078 #include "FastShowerUtils/Samplers/C0HadEarlyHcalEc3.h"
00079 #include "FastShowerUtils/Samplers/TailFracC0HadEarlyHcalEc3.h"
00080 //SN
00081 #include "FastShowerUtils/Samplers/SNHadEarlyHcalEc1.h"
00082 #include "FastShowerUtils/Samplers/PeakMeanSNHadEarlyHcalEc1.h"
00083 #include "FastShowerUtils/Samplers/PeakSigmaSNHadEarlyHcalEc1.h"
00084 //AN
00085 //#include "FastShowerUtils/SamplerRouterSNSample.h"
00086 #include "FastShowerUtils/ANSamplerRouterSNSample.h"
00087 //AN1
00088 #include "FastShowerUtils/Samplers/ANHadEarlyHcalEc1.h"
00089 #include "FastShowerUtils/Samplers/PeakMeanANHadEarlyHcalEc1.h"
00090 #include "FastShowerUtils/Samplers/PeakSigmaANHadEarlyHcalEc1.h"
00091 #include "FastShowerUtils/Samplers/TailFracANHadEarlyHcalEc11.h"
00092 #include "FastShowerUtils/Samplers/TailFracANHadEarlyHcalEc12.h"
00093 #include "FastShowerUtils/Samplers/TailFracANHadEarlyHcalEc13.h"
00094 //AN2
00095 #include "FastShowerUtils/Samplers/ANHadEarlyHcalEc2.h"
00096 //
00097 // *******************  Hcal HaloCells   ****************
00098 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell1.h"
00099 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell2.h"
00100 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell3.h"
00101 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell4.h"
00102 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell5.h"
00103 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell6.h"
00104 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell7.h"
00105 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell8.h"
00106 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell9.h"
00107 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell10.h"
00108 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell11.h"
00109 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell12.h"
00110 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell13.h"
00111 #include "FastShowerUtils/HaloCells/HadEarlyHcalEcHaloCell14.h"
00112 //
00113 //Normalisers
00114 #include "FastShowerUtils/Normalisers/HadEarlyEcalNormaliser.h"
00115 #include "FastShowerUtils/Normalisers/HadEarlyHcalNormaliser.h"
00116 #include "FastShowerUtils/Normalisers/HadEcalEtaResponseEc.h"
00117 #include "FastShowerUtils/Normalisers/HadHcalEtaResponseEc.h"
00118 #include "FastShowerUtils/Normalisers/HadEarlyEcalCoreFracEc.h"
00119 #include "FastShowerUtils/Normalisers/HadEarlyHcalCoreFracEc.h"
00120 //
00121 #include "FastShowerUtils/PtrConverter.h"
00122 #include "FastShowerUtils/ISampler.h"
00123 #include "FastShowerUtils/SamplerPtr.h"
00124 #include "FastShowerUtils/INormaliser.h"
00125 #include "FastShowerUtils/NormaliserPtr.h"
00126 #include "FastShowerUtils/IDepositor.h"
00127 #include "FastShowerUtils/DepositorPtr.h"
00128 #include "FastShowerUtils/CoreDepositor.h"
00129 #include "FastShowerUtils/HaloDepositor.h"
00130 #include "FastShowerUtils/PencilDepositor.h"
00131 //
00132 #include "FastShowerUtils/PtrAdapter.h"
00133 //
00134 #include <float.h>
00135 #include <string>
00136 #include <algorithm>
00137 
00138 namespace FastShower{
00139 
00140   //
00141   HadEarlyEcConfigurer::HadEarlyEcConfigurer(Moni m):ConfigurerBase(m){
00142     this->initialise();
00143   }
00144   HadEarlyEcConfigurer::HadEarlyEcConfigurer(NoMoni nm):ConfigurerBase(nm){
00145     this->initialise();
00146   }
00147   void HadEarlyEcConfigurer::initialise(){
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    }
00314   //
00316   ISampler* HadEarlyEcConfigurer::makeEAN() const {
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   }
00326   ISampler* HadEarlyEcConfigurer::makeHS0() const {
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   }
00337   ISampler* HadEarlyEcConfigurer::makeHC0() const {
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   }
00348   ISampler* HadEarlyEcConfigurer::makeHAN() const {
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   }
00365   void HadEarlyEcConfigurer::addDepositorsE(){
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   }
00380   void HadEarlyEcConfigurer::addDepositorsH(){
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   }
00395   EnergyLimiter* HadEarlyEcConfigurer::energyLimiter() const {
00396     cout<<"HadEarlyEcConfigurer: constructing energy limiter"<<endl;
00397     return new EnergyLimiter(10., 50., "HadEarlyEcEnergyLimiter");
00398   }
00400   void HadEarlyEcConfigurer::normalisers(){
00401     this->addNormaliser("EcalNormaliser",  
00402                         new HadEarlyEcalNormaliser(this,"HadEarlyEcEcalNormaliser"));
00403     this->addNormaliser("HcalNormaliser",  
00404                         new HadEarlyHcalNormaliser(this,"HadEarlyEcHcalNormaliser"));
00405   }
00406 }//namespace
00407 
00408 
00409 
00410 
00411 
00412 
00413 
00414 
00415 

Generated on Tue Mar 18 11:49:58 2003 for FastShowerUtils by doxygen1.3-rc1