00001 #include <Utilities/Configuration/interface/Architecture.h>
00002
00003 #include "CARF/G3Event/interface/G3EventProxy.h"
00004 #include "Utilities/Notification/interface/Observer.h"
00005
00006
00007 #include "Calorimetry/CaloRecHit/interface/CaloRecHit.h"
00008 #include "Calorimetry/EcalPlusHcalTower/interface/EcalPlusHcalTower.h"
00009 #include "Calorimetry/EcalPlusHcalTower/src/EcalPlusHcalTowerBuilder.h"
00010 #include "Calorimetry/CaloCommon/interface/CaloItr.h"
00011 #include "Calorimetry/CaloDetector/interface/CellID.h"
00012
00013
00014 #include "CARF/Reco/interface/RecItr.h"
00015 #include "CARF/Reco/interface/Reconstructor.h"
00016
00017 #include "Utilities/Notification/interface/PackageInitializer.h"
00018
00019 #include "CLHEP/Geometry/Point3D.h"
00020 #include "CLHEP/Units/PhysicalConstants.h"
00021
00022
00023 #include <XANADOO/XANAEtMiss/interface/XANAEtMiss.h>
00024
00025 #include <iostream>
00026
00027 class EtMissTrivialTest : private Observer<G3EventProxy *>
00028 {
00029 public:
00030 EtMissTrivialTest(){ Observer<G3EventProxy *>::init() ;}
00031 ~EtMissTrivialTest(){ cout<<"End of EtMissTrivialTest"<<endl;}
00032 void FillingTest(G3EventProxy *ev);
00033 private:
00034 void upDate(G3EventProxy *ev){if (ev!=0) FillingTest(ev);}
00035 void FillEtMiss(G3EventProxy *ev, EtMiss *a);
00036 void Print(EtMiss a);
00037 };
00038
00039 void EtMissTrivialTest::FillingTest(G3EventProxy *ev)
00040 {
00041 EtMiss* myMet = new EtMiss();
00042 FillEtMiss (ev,myMet);
00043 Print(*myMet);
00044 delete myMet;
00045 }
00046
00047 void EtMissTrivialTest::Print(EtMiss a)
00048 {
00049 cout<<"\n ********* ECAL ******************"<<endl;
00050 for (int i=0;i<5;i++){cout<<a.getEECal(i)<<" ";}
00051 cout<<endl;
00052 for (int i=0;i<5;i++){cout<<a.getEScalarECal(i)<<" ";}
00053
00054 cout<<"\n ********* HCAL ******************"<<endl;
00055 for (int i=0;i<5;i++){cout<<a.getEHCal(i)<<" ";}
00056 cout<<endl;
00057 for (int i=0;i<5;i++){cout<<a.getEScalarHCal(i)<<" ";}
00058
00059 cout<<"\n ********* Total ******************"<<endl;
00060 for (int i=0;i<5;i++){cout<<a.getE(i)<<" ";}
00061 cout<<endl;
00062 for (int i=0;i<5;i++){cout<<a.getEScalar(i)<<" ";}
00063
00064 cout<<"\n ********* MC ******************"<<endl;
00065 for (int i=0;i<5;i++){cout<<a.getETrue(i)<<" ";}
00066 cout<<endl<<endl;
00067
00068 }
00069
00070 void EtMissTrivialTest::FillEtMiss(G3EventProxy *ev, EtMiss* a)
00071 {
00072 a->SetEECal(1,2.5,4.5);
00073 a->SetEHCal(10,20.5,40.5);
00074
00075 a->SetEScalECal(11,12,13,55,56);
00076 a->SetEScalECal(110,120,130,70,80);
00077 a->SetETotal(50,60,70);
00078 a->SetEScalTotal(0.9,0.4,0.3,10.3,20.3);
00079
00080 }
00081
00082 static PKBuilder<EtMissTrivialTest> pippo("EtMissTrivialTest") ;