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

HadEarlyBarConfigurer.cxx

Go to the documentation of this file.
00001 #include "FastShowerUtils/HadEarlyBarConfigurer.h"
00002 
00003 //*************************************************************
00004 //******************** Ecal Samplers **************************
00005 //*************************************************************
00006 //S0
00007 //#include "FastShowerUtils/SamplerRouterEnergySample.h"
00008 #include "FastShowerUtils/S0SamplerRouterEnergySample.h"
00009 //
00010 #include "FastShowerUtils/Samplers/S0HadEarlyEcalBar1.h"
00011 #include "FastShowerUtils/Samplers/PeakMeanS0HadEarlyEcalBar11.h"
00012 #include "FastShowerUtils/Samplers/PeakMeanS0HadEarlyEcalBar12.h"
00013 #include "FastShowerUtils/Samplers/PeakMeanS0HadEarlyEcalBar13.h"
00014 #include "FastShowerUtils/Samplers/PeakSigmaS0HadEarlyEcalBar1.h"
00015 #include "FastShowerUtils/Samplers/TailFracS0HadEarlyEcalBar1.h"
00016 //C0
00017 //#include "FastShowerUtils/SamplerRouterRndmSample.h"
00018 #include "FastShowerUtils/C0SamplerRouterRandomSample.h"
00019 //
00020 #include "FastShowerUtils/Samplers/C0HadEarlyEcalBar1.h"
00021 #include "FastShowerUtils/Samplers/PeakMeanC0HadEarlyEcalBar11.h"
00022 #include "FastShowerUtils/Samplers/PeakSigmaC0HadEarlyEcalBar11.h"
00023 #include "FastShowerUtils/Samplers/PeakMeanC0HadEarlyEcalBar12.h"
00024 #include "FastShowerUtils/Samplers/PeakSigmaC0HadEarlyEcalBar12.h"
00025 #include "FastShowerUtils/Samplers/TailFracC0HadEarlyEcalBar1.h"
00026 //SN
00027 #include "FastShowerUtils/Samplers/SNHadEarlyEcalBar1.h"
00028 #include "FastShowerUtils/Samplers/PeakMeanSNHadEarlyEcalBar1.h"
00029 #include "FastShowerUtils/Samplers/PeakSigmaSNHadEarlyEcalBar1.h"
00030 //AN1
00031 //#include "FastShowerUtils/SamplerRouterSNSample.h"
00032 #include "FastShowerUtils/ANSamplerRouterSNSample.h"
00033 //
00034 #include "FastShowerUtils/Samplers/ANHadEarlyEcalBar1.h"
00035 #include "FastShowerUtils/Samplers/PeakMeanANHadEarlyEcalBar1.h"
00036 #include "FastShowerUtils/Samplers/PeakSigmaANHadEarlyEcalBar1.h"
00037 #include "FastShowerUtils/Samplers/TailFracANHadEarlyEcalBar1.h"
00038 //AN2
00039 #include "FastShowerUtils/Samplers/ANHadEarlyEcalBar2.h"
00040 //
00041 // *******************  Ecal HaloCells   ****************
00042 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell1.h"
00043 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell2.h"
00044 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell3.h"
00045 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell4.h"
00046 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell5.h"
00047 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell6.h"
00048 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell7.h"
00049 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell8.h"
00050 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell9.h"
00051 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell10.h"
00052 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell11.h"
00053 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell12.h"
00054 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell13.h"
00055 #include "FastShowerUtils/HaloCells/HadEarlyEcalBarHaloCell14.h"
00056 //
00057 
00058 //*************************************************************
00059 //******************** Hcal Samplers **************************
00060 //*************************************************************
00061 //S0
00062 //#include "FastShowerUtils/SamplerRouterEnergySample.h"
00063 #include "FastShowerUtils/S0SamplerRouterEnergySample.h"
00064 //S01 - has not a gaussian peak but a flat peak!
00065 #include "FastShowerUtils/Samplers/S0HadEarlyHcalBar1.h"
00066 #include "FastShowerUtils/Samplers/TailFracS0HadEarlyHcalBar1.h"
00067 //S02
00068 #include "FastShowerUtils/Samplers/S0HadEarlyHcalBar2.h"
00069 #include "FastShowerUtils/Samplers/PeakMeanS0HadEarlyHcalBar1.h"
00070 #include "FastShowerUtils/Samplers/PeakSigmaS0HadEarlyHcalBar1.h"
00071 #include "FastShowerUtils/Samplers/TailFracS0HadEarlyHcalBar2.h"
00072 //S03
00073 #include "FastShowerUtils/Samplers/S0HadEarlyHcalBar3.h"
00074 #include "FastShowerUtils/Samplers/TailFracS0HadEarlyHcalBar3.h"
00075 //C0
00076 //#include "FastShowerUtils/SamplerRouterRndmSample.h"
00077 #include "FastShowerUtils/C0SamplerRouterRandomSample.h"
00078 #include "FastShowerUtils/C0SamplerRouterEnergySample.h"
00079 //C01
00080 #include "FastShowerUtils/Samplers/C0HadEarlyHcalBar1.h"
00081 #include "FastShowerUtils/Samplers/PeakMeanC0HadEarlyHcalBar1.h"
00082 #include "FastShowerUtils/Samplers/PeakSigmaC0HadEarlyHcalBar1.h"
00083 #include "FastShowerUtils/Samplers/TailFracC0HadEarlyHcalBar1.h"
00084 //C02
00085 #include "FastShowerUtils/Samplers/C0HadEarlyHcalBar2.h"
00086 #include "FastShowerUtils/Samplers/TailFracC0HadEarlyHcalBar2.h"
00087 //C03
00088 #include "FastShowerUtils/Samplers/C0HadEarlyHcalBar3.h"
00089 #include "FastShowerUtils/Samplers/TailFracC0HadEarlyHcalBar3.h"
00090 //SN
00091 //#include "FastShowerUtils/SamplerRouterC0Sample.h"
00092 #include "FastShowerUtils/SNSamplerRouterC0Sample.h"
00093 //SN11
00094 #include "FastShowerUtils/Samplers/SNHadEarlyHcalBar1.h"
00095 #include "FastShowerUtils/Samplers/PeakMeanSNHadEarlyHcalBar1.h"
00096 #include "FastShowerUtils/Samplers/PeakSigmaSNHadEarlyHcalBar11.h"
00097 //SN12
00098 #include "FastShowerUtils/Samplers/PeakSigmaSNHadEarlyHcalBar12.h"
00099 //AN
00100 //#include "FastShowerUtils/SamplerRouterSNSample.h"
00101 #include "FastShowerUtils/ANSamplerRouterSNSample.h"
00102 //AN1
00103 #include "FastShowerUtils/Samplers/ANHadEarlyHcalBar1.h"
00104 #include "FastShowerUtils/Samplers/PeakMeanANHadEarlyHcalBar1.h"
00105 #include "FastShowerUtils/Samplers/PeakSigmaANHadEarlyHcalBar1.h"
00106 #include "FastShowerUtils/Samplers/TailFracANHadEarlyHcalBar11.h"
00107 #include "FastShowerUtils/Samplers/TailFracANHadEarlyHcalBar12.h"
00108 #include "FastShowerUtils/Samplers/TailFracANHadEarlyHcalBar13.h"
00109 //AN2
00110 #include "FastShowerUtils/Samplers/ANHadEarlyHcalBar2.h"
00111 //
00112 // *******************  Hcal HaloCells   ****************
00113 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell1.h"
00114 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell2.h"
00115 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell3.h"
00116 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell4.h"
00117 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell5.h"
00118 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell6.h"
00119 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell7.h"
00120 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell8.h"
00121 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell9.h"
00122 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell10.h"
00123 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell11.h"
00124 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell12.h"
00125 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell13.h"
00126 #include "FastShowerUtils/HaloCells/HadEarlyHcalBarHaloCell14.h"
00127 //
00128 // **********************************************************
00129 //Normalisers
00130 #include "FastShowerUtils/Normalisers/HadEarlyEcalNormaliser.h"
00131 #include "FastShowerUtils/Normalisers/HadEarlyHcalNormaliser.h"
00132 #include "FastShowerUtils/Normalisers/HadEcalEtaResponseBar.h"
00133 #include "FastShowerUtils/Normalisers/HadHcalEtaResponseBar.h"
00134 #include "FastShowerUtils/Normalisers/HadEarlyEcalCoreFracBar.h"
00135 #include "FastShowerUtils/Normalisers/HadEarlyHcalCoreFracBar.h"
00136 //
00137 #include "FastShowerUtils/PtrConverter.h"
00138 #include "FastShowerUtils/ISampler.h"
00139 #include "FastShowerUtils/SamplerPtr.h"
00140 #include "FastShowerUtils/INormaliser.h"
00141 #include "FastShowerUtils/NormaliserPtr.h"
00142 #include "FastShowerUtils/IDepositor.h"
00143 #include "FastShowerUtils/DepositorPtr.h"
00144 #include "FastShowerUtils/CoreDepositor.h"
00145 #include "FastShowerUtils/HaloDepositor.h"
00146 #include "FastShowerUtils/PencilDepositor.h"
00147 //
00148 #include "FastShowerUtils/PtrAdapter.h"
00149 //
00150 #include <float.h>
00151 #include <string>
00152 #include <algorithm>
00153 
00154 namespace FastShower{
00155 
00156   //
00157   HadEarlyBarConfigurer::HadEarlyBarConfigurer(Moni m):ConfigurerBase(m){
00158     this->initialise();
00159   }
00160   HadEarlyBarConfigurer::HadEarlyBarConfigurer(NoMoni nm):ConfigurerBase(nm){
00161     this->initialise();
00162   }
00163   void HadEarlyBarConfigurer::initialise(){
00164 
00165     // *********************** ECAL ********************************
00166     //S01
00167     this->addFn("ES011PeakMean",     new  PeakMeanS0HadEarlyEcalBar11);
00168     this->addFn("ES011PeakSigma",    new  PeakSigmaS0HadEarlyEcalBar1);
00169     this->addFn("ES011TailFrac",     new  TailFracS0HadEarlyEcalBar1);
00170     //S02
00171     this->addFn("ES012PeakMean",     new  PeakMeanS0HadEarlyEcalBar12);
00172     this->addFn("ES012PeakSigma",    new  PeakSigmaS0HadEarlyEcalBar1);
00173     this->addFn("ES012TailFrac",     new  TailFracS0HadEarlyEcalBar1);
00174     //S03
00175     this->addFn("ES013PeakMean",     new  PeakMeanS0HadEarlyEcalBar13);
00176     this->addFn("ES013PeakSigma",    new  PeakSigmaS0HadEarlyEcalBar1);
00177     this->addFn("ES013TailFrac",     new  TailFracS0HadEarlyEcalBar1);
00178     //C011
00179     this->addFn("EC011PeakMean",     new  PeakMeanC0HadEarlyEcalBar11);
00180     this->addFn("EC011PeakSigma",    new  PeakSigmaC0HadEarlyEcalBar11);
00181     this->addFn("EC011TailFrac",     new  TailFracC0HadEarlyEcalBar1);
00182     //C012
00183     this->addFn("EC012PeakMean",     new  PeakMeanC0HadEarlyEcalBar12);
00184     this->addFn("EC012PeakSigma",    new  PeakSigmaC0HadEarlyEcalBar12);
00185     this->addFn("EC012TailFrac",     new  TailFracC0HadEarlyEcalBar1);
00186     //SN
00187     this->addFn("ESNPeakMean",       new  PeakMeanSNHadEarlyEcalBar1);
00188     this->addFn("ESNPeakSigma",      new  PeakSigmaSNHadEarlyEcalBar1);
00189     //AN1 
00190     this->addFn("EAN1PeakMean",      new  PeakMeanANHadEarlyEcalBar1);
00191     this->addFn("EAN1PeakSigma",     new  PeakSigmaANHadEarlyEcalBar1);
00192     this->addFn("EAN1TailFrac",      new  TailFracANHadEarlyEcalBar1);
00193     //AN2 
00194     this->addFn("EAN2PeakMean",      new  PeakMeanANHadEarlyEcalBar1);
00195     this->addFn("EAN2PeakSigma",     new  PeakSigmaANHadEarlyEcalBar1);
00196     //
00197     // *********************** HCAL ********************************
00198     //S01
00199     this->addFn("HS01TailFrac",     new  TailFracS0HadEarlyHcalBar1);
00200     //S02
00201     this->addFn("HS02PeakMean",     new  PeakMeanS0HadEarlyHcalBar1);
00202     this->addFn("HS02PeakSigma",    new  PeakSigmaS0HadEarlyHcalBar1);
00203     this->addFn("HS02TailFrac",     new  TailFracS0HadEarlyHcalBar2);
00204     //S03
00205     this->addFn("HS03PeakMean",     new  PeakMeanS0HadEarlyHcalBar1);
00206     this->addFn("HS03PeakSigma",    new  PeakSigmaS0HadEarlyHcalBar1);
00207     this->addFn("HS03TailFrac",     new  TailFracS0HadEarlyHcalBar3);
00208     //C01
00209     this->addFn("HC01TailFrac",     new  TailFracC0HadEarlyHcalBar1);
00210     //C02
00211     this->addFn("HC02PeakMean",     new  PeakMeanC0HadEarlyHcalBar1);
00212     this->addFn("HC02PeakSigma",    new  PeakSigmaC0HadEarlyHcalBar1);
00213     this->addFn("HC02TailFrac",     new  TailFracC0HadEarlyHcalBar2);
00214     //C03
00215     this->addFn("HC03PeakMean",     new  PeakMeanC0HadEarlyHcalBar1);
00216     this->addFn("HC03PeakSigma",    new  PeakSigmaC0HadEarlyHcalBar1);
00217     this->addFn("HC03TailFrac",     new  TailFracC0HadEarlyHcalBar3);
00218     //SN11
00219     this->addFn("HSN11PeakMean",    new  PeakMeanSNHadEarlyHcalBar1);
00220     this->addFn("HSN11PeakSigma",   new  PeakSigmaSNHadEarlyHcalBar11);
00221     //SN12
00222     this->addFn("HSN12PeakMean",    new  PeakMeanSNHadEarlyHcalBar1);
00223     this->addFn("HSN12PeakSigma",   new  PeakSigmaSNHadEarlyHcalBar12);
00224     //AN11
00225     this->addFn("HAN11PeakMean",    new  PeakMeanANHadEarlyHcalBar1);
00226     this->addFn("HAN11PeakSigma",   new  PeakSigmaANHadEarlyHcalBar1);
00227     this->addFn("HAN11TailFrac",    new  TailFracANHadEarlyHcalBar11);
00228     //AN12
00229     this->addFn("HAN12PeakMean",    new  PeakMeanANHadEarlyHcalBar1);
00230     this->addFn("HAN12PeakSigma",   new  PeakSigmaANHadEarlyHcalBar1);
00231     this->addFn("HAN12TailFrac",    new  TailFracANHadEarlyHcalBar12);
00232     //AN13
00233     this->addFn("HAN13PeakMean",    new  PeakMeanANHadEarlyHcalBar1);
00234     this->addFn("HAN13PeakSigma",   new  PeakSigmaANHadEarlyHcalBar1);
00235     this->addFn("HAN13TailFrac",    new  TailFracANHadEarlyHcalBar13);
00236     //AN2 
00237     this->addFn("HAN2PeakMean",     new  PeakMeanANHadEarlyHcalBar1);
00238     this->addFn("HAN2PeakSigma",    new  PeakSigmaANHadEarlyHcalBar1);
00239     //
00240     //*******************************************************
00241     //*        Functions for Ecal HaloDepositor             *
00242     //*******************************************************
00243     this->addFnPP("eHaloCell1",  new  HadEarlyEcalBarHaloCell1);
00244     this->addFnPP("eHaloCell2",  new  HadEarlyEcalBarHaloCell2);
00245     this->addFnPP("eHaloCell3",  new  HadEarlyEcalBarHaloCell3);
00246     this->addFnPP("eHaloCell4",  new  HadEarlyEcalBarHaloCell4);
00247     this->addFnPP("eHaloCell5",  new  HadEarlyEcalBarHaloCell5);
00248     this->addFnPP("eHaloCell6",  new  HadEarlyEcalBarHaloCell6);
00249     this->addFnPP("eHaloCell7",  new  HadEarlyEcalBarHaloCell7);
00250     this->addFnPP("eHaloCell8",  new  HadEarlyEcalBarHaloCell8);
00251     this->addFnPP("eHaloCell9",  new  HadEarlyEcalBarHaloCell9);
00252     this->addFnPP("eHaloCell10",  new  HadEarlyEcalBarHaloCell10);
00253     this->addFnPP("eHaloCell11",  new  HadEarlyEcalBarHaloCell11);
00254     this->addFnPP("eHaloCell12",  new  HadEarlyEcalBarHaloCell12);
00255     this->addFnPP("eHaloCell13",  new  HadEarlyEcalBarHaloCell13);
00256     this->addFnPP("eHaloCell14",  new  HadEarlyEcalBarHaloCell14);
00257     //
00258     //*******************************************************
00259     //*       Functions for Hcal HaloDepositor              *
00260     //*******************************************************
00261     this->addFnPP("hHaloCell1",  new  HadEarlyHcalBarHaloCell1);
00262     this->addFnPP("hHaloCell2",  new  HadEarlyHcalBarHaloCell2);
00263     this->addFnPP("hHaloCell3",  new  HadEarlyHcalBarHaloCell3);
00264     this->addFnPP("hHaloCell4",  new  HadEarlyHcalBarHaloCell4);
00265     this->addFnPP("hHaloCell5",  new  HadEarlyHcalBarHaloCell5);
00266     this->addFnPP("hHaloCell6",  new  HadEarlyHcalBarHaloCell6);
00267     this->addFnPP("hHaloCell7",  new  HadEarlyHcalBarHaloCell7);
00268     this->addFnPP("hHaloCell8",  new  HadEarlyHcalBarHaloCell8);
00269     this->addFnPP("hHaloCell9",  new  HadEarlyHcalBarHaloCell9);
00270     this->addFnPP("hHaloCell10",  new  HadEarlyHcalBarHaloCell10);
00271     this->addFnPP("hHaloCell11",  new  HadEarlyHcalBarHaloCell11);
00272     this->addFnPP("hHaloCell12",  new  HadEarlyHcalBarHaloCell12);
00273     this->addFnPP("hHaloCell13",  new  HadEarlyHcalBarHaloCell13);
00274     this->addFnPP("hHaloCell14",  new  HadEarlyHcalBarHaloCell14);
00275     //
00276     //*******************************************************
00277     //*              Functions for Normalisers              *
00278     //*******************************************************
00279     this->addFnPP("EcalEtaResponse",  new  HadEcalEtaResponseBar);
00280     this->addFnPP("HcalEtaResponse",  new  HadHcalEtaResponseBar);
00281     this->addFnPP("EcalCoreFraction", new  HadEarlyEcalCoreFracBar);
00282     this->addFnPP("HcalCoreFraction", new  HadEarlyHcalCoreFracBar);
00283     //
00284     //*******************************************************
00285     //*    IUpdating Gaussians (Peaks for Ecal  Samplers)   *
00286     //*******************************************************
00287     this->addIUG("ES011Peak",  this->makeUpdatingGaussian0LP("ES011") );
00288     this->addIUG("ES012Peak",  this->makeUpdatingGaussian0LP("ES012") );
00289     this->addIUG("ES013Peak",  this->makeUpdatingGaussian0LP("ES013") );
00290     this->addIUG("EC011Peak",  this->makeUpdatingGaussian0LP("EC011") );
00291     this->addIUG("EC012Peak",  this->makeUpdatingGaussian0LP("EC012") );
00292     this->addIUG("ESNPeak",    this->makeUpdatingGaussian01P("ESN") );
00293     this->addIUG("EAN1Peak",   this->makeUpdatingGaussian0LP("EAN1") );
00294     this->addIUG("EAN2Peak",   this->makeUpdatingGaussian0LP("EAN2") );
00295     //
00296     //*******************************************************
00297     //*   ECAL    Samplers                                  *
00298     //*******************************************************
00299     this->addSampler("ES011", new S0HadEarlyEcalBar1(this, "ES011") );
00300     this->addSampler("ES012", new S0HadEarlyEcalBar1(this, "ES012") );
00301     this->addSampler("ES013", new S0HadEarlyEcalBar1(this, "ES013") );
00302     this->addSampler("EC011", new C0HadEarlyEcalBar1(this, "EC011") );
00303     this->addSampler("EC012", new C0HadEarlyEcalBar1(this, "EC012") );
00304     this->addSampler("ESN",   new SNHadEarlyEcalBar1(this, "ESN") );
00305     this->addSampler("EAN1",  new ANHadEarlyEcalBar1(this, "EAN1") );
00306     this->addSampler("EAN2",  new ANHadEarlyEcalBar2(this, "EAN2") );
00307 
00308     this->addSampler("ES0",   this->makeES0() );
00309     this->addSampler("EC0",   this->makeEC0() );
00310     this->addSampler("EAN",   this->makeEAN() );
00311     //
00312     //*******************************************************
00313     //*    IUpdating Gaussians (Peaks for Hcal  Samplers)   *
00314     //*******************************************************
00315     this->addIUG("HS02Peak",  this->makeUpdatingGaussian0LP("HS02") );
00316     this->addIUG("HS03Peak",  this->makeUpdatingGaussian0LP("HS03") );
00317     this->addIUG("HC02Peak",  this->makeUpdatingGaussian02P("HC02") );
00318     this->addIUG("HC03Peak",  this->makeUpdatingGaussian0LP("HC03") );
00319     this->addIUG("HSN11Peak", this->makeUpdatingGaussian01P("HSN11") );
00320     this->addIUG("HSN12Peak", this->makeUpdatingGaussian01P("HSN12") );
00321     this->addIUG("HAN11Peak", this->makeUpdatingGaussian0LP("HAN11") );
00322     this->addIUG("HAN12Peak", this->makeUpdatingGaussian0LP("HAN12") );
00323     this->addIUG("HAN13Peak", this->makeUpdatingGaussian0LP("HAN13") );
00324     this->addIUG("HAN2Peak",  this->makeUpdatingGaussian0LP("HAN2") );
00325     //
00326     //*******************************************************
00327     //*   HCAL    Samplers                                  *
00328     //*******************************************************
00329     this->addSampler("HS01",  new S0HadEarlyHcalBar1(this, "HS01") );
00330     this->addSampler("HS02",  new S0HadEarlyHcalBar2(this, "HS02") );
00331     this->addSampler("HS03",  new S0HadEarlyHcalBar3(this, "HS03") );
00332     this->addSampler("HC01",  new C0HadEarlyHcalBar1(this, "HC01") );
00333     this->addSampler("HC02",  new C0HadEarlyHcalBar2(this, "HC02") );
00334     this->addSampler("HC03",  new C0HadEarlyHcalBar3(this, "HC03") );
00335     this->addSampler("HSN11", new SNHadEarlyHcalBar1(this, "HSN11") );
00336     this->addSampler("HSN12", new SNHadEarlyHcalBar1(this, "HSN12") );
00337     this->addSampler("HAN11", new ANHadEarlyHcalBar1(this, "HAN11") );
00338     this->addSampler("HAN12", new ANHadEarlyHcalBar1(this, "HAN12") );
00339     this->addSampler("HAN13", new ANHadEarlyHcalBar1(this, "HAN13") );
00340     this->addSampler("HAN2",  new ANHadEarlyHcalBar2(this, "HAN2") );
00341 
00342     this->addSampler("HS0",   this->makeHS0() );
00343     this->addSampler("HC0",   this->makeHC0() );
00344     this->addSampler("HSN",   this->makeHSN() );
00345     this->addSampler("HAN",   this->makeHAN() );
00346     //
00347     //*******************************************************
00348     //*       Depositors                                    *
00349     //*******************************************************
00350     this->addDepositorsE();
00351     this->addDepositorsH();
00352     //*******************************************************
00353     //*       Normalisers                                   *
00354     //*******************************************************
00355     this->normalisers();
00356    }
00357   //
00359   ISampler* HadEarlyBarConfigurer::makeES0() const {
00360 
00361     std::vector< std::pair<double, ISampler*> > v;
00362     v.push_back(std::pair<double, ISampler*>(  30.0, this->findSampler("ES011"))); 
00363     v.push_back(std::pair<double, ISampler*>(  75.0, this->findSampler("ES012")));
00364     v.push_back(std::pair<double, ISampler*>(FLT_MAX, this->findSampler("ES013")));
00365     //return new SamplerRouterEnergySample(v, 0.0, "ES0Router");
00366     return new S0SamplerRouterEnergySample(v, 0.0, "ES0Router");
00367     
00368   }
00370   ISampler* HadEarlyBarConfigurer::makeEC0() const {
00371 
00372     std::vector< std::pair<double, ISampler*> > v;
00373     v.push_back(std::pair<double, ISampler*>(0.6, this->findSampler("EC011"))); 
00374     v.push_back(std::pair<double, ISampler*>(1.0, this->findSampler("EC012")));
00375     //return new SamplerRouterRndmSample(v, 0.0, "EC0Router");
00376     return new C0SamplerRouterRandomSample(v, 0.0, "EC0Router");
00377     
00378   }
00380   ISampler* HadEarlyBarConfigurer::makeEAN() const {
00381 
00382     std::vector< std::pair<double, ISampler*> > v;
00383     v.push_back(std::pair<double, ISampler*>(0.15, this->findSampler("EAN1"))); 
00384     v.push_back(std::pair<double, ISampler*>(1.00, this->findSampler("EAN2"))); 
00385     //return new SamplerRouterSNSample(v, 0.0, "EANRouter");
00386     return new ANSamplerRouterSNSample(v, 0.0, "EANRouter");
00387 
00388   }
00390   ISampler* HadEarlyBarConfigurer::makeHS0() const {
00391 
00392     std::vector< std::pair<double, ISampler*> > v;
00393     v.push_back(std::pair<double, ISampler*>(  15.0, this->findSampler("HS01"))); 
00394     v.push_back(std::pair<double, ISampler*>(  30.0, this->findSampler("HS02")));
00395     v.push_back(std::pair<double, ISampler*>(FLT_MAX, this->findSampler("HS03")));
00396     //return new SamplerRouterEnergySample(v, 0.0, "HS0Router");
00397     return new S0SamplerRouterEnergySample(v, 0.0, "HS0Router");
00398     
00399   }
00401   ISampler* HadEarlyBarConfigurer::makeHC0() const {
00402 
00403     std::vector< std::pair<double, ISampler*> > v;
00404     v.push_back(std::pair<double, ISampler*>(  15.0, this->findSampler("HC01"))); 
00405     v.push_back(std::pair<double, ISampler*>(  30.0, this->findSampler("HC02")));
00406     v.push_back(std::pair<double, ISampler*>(FLT_MAX, this->findSampler("HC03")));
00407     //return new SamplerRouterEnergySample(v, 0.0, "HC0Router");
00408     return new C0SamplerRouterEnergySample(v, 0.0, "HC0Router");
00409     
00410   }
00412   ISampler* HadEarlyBarConfigurer::makeHSN() const {
00413 
00414     std::vector< std::pair<double, ISampler*> > v;
00415     v.push_back(std::pair<double, ISampler*>(0.6, this->findSampler("HSN11"))); 
00416     v.push_back(std::pair<double, ISampler*>(1.0, this->findSampler("HSN12"))); 
00417     //return new SamplerRouterC0Sample(v, 0.0, "HSNRouter");
00418     return new SNSamplerRouterC0Sample(v, 0.0, "HSNRouter");
00419 
00420   }
00422   ISampler* HadEarlyBarConfigurer::makeHAN() const {
00423 
00424     std::vector< std::pair<double, ISampler*> > vr;
00425     vr.push_back(std::pair<double, ISampler*>(0.05, this->findSampler("HAN11"))); 
00426     vr.push_back(std::pair<double, ISampler*>(0.10, this->findSampler("HAN12")));
00427     vr.push_back(std::pair<double, ISampler*>(0.15, this->findSampler("HAN13")));
00428     //ISampler* snSampler = new  SamplerRouterSNSample(vr, 0.0, "HAN1Router");
00429     ISampler* snSampler = new  ANSamplerRouterSNSample(vr, 0.0, "HAN1Router");
00430     
00431     std::vector< std::pair<double, ISampler*> > v;
00432     v.push_back(std::pair<double, ISampler*>(0.15, snSampler)); 
00433     v.push_back(std::pair<double, ISampler*>(1.00, this->findSampler("HAN2"))); 
00434     //return new SamplerRouterSNSample(v, 0.0, "HANRouter");
00435     return new ANSamplerRouterSNSample(v, 0.0, "HANRouter");
00436 
00437   }
00439   void HadEarlyBarConfigurer::addDepositorsE(){
00440     
00441     this->addEdepositor( "EcalCore",
00442                          new CoreDepositor(
00443                                            this->findSampler("ES0"),
00444                                            this->findSampler("EC0"),
00445                                            this->findSampler("ESN"),
00446                                            this->findSampler("EAN")
00447                                            )
00448                          );
00449 
00450     this->addEdepositor( "EcalHalo", new HaloDepositor(this,"eHalo"));
00451 
00452   }
00454   void HadEarlyBarConfigurer::addDepositorsH(){
00455     
00456     this->addHdepositor( "HcalCore",
00457                          new CoreDepositor(
00458                                            this->findSampler("HS0"),
00459                                            this->findSampler("HC0"),
00460                                            this->findSampler("HSN"),
00461                                            this->findSampler("HAN")
00462                                            )
00463                          );
00464 
00465     this->addHdepositor( "HcalHalo", new HaloDepositor(this,"hHalo"));
00466     
00467   }
00469   void HadEarlyBarConfigurer::normalisers(){
00470     this->addNormaliser("EcalNormaliser",  
00471                         new HadEarlyEcalNormaliser(this,"HadEarlyBarEcalNormaliser"));
00472     this->addNormaliser("HcalNormaliser",  
00473                         new HadEarlyHcalNormaliser(this,"HadEarlyBarHcalNormaliser"));
00474   }
00475 }//namespace
00476 
00477 
00478 
00479 
00480 
00481 
00482 
00483 
00484 

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