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

HadLateBarConfigurer.cxx

Go to the documentation of this file.
00001 #include "FastShowerUtils/HadLateBarConfigurer.h"
00002 
00003 //S0
00004 #include "FastShowerUtils/Samplers/S0HadLateHcalBar1.h"
00005 #include "FastShowerUtils/Samplers/PeakMeanS0HadLateHcalBar1.h"
00006 #include "FastShowerUtils/Samplers/PeakSigmaS0HadLateHcalBar1.h"
00007 #include "FastShowerUtils/Samplers/TailFracS0HadLateHcalBar1.h"
00008 //C01
00009 //#include "FastShowerUtils/SamplerRouterADPhiSample.h"
00010 #include "FastShowerUtils/C0SamplerRouterADPhiSample.h"
00011 //#include "FastShowerUtils/SamplerRouterRndmSample.h"
00012 #include "FastShowerUtils/C0SamplerRouterRandomSample.h"
00013 //
00014 #include "FastShowerUtils/Samplers/C0HadLateHcalBar1.h"
00015 #include "FastShowerUtils/Samplers/PeakMeanC0HadLateHcalBar1.h"
00016 #include "FastShowerUtils/Samplers/PeakSigmaC0HadLateHcalBar1.h"
00017 //C02
00018 #include "FastShowerUtils/Samplers/C0HadLateHcalBar2.h"
00019 #include "FastShowerUtils/Samplers/PeakMeanC0HadLateHcalBar21.h"
00020 #include "FastShowerUtils/Samplers/PeakSigmaC0HadLateHcalBar21.h"
00021 #include "FastShowerUtils/Samplers/PeakMeanC0HadLateHcalBar22.h"
00022 #include "FastShowerUtils/Samplers/PeakSigmaC0HadLateHcalBar22.h"
00023 //SN
00024 //#include "FastShowerUtils/SamplerRouterC0Sample.h"
00025 #include "FastShowerUtils/SNSamplerRouterC0Sample.h"
00026 //
00027 #include "FastShowerUtils/Samplers/SNHadLateHcalBar1.h"
00028 #include "FastShowerUtils/Samplers/PeakMeanSNHadLateHcalBar1.h"
00029 #include "FastShowerUtils/Samplers/PeakSigmaSNHadLateHcalBar11.h"
00030 #include "FastShowerUtils/Samplers/PeakSigmaSNHadLateHcalBar12.h"
00031 //AN1
00032 //#include "FastShowerUtils/SamplerRouterSNSample.h"
00033 #include "FastShowerUtils/ANSamplerRouterSNSample.h"
00034 //
00035 #include "FastShowerUtils/Samplers/ANHadLateHcalBar1.h"
00036 #include "FastShowerUtils/Samplers/PeakMeanANHadLateHcalBar1.h"
00037 #include "FastShowerUtils/Samplers/PeakSigmaANHadLateHcalBar1.h"
00038 #include "FastShowerUtils/Samplers/TailFracANHadLateHcalBar1.h"
00039 //AN2
00040 #include "FastShowerUtils/Samplers/ANHadLateHcalBar2.h"
00041 //
00042 //HaloCells
00043 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell1.h"
00044 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell2.h"
00045 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell3.h"
00046 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell4.h"
00047 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell5.h"
00048 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell6.h"
00049 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell7.h"
00050 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell8.h"
00051 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell9.h"
00052 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell10.h"
00053 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell11.h"
00054 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell12.h"
00055 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell13.h"
00056 #include "FastShowerUtils/HaloCells/HadLateHcalBarHaloCell14.h"
00057 //
00058 //Normalisers
00059 #include "FastShowerUtils/Normalisers/HadLateEcalNormaliser.h"
00060 #include "FastShowerUtils/Normalisers/HadLateHcalNormaliser.h"
00061 #include "FastShowerUtils/Normalisers/HadEcalEtaResponseBar.h"
00062 #include "FastShowerUtils/Normalisers/HadHcalEtaResponseBar.h"
00063 #include "FastShowerUtils/Normalisers/HadLateHcalCoreFracBar.h"
00064 //
00065 #include "FastShowerUtils/PtrConverter.h"
00066 #include "FastShowerUtils/ISampler.h"
00067 #include "FastShowerUtils/SamplerPtr.h"
00068 #include "FastShowerUtils/INormaliser.h"
00069 #include "FastShowerUtils/NormaliserPtr.h"
00070 #include "FastShowerUtils/IDepositor.h"
00071 #include "FastShowerUtils/DepositorPtr.h"
00072 #include "FastShowerUtils/CoreDepositor.h"
00073 #include "FastShowerUtils/HaloDepositor.h"
00074 #include "FastShowerUtils/PencilDepositor.h"
00075 //
00076 #include "FastShowerUtils/PtrAdapter.h"
00077 //
00078 #include <string>
00079 #include <algorithm>
00080 
00081 namespace FastShower{
00082 
00083   //
00084   HadLateBarConfigurer::HadLateBarConfigurer(Moni m):ConfigurerBase(m){
00085     this->initialise();
00086   }
00087   HadLateBarConfigurer::HadLateBarConfigurer(NoMoni nm):ConfigurerBase(nm){
00088     this->initialise();
00089   }
00090   void HadLateBarConfigurer::initialise(){
00091     //S0
00092     this->addFn("S0PeakMean",        new  PeakMeanS0HadLateHcalBar1);
00093     this->addFn("S0PeakSigma",       new  PeakSigmaS0HadLateHcalBar1);
00094     this->addFn("S0TailFrac",        new  TailFracS0HadLateHcalBar1);
00095     //C01
00096     this->addFn("C01PeakMean",       new  PeakMeanC0HadLateHcalBar1);
00097     this->addFn("C01PeakSigma",      new  PeakSigmaC0HadLateHcalBar1);
00098     //C021
00099     this->addFn("C021PeakMean",      new  PeakMeanC0HadLateHcalBar21);
00100     this->addFn("C021PeakSigma",     new  PeakSigmaC0HadLateHcalBar21);
00101     //C022
00102     this->addFn("C022PeakMean",      new  PeakMeanC0HadLateHcalBar22);
00103     this->addFn("C022PeakSigma",     new  PeakSigmaC0HadLateHcalBar22);
00104     //SN11
00105     this->addFn("SN1PeakMean",       new  PeakMeanSNHadLateHcalBar1);
00106     this->addFn("SN1PeakSigma",      new  PeakSigmaSNHadLateHcalBar11);
00107     //SN12
00108     this->addFn("SN2PeakMean",       new  PeakMeanSNHadLateHcalBar1);
00109     this->addFn("SN2PeakSigma",      new  PeakSigmaSNHadLateHcalBar12);
00110     //AN1 
00111     this->addFn("AN1PeakMean",       new  PeakMeanANHadLateHcalBar1);
00112     this->addFn("AN1PeakSigma",      new  PeakSigmaANHadLateHcalBar1);
00113     this->addFn("AN1TailFrac",       new  TailFracANHadLateHcalBar1);
00114     //AN2 
00115     this->addFn("AN2PeakMean",       new  PeakMeanANHadLateHcalBar1);
00116     this->addFn("AN2PeakSigma",      new  PeakSigmaANHadLateHcalBar1);
00117     //
00118     //*******************************************************
00119     //*           Functions for HaloDepositor               *
00120     //*******************************************************
00121     this->addFnPP("HaloCell1",  new  HadLateHcalBarHaloCell1);
00122     this->addFnPP("HaloCell2",  new  HadLateHcalBarHaloCell2);
00123     this->addFnPP("HaloCell3",  new  HadLateHcalBarHaloCell3);
00124     this->addFnPP("HaloCell4",  new  HadLateHcalBarHaloCell4);
00125     this->addFnPP("HaloCell5",  new  HadLateHcalBarHaloCell5);
00126     this->addFnPP("HaloCell6",  new  HadLateHcalBarHaloCell6);
00127     this->addFnPP("HaloCell7",  new  HadLateHcalBarHaloCell7);
00128     this->addFnPP("HaloCell8",  new  HadLateHcalBarHaloCell8);
00129     this->addFnPP("HaloCell9",  new  HadLateHcalBarHaloCell9);
00130     this->addFnPP("HaloCell10",  new  HadLateHcalBarHaloCell10);
00131     this->addFnPP("HaloCell11",  new  HadLateHcalBarHaloCell11);
00132     this->addFnPP("HaloCell12",  new  HadLateHcalBarHaloCell12);
00133     this->addFnPP("HaloCell13",  new  HadLateHcalBarHaloCell13);
00134     this->addFnPP("HaloCell14",  new  HadLateHcalBarHaloCell14);
00135     //
00136     //*******************************************************
00137     //*              Functions for Normalisers              *
00138     //*******************************************************
00139     this->addFnPP("EcalEtaResponse",  new  HadEcalEtaResponseBar);
00140     this->addFnPP("HcalEtaResponse",  new  HadHcalEtaResponseBar);
00141     this->addFnPP("HcalCoreFraction", new  HadLateHcalCoreFracBar);
00142     //
00143     //*******************************************************
00144     //*       IUpdating Gaussians (Peaks for Samplers)      *
00145     //*******************************************************
00146     this->addIUG("S0Peak",   this->makeUpdatingGaussian0LP("S0") );
00147     this->addIUG("C01Peak",  this->makeUpdatingGaussian0LP("C01") );
00148     this->addIUG("C021Peak", this->makeUpdatingGaussian0LP("C021") );
00149     this->addIUG("C022Peak", this->makeUpdatingGaussian0LP("C022") );
00150     this->addIUG("SN1Peak",  this->makeUpdatingGaussian01P("SN1") );
00151     this->addIUG("SN2Peak",  this->makeUpdatingGaussian01P("SN2") );
00152     this->addIUG("AN1Peak",  this->makeUpdatingGaussian0LP("AN1") );
00153     this->addIUG("AN2Peak",  this->makeUpdatingGaussian0LP("AN2") );
00154     //
00155     //*******************************************************
00156     //*       Samplers                                      *
00157     //*******************************************************
00158     this->addSampler("S0",   new S0HadLateHcalBar1(this, "S0") );
00159     this->addSampler("C01",  new C0HadLateHcalBar1(this, "C01") );
00160     this->addSampler("C021", new C0HadLateHcalBar2(this, "C021") );
00161     this->addSampler("C022", new C0HadLateHcalBar2(this, "C022") );
00162     this->addSampler("SN1",  new SNHadLateHcalBar1(this, "SN1") );
00163     this->addSampler("SN2",  new SNHadLateHcalBar1(this, "SN2") );
00164     this->addSampler("AN1",  new ANHadLateHcalBar1(this, "AN1") );
00165     this->addSampler("AN2",  new ANHadLateHcalBar2(this, "AN2") );
00166 
00167     this->addSampler("C0",   this->makeC0() );
00168     this->addSampler("SN",   this->makeSN() );
00169     this->addSampler("AN",   this->makeAN() );
00170     //
00171     //*******************************************************
00172     //*       Depositors                                    *
00173     //*******************************************************
00174     this->addDepositorsE();
00175     this->addDepositorsH();
00176     //*******************************************************
00177     //*       Normalisers                                   *
00178     //*******************************************************
00179     this->normalisers();
00180    }
00181   //
00183   ISampler* HadLateBarConfigurer::makeC0() const {
00184 
00185     std::vector< std::pair<double, ISampler*> > vr;
00186     vr.push_back(std::pair<double, ISampler*>(0.5, this->findSampler("C021"))); 
00187     vr.push_back(std::pair<double, ISampler*>(1.0, this->findSampler("C022")));
00188     //ISampler* rndmSampler = new  SamplerRouterRndmSample(vr, 0.0, "C02Router");
00189     ISampler* rndmSampler = new  C0SamplerRouterRandomSample(vr, 0.0, "C02Router");
00190     
00191     std::vector< std::pair<double, ISampler*> > v;
00192     v.push_back(std::pair<double, ISampler*>(0.020, this->findSampler("C01"))); 
00193     v.push_back(std::pair<double, ISampler*>(0.050, rndmSampler)); 
00194     //return new SamplerRouterADPhiSample(v, 0.0, "C0Router");
00195     return new C0SamplerRouterADPhiSample(v, 0.0, "C0Router");
00196     
00197   }
00199   ISampler* HadLateBarConfigurer::makeSN() const {
00200 
00201     std::vector< std::pair<double, ISampler*> > v;
00202     v.push_back(std::pair<double, ISampler*>(0.6, this->findSampler("SN1"))); 
00203     v.push_back(std::pair<double, ISampler*>(1.0, this->findSampler("SN2"))); 
00204     //return new SamplerRouterC0Sample(v, 0.0, "SNRouter");
00205     return new SNSamplerRouterC0Sample(v, 0.0, "SNRouter");
00206     
00207   }
00209   ISampler* HadLateBarConfigurer::makeAN() const {
00210 
00211     std::vector< std::pair<double, ISampler*> > v;
00212     v.push_back(std::pair<double, ISampler*>(0.15, this->findSampler("AN1"))); 
00213     v.push_back(std::pair<double, ISampler*>(1.00, this->findSampler("AN2"))); 
00214     //return new SamplerRouterSNSample(v, 0.0, "ANRouter");
00215     return new ANSamplerRouterSNSample(v, 0.0, "ANRouter");
00216 
00217   }
00219   void HadLateBarConfigurer::addDepositorsE(){
00220     
00221     this->addEdepositor( "ECalPencil", new PencilDepositor);
00222 
00223   }
00225   void HadLateBarConfigurer::addDepositorsH(){
00226     
00227     this->addHdepositor( "HcalCore",
00228                          new CoreDepositor(
00229                                            this->findSampler("S0"),
00230                                            this->findSampler("C0"),
00231                                            this->findSampler("SN"),
00232                                            this->findSampler("AN")
00233                                            )
00234                          );
00235 
00236     this->addHdepositor( "HcalHalo", new HaloDepositor(this,"Halo"));
00237     
00238   }
00240   void HadLateBarConfigurer::normalisers(){
00241     this->addNormaliser("EcalNormaliser",  
00242                         new HadLateEcalNormaliser(this,"HadLateBarEcalNormaliser"));
00243     this->addNormaliser("HcalNormaliser",  
00244                         new HadLateHcalNormaliser(this,"HadLateBarHcalNormaliser"));
00245   }
00246 }//namespace
00247 
00248 
00249 
00250 
00251 
00252 
00253 
00254 
00255 

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