106 storeCaloClusters_ =
false;
117 tree_ =
fs_->
make<TTree>(
"L1CaloTowerTree",
"L1CaloTowerTree");
118 tree_->Branch(
"CaloTP",
"L1Analysis::L1AnalysisCaloTPDataFormat", &
caloTPData_, 32000, 3);
119 tree_->Branch(
"L1CaloTower",
"L1Analysis::L1AnalysisL1CaloTowerDataFormat", &
l1CaloTowerData_, 32000, 3);
121 if (storeCaloClusters_)
122 tree_->Branch(
"L1CaloCluster",
"L1Analysis::L1AnalysisL1CaloClusterDataFormat", &
l1CaloClusterData_, 32000, 3);
153 for (
const auto& itr : *(ecalTPs.
product())) {
154 short ieta = (short)itr.id().ieta();
158 unsigned short cal_iphi = (
unsigned short)itr.id().iphi();
159 unsigned short iphi = (72 + 18 - cal_iphi) % 72;
160 unsigned short compEt = itr.compressedEt();
162 unsigned short fineGrain = (
unsigned short)itr.fineGrain();
176 edm::LogWarning(
"L1TNtuple") <<
"ECAL TPs not found, branch will not be filled";
180 for (
auto itr : (*hcalTPs.
product())) {
181 int ver = itr.id().version();
182 short ieta = (short)itr.id().ieta();
183 unsigned short absIeta = (
unsigned short)
abs(ieta);
186 unsigned short cal_iphi = (
unsigned short)itr.id().iphi();
187 unsigned short iphi = (72 + 18 - cal_iphi) % 72;
189 unsigned short compEt = itr.SOI_compressedEt();
190 double et = decoder->hcaletValue(itr.id(), itr.t0());
192 unsigned short fineGrain = (
unsigned short)itr.SOI_fineGrain();
194 if (compEt > 0 && (absIeta < 29 || ver == 1)) {
206 edm::LogWarning(
"L1TNtuple") <<
"HCAL TPs not found, branch will not be filled";
217 for (
int ibx = l1Towers->getFirstBX(); ibx <= l1Towers->getLastBX(); ++ibx) {
218 for (
auto itr = l1Towers->begin(ibx); itr != l1Towers->end(ibx); ++itr) {
219 if (itr->hwPt() <= 0)
239 edm::LogWarning(
"L1TNtuple") <<
"L1 Calo Towerss not found, branch will not be filled";
252 for (
int ibx = l1Clusters->getFirstBX(); ibx <= l1Clusters->getLastBX(); ++ibx) {
253 for (
auto itr = l1Clusters->begin(ibx); itr != l1Clusters->end(ibx); ++itr) {
254 if (itr->hwPt() <= 0)
271 edm::LogWarning(
"L1TNtuple") <<
"L1 Calo Clusters not found, branch will not be filled";
L1CaloTowerTreeProducer(const edm::ParameterSet &)
T getUntrackedParameter(std::string const &, T const &) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
constexpr bool isUninitialized() const noexcept
T * make(const Args &...args) const
make new ROOT object
L1Analysis::L1AnalysisCaloTPDataFormat * caloTPData_
Abs< T >::type abs(const T &t)
edm::Service< TFileService > fs_
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalToken_
void beginJob(void) override
T const * product() const
edm::EDGetTokenT< l1t::CaloClusterBxCollection > l1ClusterToken_
L1Analysis::L1AnalysisL1CaloClusterDataFormat * l1CaloClusterData_
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalToken_
edm::EDGetTokenT< l1t::CaloTowerBxCollection > l1TowerToken_
void analyze(const edm::Event &, const edm::EventSetup &) override
Log< level::Warning, false > LogWarning
L1Analysis::L1AnalysisL1CaloTowerDataFormat * l1CaloTowerData_
~L1CaloTowerTreeProducer() override