00001 #include <StMaker.h>
00002
00003 #include "StjBEMCMuDst.h"
00004
00005 #include "StjTowerEnergyListCut.h"
00006 #include "StjTowerEnergyCut2003BemcTower.h"
00007 #include "StjTowerEnergyCutBemcWestOnly.h"
00008 #include "StjTowerEnergyCutEnergy.h"
00009 #include "StjTowerEnergyCutBemcStatus.h"
00010 #include "StjTowerEnergyCutAdc.h"
00011 #include "StjTowerEnergyCutTowerId.h"
00012
00013 #include "StjTowerEnergyListWriter.h"
00014
00015 #include <TDirectory.h>
00016
00017 class StjBEMCTowerEnergyListMaker : public StMaker {
00018
00019 public:
00020
00021 StjBEMCTowerEnergyListMaker(const Char_t *name, TDirectory* file, StMuDstMaker* uDstMaker)
00022 : StMaker(name), _file(file), _uDstMaker(uDstMaker) { }
00023 virtual ~StjBEMCTowerEnergyListMaker() { }
00024
00025 const char* GetCVS() const
00026 {static const char cvs[]="Tag $Name: $ $Id: StjBEMCTowerEnergyListMaker.C,v 1.2 2008/11/21 01:38:06 tai Exp $ built "__DATE__" "__TIME__; return cvs;}
00027
00028 private:
00029
00030 TDirectory* _file;
00031
00032 StMuDstMaker* _uDstMaker;
00033
00034 StjBEMC* _bemc;
00035 StjTowerEnergyListCut _bemcCut;
00036
00037 StjTowerEnergyListWriter* _writer;
00038
00039 public:
00040
00041 Int_t Init()
00042 {
00043 _bemc = new StjBEMCMuDst(_uDstMaker, true);
00044
00045 _bemcCut.addCut(new StjTowerEnergyCutEnergy(0.0));
00046 _bemcCut.addCut(new StjTowerEnergyCutBemcStatus(1));
00047 _bemcCut.addCut(new StjTowerEnergyCutAdc(0, 2.0));
00048
00049 _writer = new StjTowerEnergyListWriter("bemcTowers", _file);
00050
00051 return kStOk;
00052 }
00053
00054 Int_t Make()
00055 {
00056 StjTowerEnergyList energyList = _bemc->getEnergyList();
00057
00058 energyList = _bemcCut(energyList);
00059
00060 _writer->Fill(energyList);
00061
00062 return kStOk;
00063 }
00064
00065 Int_t Finish()
00066 {
00067 _writer->Finish();
00068
00069 return kStOk;
00070 }
00071
00072 ClassDef(StjBEMCTowerEnergyListMaker, 1)
00073 };