00001
00002
00003 #include "StjeBemcEnergySumCalculatorBuilder.h"
00004 #include "StjeBemcEnergySumCalculator.h"
00005
00006 #include "StjBEMCMuDst.h"
00007 #include "StjTowerEnergyListCut.h"
00008
00009 #include "StjTowerEnergyCut2003BemcTower.h"
00010 #include "StjTowerEnergyCutBemcWestOnly.h"
00011 #include "StjTowerEnergyCutEnergy.h"
00012 #include "StjTowerEnergyCutBemcStatus.h"
00013 #include "StjTowerEnergyCutAdc.h"
00014
00015 StjeBemcEnergySumCalculator* StjeBemcEnergySumCalculatorBuilder::build(bool useBEMC, bool use2003Cuts, bool use2005Cuts, StMuDstMaker* uDstMaker, bool doTowerSwapFix)
00016 {
00017 if(!useBEMC) return new StjeBemcEnergySumCalculatorNull;
00018
00019 StjBEMCMuDst* bemc = new StjBEMCMuDst(doTowerSwapFix);
00020 StjTowerEnergyListCut* bemcCut = new StjTowerEnergyListCut();
00021 if(use2003Cuts) bemcCut->addCut(new StjTowerEnergyCut2003BemcTower());
00022 if(use2005Cuts) bemcCut->addCut(new StjTowerEnergyCutBemcWestOnly());
00023 bemcCut->addCut(new StjTowerEnergyCutEnergy());
00024 bemcCut->addCut(new StjTowerEnergyCutBemcStatus());
00025 bemcCut->addCut(new StjTowerEnergyCutAdc());
00026
00027 return new StjeBemcEnergySumCalculatorImp(bemc, bemcCut);
00028 }