00001
00002
00003
00004 #ifndef STJTRGSOFTETTHRESHOLDBJP_H
00005 #define STJTRGSOFTETTHRESHOLDBJP_H
00006
00007 #include <StjTrgSoft.h>
00008
00009 #include <StjTowerEnergyList.h>
00010 #include <StjTowerEnergyListCut.h>
00011
00012 #include <vector>
00013
00014 class StjBEMC;
00015 class StjTrgBEMCJetPatchTowerIdMap;
00016
00017 class StjTrgSoftEtThresholdBJP : public StjTrgSoft {
00018
00019 public:
00020 StjTrgSoftEtThresholdBJP(StjBEMC* bemc, StjTrgBEMCJetPatchTowerIdMap* jpTowerMap, double minEt);
00021 virtual ~StjTrgSoftEtThresholdBJP() { }
00022
00023 bool soft();
00024
00025 std::vector<int> jetPatches();
00026 std::vector<int> jetPatchDsmAdc();
00027 std::vector<unsigned int> jetPatchAdc();
00028 std::vector<double> jetPatchEnergy();
00029 std::vector<double> jetPatchEt();
00030
00031 private:
00032
00033 double computeEtSum(const StjTowerEnergyList& energyList);
00034
00035 bool isNewEvent();
00036 void read();
00037
00038 StjBEMC* _bemc;
00039 StjTrgBEMCJetPatchTowerIdMap* _jpTowerMap;
00040 double _minEt;
00041
00042 int _runNumber;
00043 int _eventId;
00044
00045 bool _passed;
00046 std::vector<int> _jetPatches;
00047 std::vector<int> _jetPatchDsmAdc;
00048 std::vector<unsigned int> _jetPatchAdc;
00049 std::vector<double> _jetPatchEnergy;
00050 std::vector<double> _jetPatchEt;
00051
00052 StjTowerEnergyListCut _cut;
00053
00054 ClassDef(StjTrgSoftEtThresholdBJP, 1)
00055
00056 };
00057
00058 #endif // STJTRGSOFTETTHRESHOLDBJP_H