00001
00002 #include "StjBEMCTowerMaker.h"
00003
00004
00005 #include "StjTowerEnergyCut2003BemcTower.h"
00006 #include "StjTowerEnergyCutBemcWestOnly.h"
00007 #include "StjTowerEnergyCutEnergy.h"
00008 #include "StjTowerEnergyCutBemcStatus.h"
00009 #include "StjTowerEnergyCutAdc.h"
00010
00011 #include "StjTowerEnergyListWriter.h"
00012
00013 #include "StjBEMCMuDst.h"
00014 #include "StjTowerEnergyListCut.h"
00015 #include "StjBEMCTxt.h"
00016
00017 #include <TDirectory.h>
00018
00019 #include <iostream>
00020
00021 using namespace std;
00022
00023 ClassImp(StjBEMCTowerMaker)
00024
00025
00026 StjBEMCTowerMaker::StjBEMCTowerMaker(const Char_t *name, TDirectory* file, StMuDstMaker* uDstMaker)
00027 : StMaker(name)
00028 , _file(file)
00029 , _uDstMaker(uDstMaker)
00030 { }
00031
00032 Int_t StjBEMCTowerMaker::Init()
00033 {
00034 _bemc = new StjBEMCMuDst;
00035
00036
00037
00038 _bemcCut = new StjTowerEnergyListCut();
00039 _bemcCut->addCut(new StjTowerEnergyCutBemcWestOnly());
00040 _bemcCut->addCut(new StjTowerEnergyCutEnergy());
00041 _bemcCut->addCut(new StjTowerEnergyCutBemcStatus());
00042 _bemcCut->addCut(new StjTowerEnergyCutAdc());
00043
00044 _writer = new StjTowerEnergyListWriter("bemcTowers", _file);
00045
00046 return kStOk;
00047 }
00048
00049 Int_t StjBEMCTowerMaker::Make()
00050 {
00051 StjTowerEnergyList energyList = _bemc->getEnergyList();
00052
00053 energyList = (*_bemcCut)(energyList);
00054
00055 _writer->Fill(energyList);
00056
00057 return kStOk;
00058
00059 }
00060
00061 Int_t StjBEMCTowerMaker::Finish()
00062 {
00063 _writer->Finish();
00064
00065 return kStOk;
00066 }