00001
00002
00003 #include "StjTrgRaiseThresholdEtHT.h"
00004
00005 #include <iostream>
00006
00007 ClassImp(StjTrgRaiseThresholdEtHT)
00008
00009 using namespace std;
00010
00011 void StjTrgRaiseThresholdEtHT::read() const
00012 {
00013 _towers.clear();
00014 _towerDsmAdc.clear();
00015 _towerAdc.clear();
00016 _towerEnergy.clear();
00017 _towerEt.clear();
00018
00019 if( ! _src->soft() ) {
00020 _passed = false;
00021 return;
00022 }
00023
00024 vector<int> srcTowers = _src->towers();
00025 vector<int> srcTowerDsmAdc = _src->towerDsmAdc();
00026 vector<unsigned int> srcTowerAdc = _src->towerAdc();
00027 vector<double> srcTowerEnergy = _src->towerEnergy();
00028 vector<double> srcTowerEt = _src->towerEt();
00029
00030 for(size_t i = 0; i != srcTowers.size(); ++i) {
00031 if(srcTowerEt[i] < _minEt) continue;
00032
00033 _towers.push_back(srcTowers[i]);
00034 _towerDsmAdc.push_back(srcTowerDsmAdc[i]);
00035 _towerAdc.push_back(srcTowerAdc[i]);
00036 _towerEnergy.push_back(srcTowerEnergy[i]);
00037 _towerEt.push_back(srcTowerEt[i]);
00038 }
00039
00040 _passed = ( ! _towers.empty() );
00041 }
00042
00043 bool StjTrgRaiseThresholdEtHT::soft() const
00044 {
00045 readIfNewEvent();
00046 return _passed;
00047 }
00048
00049 vector<int> StjTrgRaiseThresholdEtHT::towers()
00050 {
00051 readIfNewEvent();
00052 return _towers;
00053 }
00054
00055 vector<int> StjTrgRaiseThresholdEtHT::towerDsmAdc()
00056 {
00057 readIfNewEvent();
00058 return _towerDsmAdc;
00059 }
00060
00061 vector<unsigned int> StjTrgRaiseThresholdEtHT::towerAdc()
00062 {
00063 readIfNewEvent();
00064 return _towerAdc;
00065 }
00066
00067 vector<double> StjTrgRaiseThresholdEtHT::towerEnergy()
00068 {
00069 readIfNewEvent();
00070 return _towerEnergy;
00071 }
00072
00073 vector<double> StjTrgRaiseThresholdEtHT::towerEt()
00074 {
00075 readIfNewEvent();
00076 return _towerEt;
00077 }
00078