From 25637ca29f88c3b6e3bb272aac89b748e0dc3872 Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Wed, 26 Mar 2014 14:28:24 +0100 Subject: [PATCH 01/11] Merge in by hand ikesisog-atCMS/annCode_04 --- ...{EcalChannelKiller.h => EBChannelKiller.h} | 15 +- .../interface/EEChannelKiller.h | 50 + .../EcalChannelKiller/src/EBChannelKiller.cc | 160 + .../EcalChannelKiller/src/EEChannelKiller.cc | 160 + .../src/EcalChannelKiller.cc | 163 - .../BuildFile.xml | 4 + .../interface/CorrectDeadChannelsClassic.cc | 367 - .../interface/CorrectDeadChannelsNN.cc | 303 - ...ryAlgos.h => EBDeadChannelRecoveryAlgos.h} | 26 +- .../interface/EEDeadChannelRecoveryAlgos.h | 47 + .../interface/ExponCorrector.cxx | 327 - .../interface/ExponCorrector.h | 28 - .../interface/PositionCorrector.cxx | 189 - .../interface/PositionCorrector.h | 33 - .../interface/SplineCorrector.cxx | 139 - .../interface/SplineCorrector.h | 27 - .../interface/TestPos_100.cxx | 607 -- .../interface/TestPos_100.h | 141 - .../interface/Test_Central_1500.cxx | 397 - .../interface/Test_Central_1500.h | 93 - .../interface/Test_Corner_1500.cxx | 397 - .../interface/Test_Corner_1500.h | 93 - .../interface/Test_Side_1500.cxx | 397 - .../interface/Test_Side_1500.h | 93 - .../interface/xyNNEB.h | 1730 ++++ .../interface/xyNNEE.h | 1719 ++++ .../src/CorrectEBDeadChannelsNN.cc | 190 + .../src/CorrectEEDeadChannelsNN.cc | 190 + .../src/CrystalMatrixProbabilityEB.cc | 69 + .../src/CrystalMatrixProbabilityEE.cc | 63 + .../src/EBDeadChannelRecoveryAlgos.cc | 344 + .../src/EEDeadChannelRecoveryAlgos.cc | 343 + .../src/EcalDeadChannelRecoveryAlgos.cc | 239 - .../src/xyNNEB.cc | 8120 +++++++++++++++++ .../src/xyNNEE.cc | 8113 ++++++++++++++++ ...ers.h => EBDeadChannelRecoveryProducers.h} | 15 +- .../EEDeadChannelRecoveryProducers.h | 53 + .../src/EBDeadChannelRecoveryProducers.cc | 168 + .../src/EEDeadChannelRecoveryProducers.cc | 168 + .../src/EcalDeadChannelRecoveryProducers.cc | 171 - ...eadCellsEach5.txt => EBDeadCellsEach5.txt} | 0 .../test/EEDeadCellsEach5.txt | 441 + .../test/RecoAllKilledAndCorrected_001_cfg.py | 96 + .../test/RecoAllKilledAndCorrected_002_cfg.py | 105 + .../plugins/EcalRecHitWorkerRecover.cc | 56 +- .../EcalRecProducers/python/ecalRecHit_cfi.py | 4 +- 46 files changed, 22401 insertions(+), 4252 deletions(-) rename RecoCaloTools/EcalChannelKiller/interface/{EcalChannelKiller.h => EBChannelKiller.h} (64%) create mode 100644 RecoCaloTools/EcalChannelKiller/interface/EEChannelKiller.h create mode 100644 RecoCaloTools/EcalChannelKiller/src/EBChannelKiller.cc create mode 100644 RecoCaloTools/EcalChannelKiller/src/EEChannelKiller.cc delete mode 100644 RecoCaloTools/EcalChannelKiller/src/EcalChannelKiller.cc delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectDeadChannelsClassic.cc delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectDeadChannelsNN.cc rename RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/{EcalDeadChannelRecoveryAlgos.h => EBDeadChannelRecoveryAlgos.h} (58%) create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/ExponCorrector.cxx delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/ExponCorrector.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/PositionCorrector.cxx delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/PositionCorrector.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/SplineCorrector.cxx delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/SplineCorrector.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/TestPos_100.cxx delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/TestPos_100.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Central_1500.cxx delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Central_1500.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Corner_1500.cxx delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Corner_1500.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Side_1500.cxx delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Side_1500.h create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEB.cc create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEE.cc create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEB.cc create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEE.cc rename RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/{EcalDeadChannelRecoveryProducers.h => EBDeadChannelRecoveryProducers.h} (63%) create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EcalDeadChannelRecoveryProducers.cc rename RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/{DeadCellsEach5.txt => EBDeadCellsEach5.txt} (100%) create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/EEDeadCellsEach5.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/RecoAllKilledAndCorrected_001_cfg.py create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/RecoAllKilledAndCorrected_002_cfg.py diff --git a/RecoCaloTools/EcalChannelKiller/interface/EcalChannelKiller.h b/RecoCaloTools/EcalChannelKiller/interface/EBChannelKiller.h similarity index 64% rename from RecoCaloTools/EcalChannelKiller/interface/EcalChannelKiller.h rename to RecoCaloTools/EcalChannelKiller/interface/EBChannelKiller.h index d2b6a3ca499bd..0b1b5939fc53a 100644 --- a/RecoCaloTools/EcalChannelKiller/interface/EcalChannelKiller.h +++ b/RecoCaloTools/EcalChannelKiller/interface/EBChannelKiller.h @@ -1,8 +1,11 @@ -#ifndef RecoCaloTools_EcalChannelKiller_EcalChannelKiller_HH -#define RecoCaloTools_EcalChannelKiller_EcalChannelKiller_HH +#ifndef RecoCaloTools_EcalChannelKiller_EBChannelKiller_HH +#define RecoCaloTools_EcalChannelKiller_EBChannelKiller_HH -/** \class EcalChannelKiller +/** \class EBChannelKiller * + * $Date: 2012/11/21 13:08:40 $ + * $Revision: 1.0 $ + * \author Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) */ // system include files @@ -25,10 +28,10 @@ // class decleration // -class EcalChannelKiller : public edm::EDProducer { +class EBChannelKiller : public edm::EDProducer { public: - explicit EcalChannelKiller(const edm::ParameterSet&); - ~EcalChannelKiller(); + explicit EBChannelKiller(const edm::ParameterSet&); + ~EBChannelKiller(); private: virtual void beginJob() ; diff --git a/RecoCaloTools/EcalChannelKiller/interface/EEChannelKiller.h b/RecoCaloTools/EcalChannelKiller/interface/EEChannelKiller.h new file mode 100644 index 0000000000000..9c6aaab7293d3 --- /dev/null +++ b/RecoCaloTools/EcalChannelKiller/interface/EEChannelKiller.h @@ -0,0 +1,50 @@ +#ifndef RecoCaloTools_EcalChannelKiller_EEChannelKiller_HH +#define RecoCaloTools_EcalChannelKiller_EEChannelKiller_HH + +/** \class EEChannelKiller + * + * $Date: 2012/11/21 13:08:40 $ + * $Revision: 1.0 $ + * \author Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) + */ + +// system include files +#include + +// user include files +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/EDProducer.h" +#include "FWCore/Framework/interface/ESHandle.h" + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" + +#include "FWCore/ParameterSet/interface/ParameterSet.h" + + +#include + +// +// class decleration +// + +class EEChannelKiller : public edm::EDProducer { + public: + explicit EEChannelKiller(const edm::ParameterSet&); + ~EEChannelKiller(); + + private: + virtual void beginJob() ; + virtual void produce(edm::Event&, const edm::EventSetup&); + virtual void endJob() ; + + // ----------member data --------------------------- + std::string hitProducer_; + std::string hitCollection_; + std::string reducedHitCollection_; + std::string DeadChannelFileName_; + std::vector ChannelsDeadID; +}; + + +#endif diff --git a/RecoCaloTools/EcalChannelKiller/src/EBChannelKiller.cc b/RecoCaloTools/EcalChannelKiller/src/EBChannelKiller.cc new file mode 100644 index 0000000000000..334491ab013a0 --- /dev/null +++ b/RecoCaloTools/EcalChannelKiller/src/EBChannelKiller.cc @@ -0,0 +1,160 @@ +// -*- C++ -*- +// +// Package: EcalChannelKiller +// Class: EBChannelKiller +// +/**\class EBChannelKiller EBChannelKiller.cc RecoCaloTools/EcalChannelKiller/src/EBChannelKiller.cc + + Description: + + Implementation: + +*/ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "EcalChannelKiller.cc" code +// + + +// Geometry +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" +#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" +#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapHardcodedTopology.h" + +// Reconstruction Classes +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/EcalDetId/interface/EBDetId.h" + +#include "RecoCaloTools/EcalChannelKiller/interface/EBChannelKiller.h" + +#include +#include +using namespace cms; +using namespace std; + +// +// constructors and destructor +// +EBChannelKiller::EBChannelKiller(const edm::ParameterSet& ps) +{ + hitProducer_ = ps.getParameter("hitProducer"); + hitCollection_ = ps.getParameter("hitCollection"); + reducedHitCollection_ = ps.getParameter("reducedHitCollection"); + DeadChannelFileName_ = ps.getParameter("DeadChannelsFile"); + + produces< EcalRecHitCollection >(reducedHitCollection_); +} + + +EBChannelKiller::~EBChannelKiller() +{ + // do anything here that needs to be done at desctruction time + // (e.g. close files, deallocate resources etc.) +} + + +// +// member functions +// + +// ------------ method called to produce the data ------------ +void +EBChannelKiller::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) +{ + using namespace edm; + + // get the hit collection from the event: + edm::Handle rhcHandle; + iEvent.getByLabel(hitProducer_, hitCollection_, rhcHandle); + if (!(rhcHandle.isValid())) + { + // std::cout << "could not get a handle on the EcalRecHitCollection!" << std::endl; + return; + } + const EcalRecHitCollection* hit_collection = rhcHandle.product(); + + int nRed = 0; + + // create an auto_ptr to a EcalRecHitCollection, copy the RecHits into it and put in the Event: + std::auto_ptr< EcalRecHitCollection > redCollection(new EcalRecHitCollection); + + for (EcalRecHitCollection::const_iterator it = hit_collection->begin(); it != hit_collection->end(); ++it) { + + double NewEnergy = it->energy(); + bool ItIsDead = false; + + //Dead Cells are read from text files + std::vector::const_iterator DeadCell; + for (DeadCell = ChannelsDeadID.begin(); DeadCell != ChannelsDeadID.end(); ++DeadCell) { + if ( it->detid() == *DeadCell ) { + ItIsDead=true; + NewEnergy =0.; + nRed++; + // If a "dead" cell is detected add a corresponding recHit with zero energy. + // It perserves the total number of recHits and simulates the true "dead" cell situation. + EcalRecHit NewDeadHit(it->id(),NewEnergy,it->time()); + redCollection->push_back( NewDeadHit ); + } + }//End looping on vector of Dead Cells + + // Make a new RecHit + // + // TODO what will be the it->time() for D.C. ? + // Could we use it for "correction" identification? + // + if ( !ItIsDead ) { redCollection->push_back( *it ); } + } + + iEvent.put(redCollection, reducedHitCollection_); + +} + + + + +// ------------ method called once each job just before starting event loop ------------ +void +EBChannelKiller::beginJob() +{ + //Open the DeadChannel file, read it. + FILE* DeadCha; + printf("Dead Channels FILE: %s\n",DeadChannelFileName_.c_str()); + DeadCha = fopen(DeadChannelFileName_.c_str(),"r"); + + int fileStatus=0; + int ieta=-10000; + int iphi=-10000; + + while (fileStatus != EOF) { + + fileStatus = fscanf(DeadCha,"%d %d\n",&ieta,&iphi); + + // Problem reading Dead Channels file + if (ieta==-10000||iphi==-10000) { break; } + + if( EBDetId::validDetId(ieta,iphi) ) { + EBDetId cell(ieta,iphi); + ChannelsDeadID.push_back(cell); + } + + } //end while + + fclose(DeadCha); +} + + + +// ------------ method called once each job just after ending the event loop ------------ +void +EBChannelKiller::endJob() { +} + +//define this as a plug-in +DEFINE_FWK_MODULE(EBChannelKiller); diff --git a/RecoCaloTools/EcalChannelKiller/src/EEChannelKiller.cc b/RecoCaloTools/EcalChannelKiller/src/EEChannelKiller.cc new file mode 100644 index 0000000000000..b68fb11964e3e --- /dev/null +++ b/RecoCaloTools/EcalChannelKiller/src/EEChannelKiller.cc @@ -0,0 +1,160 @@ +// -*- C++ -*- +// +// Package: EcalChannelKiller +// Class: EEChannelKiller +// +/**\class EEChannelKiller EEChannelKiller.cc RecoCaloTools/EcalChannelKiller/src/EEChannelKiller.cc + + Description: + + Implementation: + +*/ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "EcalChannelKiller.cc" code +// + + +// Geometry +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" +#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" +#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapHardcodedTopology.h" + +// Reconstruction Classes +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/EcalDetId/interface/EEDetId.h" + +#include "RecoCaloTools/EcalChannelKiller/interface/EEChannelKiller.h" + +#include +#include +using namespace cms; +using namespace std; + +// +// constructors and destructor +// +EEChannelKiller::EEChannelKiller(const edm::ParameterSet& ps) +{ + hitProducer_ = ps.getParameter("hitProducer"); + hitCollection_ = ps.getParameter("hitCollection"); + reducedHitCollection_ = ps.getParameter("reducedHitCollection"); + DeadChannelFileName_ = ps.getParameter("DeadChannelsFile"); + + produces< EcalRecHitCollection >(reducedHitCollection_); +} + + +EEChannelKiller::~EEChannelKiller() +{ + // do anything here that needs to be done at desctruction time + // (e.g. close files, deallocate resources etc.) +} + + +// +// member functions +// + +// ------------ method called to produce the data ------------ +void +EEChannelKiller::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) +{ + using namespace edm; + + // get the hit collection from the event: + edm::Handle rhcHandle; + iEvent.getByLabel(hitProducer_, hitCollection_, rhcHandle); + if (!(rhcHandle.isValid())) + { + // std::cout << "could not get a handle on the EcalRecHitCollection!" << std::endl; + return; + } + const EcalRecHitCollection* hit_collection = rhcHandle.product(); + + int nRed = 0; + + // create an auto_ptr to a EcalRecHitCollection, copy the RecHits into it and put in the Event: + std::auto_ptr< EcalRecHitCollection > redCollection(new EcalRecHitCollection); + + for (EcalRecHitCollection::const_iterator it = hit_collection->begin(); it != hit_collection->end(); ++it) { + + double NewEnergy = it->energy(); + bool ItIsDead = false; + + //Dead Cells are read from text files + std::vector::const_iterator DeadCell; + for (DeadCell = ChannelsDeadID.begin(); DeadCell != ChannelsDeadID.end(); ++DeadCell) { + if ( it->detid() == *DeadCell ) { + ItIsDead=true; + NewEnergy =0.; + nRed++; + // If a "dead" cell is detected add a corresponding recHit with zero energy. + // It perserves the total number of recHits and simulates the true "dead" cell situation. + EcalRecHit NewDeadHit(it->id(),NewEnergy,it->time()); + redCollection->push_back( NewDeadHit ); + } + }//End looping on vector of Dead Cells + + // Make a new RecHit + // + // TODO what will be the it->time() for D.C. ? + // Could we use it for "correction" identification? + // + if ( !ItIsDead ) { redCollection->push_back( *it ); } + } + + iEvent.put(redCollection, reducedHitCollection_); + +} + + + + +// ------------ method called once each job just before starting event loop ------------ +void +EEChannelKiller::beginJob() +{ + //Open the DeadChannel file, read it. + FILE* DeadCha; + printf("Dead Channels FILE: %s\n",DeadChannelFileName_.c_str()); + DeadCha = fopen(DeadChannelFileName_.c_str(),"r"); + + int fileStatus=0; + int ix=-10000; + int iy=-10000; + int iz=-10000; + while (fileStatus != EOF) { + + fileStatus = fscanf(DeadCha,"%d %d %d\n",&ix,&iy,&iz); + + // Problem reading Dead Channels file + if (ix==-10000||iy==-10000||iz==-10000) { break; } + + if( EEDetId::validDetId(ix,iy,iz) ) { + EEDetId cell(ix,iy,iz); + ChannelsDeadID.push_back(cell); + } + + } //end while + + fclose(DeadCha); +} + + + +// ------------ method called once each job just after ending the event loop ------------ +void +EEChannelKiller::endJob() { +} + +//define this as a plug-in +DEFINE_FWK_MODULE(EEChannelKiller); diff --git a/RecoCaloTools/EcalChannelKiller/src/EcalChannelKiller.cc b/RecoCaloTools/EcalChannelKiller/src/EcalChannelKiller.cc deleted file mode 100644 index 852f3bc576669..0000000000000 --- a/RecoCaloTools/EcalChannelKiller/src/EcalChannelKiller.cc +++ /dev/null @@ -1,163 +0,0 @@ -// -*- C++ -*- -// -// Package: EcalChannelKiller -// Class: EcalChannelKiller -// -/**\class EcalChannelKiller EcalChannelKiller.cc RecoCaloTools/EcalChannelKiller/src/EcalChannelKiller.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Georgios Daskalakis -// Created: Tue Apr 24 17:21:31 CEST 2007 -// -// - - - - -// Geometry -#include "Geometry/Records/interface/IdealGeometryRecord.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" -#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" -#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" - -// Reconstruction Classes -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/EcalDetId/interface/EBDetId.h" - - -#include "RecoCaloTools/EcalChannelKiller/interface/EcalChannelKiller.h" - -#include -#include -using namespace cms; -using namespace std; - - -// -// constructors and destructor -// -EcalChannelKiller::EcalChannelKiller(const edm::ParameterSet& ps) -{ - - hitProducer_ = ps.getParameter("hitProducer"); - hitCollection_ = ps.getParameter("hitCollection"); - reducedHitCollection_ = ps.getParameter("reducedHitCollection"); - DeadChannelFileName_ = ps.getParameter("DeadChannelsFile"); - - produces< EcalRecHitCollection >(reducedHitCollection_); - - -} - - -EcalChannelKiller::~EcalChannelKiller() -{ - - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) - -} - - -// -// member functions -// - -// ------------ method called to produce the data ------------ -void -EcalChannelKiller::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) -{ - using namespace edm; - - // get the hit collection from the event: - edm::Handle rhcHandle; - iEvent.getByLabel(hitProducer_, hitCollection_, rhcHandle); - if (!(rhcHandle.isValid())) - { - // std::cout << "could not get a handle on the EcalRecHitCollection!" << std::endl; - return; - } - const EcalRecHitCollection* hit_collection = rhcHandle.product(); - - int nRed = 0; - - // create an auto_ptr to a EcalRecHitCollection, copy the RecHits into it and put in the Event: - std::auto_ptr< EcalRecHitCollection > redCollection(new EcalRecHitCollection); - - - for(EcalRecHitCollection::const_iterator it = hit_collection->begin(); it != hit_collection->end(); ++it) { - - double NewEnergy =it->energy(); - bool ItIsDead=false; - //Dead Cells are read from text files - std::vector::const_iterator DeadCell; - for(DeadCell=ChannelsDeadID.begin();DeadCelldetid()==*DeadCell){ - ItIsDead=true; - NewEnergy =0.; - nRed++; - - } - }//End looping on vector of Dead Cells - - // Make a new RecHit - // - // TODO what will be the it->time() for D.C. ? - // Could we use it for "correction" identification? - // - if(!ItIsDead){ - EcalRecHit NewHit(it->id(),NewEnergy,it->time()); - redCollection->push_back( NewHit ); - } - } - // std::cout << "total # hits: " << nTot << " #hits with E = " << 0 << " GeV : " << nRed << std::endl; - - iEvent.put(redCollection, reducedHitCollection_); - -} - - - - -// ------------ method called once each job just before starting event loop ------------ -void -EcalChannelKiller::beginJob() -{ - - //Open the DeadChannel file, read it. - FILE* DeadCha; - printf("Dead Channels FILE: %s\n",DeadChannelFileName_.c_str()); - DeadCha = fopen(DeadChannelFileName_.c_str(),"r"); - - int fileStatus=0; - int ieta=-10000; - int iphi=-10000; - while(fileStatus != EOF) { - fileStatus = fscanf(DeadCha,"%d %d\n",&ieta,&iphi); - // std::cout<<" ieta "< + + + + diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectDeadChannelsClassic.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectDeadChannelsClassic.cc deleted file mode 100644 index 9833f2f97be07..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectDeadChannelsClassic.cc +++ /dev/null @@ -1,367 +0,0 @@ -// -// Original Author: Georgios Daskalakis , Georgios.Daskalakis@cern.ch -// Created: Fri Mar 30 18:15:12 CET 2007 -// -// -// -// -#include "TMultiLayerPerceptron.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "getopt.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "PositionCorrector.cxx" -#include "SplineCorrector.cxx" -#include "ExponCorrector.cxx" - - - -using namespace std; - -double CorrectDeadChannelsClassic(double *M11x11Input, const int DCeta){ - - //std::cout<<"Inside Correction Function ...."<< std::endl; - - PositionCorrector *PosCorr = new PositionCorrector(); - SplineCorrector *SplCorr = new SplineCorrector(); - ExponCorrector *ExpCorr = new ExponCorrector(); - - - - - double epsilon = 0.0000001; - float NEWx,NEWy; - float estimX,estimY,SUMlogFR; - float SUM24; - float crE[25]; - - - - crE[0]=M11x11Input[40]; - crE[1]=M11x11Input[51]; - crE[2]=M11x11Input[62]; - crE[3]=M11x11Input[73]; - crE[4]=M11x11Input[84]; - - crE[5]=M11x11Input[39]; - crE[6]=M11x11Input[50]; - crE[7]=M11x11Input[61]; - crE[8]=M11x11Input[72]; - crE[9]=M11x11Input[83]; - - crE[10]=M11x11Input[38]; - crE[11]=M11x11Input[49]; - crE[12]=M11x11Input[60]; - crE[13]=M11x11Input[71]; - crE[14]=M11x11Input[82]; - - crE[15]=M11x11Input[37]; - crE[16]=M11x11Input[48]; - crE[17]=M11x11Input[59]; - crE[18]=M11x11Input[70]; - crE[19]=M11x11Input[81]; - - crE[20]=M11x11Input[36]; - crE[21]=M11x11Input[47]; - crE[22]=M11x11Input[58]; - crE[23]=M11x11Input[69]; - crE[24]=M11x11Input[80]; - - - std::cout<<"Inside Correction Function : Dead Channel ETA" << DCeta << std::endl; - //revert crystal matrix because of negative eta - if(DCeta<0){ - - crE[0]=M11x11Input[36]; - crE[1]=M11x11Input[47]; - crE[2]=M11x11Input[58]; - crE[3]=M11x11Input[69]; - crE[4]=M11x11Input[80]; - - crE[5]=M11x11Input[37]; - crE[6]=M11x11Input[48]; - crE[7]=M11x11Input[59]; - crE[8]=M11x11Input[70]; - crE[9]=M11x11Input[81]; - - crE[10]=M11x11Input[38]; - crE[11]=M11x11Input[49]; - crE[12]=M11x11Input[60]; - crE[13]=M11x11Input[71]; - crE[14]=M11x11Input[82]; - - crE[15]=M11x11Input[39]; - crE[16]=M11x11Input[50]; - crE[17]=M11x11Input[61]; - crE[18]=M11x11Input[72]; - crE[19]=M11x11Input[83]; - - crE[20]=M11x11Input[40]; - crE[21]=M11x11Input[51]; - crE[22]=M11x11Input[62]; - crE[23]=M11x11Input[73]; - crE[24]=M11x11Input[84]; - - - } - - - - - - float SUMuu = 0.0; - float SUMu = 0.0; - float SUMdd = 0.0; - float SUMd = 0.0; - float SUMll = 0.0; - float SUMl = 0.0; - float SUMrr = 0.0; - float SUMr = 0.0; - - SUMuu = crE[4] + crE[9] + crE[14] + crE[19] + crE[24]; - SUMu = crE[3] + crE[8] + crE[13] + crE[18] + crE[23]; - SUMd = crE[1] + crE[6] + crE[11] + crE[16] + crE[21]; - SUMdd = crE[0] + crE[5] + crE[10] + crE[15] + crE[20]; - - SUMll = crE[0] + crE[1] + crE[2] + crE[3] + crE[4]; - SUMl = crE[5] + crE[6] + crE[7] + crE[8] + crE[9]; - SUMr = crE[15] + crE[16] + crE[17] + crE[18] + crE[19]; - SUMrr = crE[20] + crE[21] + crE[22] + crE[23] + crE[24]; - - /* - std::cout<<"================================================================="<0){std::cout<<" Problem 2 dead channels in sum9! Can not correct ... I return 0.0"< Central has NOT the MAX energy in 5x5 ... I return 0.0"<SUMd || SUMrr>SUMr || SUMll>3.0*SUMr || SUMuu>3.0*SUMd)){std::cout<<"Unusual Pattern in 8 I return 0.0"<SUMu || SUMll>SUMl || SUMrr>3.0*SUMl || SUMdd>3.0*SUMu)){std::cout<<"Unusual Pattern in 16 I return 0.0"<SUMd || SUMll>SUMl || SUMrr>3.0*SUMl || SUMuu>3.0*SUMd)){std::cout<<"Unusual Pattern in 18 I return 0.0"<SUMu || SUMdd>SUMd || SUMrr>SUMr)){std::cout<<"Unusual Pattern in 7 I return 0.0"<SUMu || SUMdd>SUMd || SUMll>SUMl)){std::cout<<"Unusual Pattern in 17 I return 0.0"<SUMl || SUMrr>SUMr || SUMuu>SUMu)){std::cout<<"Unusual Pattern in 11 I return 0.0"<SUMl || SUMrr>SUMr || SUMdd>SUMd)){std::cout<<"Unusual Pattern in 13 I return 0.0"<CORRX(DeadCR,0,50,estimX); - NEWy = PosCorr->CORRY(DeadCR,0,50,estimY); - - - //std::cout<<" FINAL X,Y calculation: DC , estimX, estimY, NEWx, NEWy : "<7.0 || estimX< -2.0 || estimY>10.0 || estimY<-9.0) ){std::cout<<"DC=7 Position OUT of LIMIT I return 0.0"<2.5 || estimX< -8.0 || estimY>10.0 || estimY<-8.0) ){std::cout<<"DC=17 Position OUT of LIMIT I return 0.0"<8.0 || estimX<-10.0 || estimY> 9.0 || estimY<-4.0) ){std::cout<<"DC=11 Position OUT of LIMIT I return 0.0"<8.0 || estimX<-10.0 || estimY> 4.5 || estimY<-8.0) ){std::cout<<"DC=13 Position OUT of LIMIT I return 0.0"<18.0 || estimX<-18.0 || estimY> 17.0 || estimY<-17.0) ){std::cout<<"DC=12 Position OUT of LIMIT I return 0.0"<8.0 || estimX< -9.0 || estimY>10.0 || estimY<-8.0) ){std::cout<<"DC=6 Position OUT of LIMIT I return 0.0"<8.0 || estimX< -9.0 || estimY> 9.0 || estimY<-8.5) ){std::cout<<"DC=8 Position OUT of LIMIT I return 0.0"<7.0 || estimX<-10.0 || estimY> 9.0 || estimY<-8.0) ){std::cout<<"DC=16 Position OUT of LIMIT I return 0.0"<8.0 || estimX< -9.0 || estimY> 9.0 || estimY<-8.0) ){std::cout<<"DC=18 Position OUT of LIMIT I return 0.0"<value(DeadCR,0,50,NEWx,NEWy); - - - - // RESOLUTIONS PER AREA - for (int isub=0 ; isubXLOW[isub] && NEWxYLOW[isub] && NEWyvalue(DeadCR,0,50,isub,NEWx,NEWy); - } - if(DeadCR==8 && (isub==4 || isub ==3 || isub==9) ){ - RECOfrDcr = ExpCorr->value(DeadCR,0,50,isub,NEWx,NEWy); - } - if(DeadCR==16 && (isub==15 || isub ==21 || isub==20) ){ - RECOfrDcr = ExpCorr->value(DeadCR,0,50,isub,NEWx,NEWy); - } - if(DeadCR==18 && (isub==19 || isub ==23 || isub==24) ){ - RECOfrDcr = ExpCorr->value(DeadCR,0,50,isub,NEWx,NEWy); - } - if(DeadCR==7 || DeadCR==11 || DeadCR==12 || DeadCR==13 || DeadCR==17 ){ - RECOfrDcr = ExpCorr->value(DeadCR,0,50,isub,NEWx,NEWy); - } - - - } - } - - - double ESTIMATED_ENERGY = RECOfrDcr*SUM24; - std::cout<<" THE ESTIMATED RECOfrDcr is : "<< RECOfrDcr <0.20){std::cout<<"Fraction OUT of LIMIT I return 0.0"<1.00){std::cout<<"Fraction OUT of LIMIT I return 0.0"<5.00){std::cout<<"Fraction OUT of LIMIT I return 0.0"< -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "getopt.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "Test_Central_1500.cxx" -#include "Test_Side_1500.cxx" -#include "Test_Corner_1500.cxx" -#include "TestPos_100.cxx" - -//M5x5 must be ordered as : - //Using Patrick Matrix: - //22|10|09|11|17 - //21|04|01|07|16 - //20|03|00|06|15 - //23|05|02|08|18 - //24|13|12|14|19 - -using namespace std; - -double CorrectDeadChannelsNN(double *M5x5Input){ - - - //From 07 May 07 we have as input a vector of : - //So now, we have a vector which is ordered around the Maximum containement and which contains a dead channel as: - //Filling of the vector : NxNaroundDC with N==11 Typo are possible... - // 060 is Maximum containement which is in +/- 2 from DC - // - // 120 119 118 117 116 115 114 113 112 111 110 - // 109 108 107 106 105 104 103 102 101 100 099 - // 098 097 096 095 094 093 092 091 090 089 088 - // 087 086 085 084 083 082 081 080 079 078 077 - // 076 075 074 073 072 071 070 069 068 067 066 - // 065 064 063 062 061 060 059 058 057 056 055 - // 054 053 052 051 050 049 048 047 046 045 044 - // 043 042 041 040 039 038 037 036 035 034 033 - // 032 031 030 029 028 027 026 025 024 023 022 - // 021 020 019 018 017 016 015 014 013 012 011 - // 010 009 008 007 006 005 004 003 002 001 000 - ////////////////////////////////////////////// - - //Conversion between input and input need by NN: - double M5x5[25]; - M5x5[0]=M5x5Input[60]; - M5x5[1]=M5x5Input[71]; - M5x5[2]=M5x5Input[49]; - M5x5[3]=M5x5Input[61]; - M5x5[4]=M5x5Input[72]; - M5x5[5]=M5x5Input[50]; - M5x5[6]=M5x5Input[59]; - M5x5[7]=M5x5Input[70]; - M5x5[8]=M5x5Input[48]; - M5x5[9]=M5x5Input[82]; - M5x5[10]=M5x5Input[83]; - M5x5[11]=M5x5Input[81]; - M5x5[12]=M5x5Input[38]; - M5x5[13]=M5x5Input[39]; - M5x5[14]=M5x5Input[37]; - M5x5[15]=M5x5Input[58]; - M5x5[16]=M5x5Input[69]; - M5x5[17]=M5x5Input[80]; - M5x5[18]=M5x5Input[47]; - M5x5[19]=M5x5Input[36]; - M5x5[20]=M5x5Input[62]; - M5x5[21]=M5x5Input[73]; - M5x5[22]=M5x5Input[84]; - M5x5[23]=M5x5Input[51]; - M5x5[24]=M5x5Input[40]; - - - Test_Central_1500 *NNCentral =new Test_Central_1500(); - Test_Side_1500 *NNAdj =new Test_Side_1500(); - Test_Corner_1500 *NNCorner =new Test_Corner_1500(); - - double in[6]; //Input of neurals networks - double NN1=-1;//Output Neural Net - - double epsilon = 0.0000001; - - //variables - bool Adjacent=false; - bool Corner=false; - bool Central=false; - double SUM8=-1; - double logX8=-1; - double logY8=-1; - double SUM24=-1; - - //First Find the position of the Dead Channel in 3x3 matrix - int IndDeadCha=-1; - for(int i =0 ; i< 9;i++){ - if(fabs(M5x5[i])0){/*cout<<" Problem 2 dead channels in sum9! Can not correct "< 0 && XL8>0 && YL8 >0 && YR8>0 && SUM8>0 && XR24>0 &&YR24>0){ - logX8=TMath::Log(XL8/XR8); - logY8=TMath::Log(YL8/YR8); - SUM24=sum24; - //Added 15 Janvier 2007 to get ride of energy dependance! - SUM24 = SUM8/SUM24; - - Adjacent=false; - Corner=false; - Central=false; - - //Il faut trouver le canal d'energie maximal, et par rapport a ce canal regarde l'energie dans les adjacent pour voir si nous sommes sur le central. - float maxi; - int IndMax; - if(IndDeadCha!=0){ - maxi=M5x5[0]; - IndMax=0; - }else{ - maxi=M5x5[1]; - IndMax=1; - } - for(int j=IndMax;j<9;j++){ - if(j!=IndDeadCha){ - if(M5x5[j] > maxi){IndMax=j;maxi=M5x5[j];} - } - } - float Secmaxi=0; - int IndSecMax=0; - for(int j=IndSecMax;j<9;j++){ - if(j!=IndDeadCha && j!=IndMax){ - if(M5x5[j] > Secmaxi){IndSecMax=j;Secmaxi=M5x5[j];} - } - } - - in[0]=logX8; - in[1]=logY8; - in[2]=SUM24; - - //Define Adjacent/Central/Side with a Neural Net - TestPos_100 *position=new TestPos_100(); - float indpos = position->value(0,in[0],in[1],in[2],(SUM8-maxi)/sum24,(maxi-Secmaxi)/maxi,M5x5[voisin1]/SUM8,M5x5[voisin2]/SUM8,M5x5[voisin3]/SUM8,M5x5[voisin4]/SUM8); - if( indpos < 1.5){ - Central=true; - Adjacent=false; - Corner=false; - }else{ - if(indpos <2.5){ - Central=false; - Adjacent=true; - Corner=false; - }else{ - Central=false; - Adjacent=false; - Corner=true; - } - } - delete position; - - - if(logX8!=-50 && logY8!=-50 && SUM8>0 && XR24>0 &&YR24>0){ - if(Adjacent)NN1 =NNAdj->value(0,in[0],in[1],in[2]); - if(Central)NN1 =NNCentral->value(0,in[0],in[1],in[2]); - if(Corner)NN1 =NNCorner->value(0,in[0],in[1],in[2]); - }else{ - NN1=0; - } - } - - return NN1*SUM8; -} diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h similarity index 58% rename from RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h index 646ec6a6a86ba..980a947d7271a 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h @@ -1,8 +1,9 @@ -#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalDeadChannelRecoveryAlgos_HH -#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalDeadChannelRecoveryAlgos_HH +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EBDeadChannelRecoveryAlgos_HH +#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EBDeadChannelRecoveryAlgos_HH -/** \class EcalDeadChannelRecoveryAlgos +/** \class EBDeadChannelRecoveryAlgos * + * \author Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) */ @@ -12,38 +13,33 @@ #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" #include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" #include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" #include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" #include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapHardcodedTopology.h" #include "Geometry/CaloTopology/interface/CaloTopology.h" #include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" #include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" -//#include "Geometry/Vector/interface/GlobalPoint.h" // Reconstruction Classes #include "DataFormats/EcalRecHit/interface/EcalRecHit.h" #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" #include "DataFormats/EcalDetId/interface/EBDetId.h" - #include - - -class EcalDeadChannelRecoveryAlgos { +class EBDeadChannelRecoveryAlgos { public: - EcalDeadChannelRecoveryAlgos(const CaloTopology * theCaloTopology); - EcalDeadChannelRecoveryAlgos(); - ~EcalDeadChannelRecoveryAlgos(); + EBDeadChannelRecoveryAlgos(const CaloTopology * theCaloTopology); - EcalRecHit Correct(const EBDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut); - EcalRecHit correct(const EBDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut); + EcalRecHit correct(const EBDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut, bool* AccFlag); private: const CaloTopology * calotopo; - double MakeNxNMatrice(EBDetId itID,const EcalRecHitCollection* hit_collection, int *IndDeadChannel, double *MNxN); + double MakeNxNMatrice_RelMC(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelMC, bool* AccFlag); + double MakeNxNMatrice_RelDC(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelDC, bool* AccFlag); // ----------member data --------------------------- diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h new file mode 100644 index 0000000000000..a76e3476ed6bf --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h @@ -0,0 +1,47 @@ +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EEDeadChannelRecoveryAlgos_HH +#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EEDeadChannelRecoveryAlgos_HH + +/** \class EEDeadChannelRecoveryAlgos + * + * \author Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) + */ + + +// Geometry +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloGeometry.h" +#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" +#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapHardcodedTopology.h" +#include "Geometry/CaloTopology/interface/CaloTopology.h" +#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" +#include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" + +// Reconstruction Classes +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/EcalDetId/interface/EEDetId.h" +#include + + +class EEDeadChannelRecoveryAlgos { + public: + EEDeadChannelRecoveryAlgos(const CaloTopology * theCaloTopology); + + EcalRecHit correct(const EEDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut, bool* AccFlag); + + private: + + + const CaloTopology * calotopo; + double MakeNxNMatrice_RelMC(EEDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelMC, bool* AccFlag); + double MakeNxNMatrice_RelDC(EEDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelDC, bool* AccFlag); + + // ----------member data --------------------------- + +}; +#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/ExponCorrector.cxx b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/ExponCorrector.cxx deleted file mode 100644 index 64b510a32634c..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/ExponCorrector.cxx +++ /dev/null @@ -1,327 +0,0 @@ -// -// Original Author: Georgios Daskalakis , Georgios.Daskalakis@cern.ch -// Created: Fri Mar 30 18:15:12 CET 2007 -// -// -// -// - - -#include "ExponCorrector.h" -#include - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -double ExponCorrector::value(int DeadCrystal, int DeadCrystalEta, int estimE, int subRegion, double estimX, double estimY) { - - double result=0.0; - theCrystal = DeadCrystal; - theSubR = subRegion; - - switch(estimE) - { - case 50: - ExpE_50(); break; - default: - ExpE_50(); break; - } - - float X0[25],Y0[25]; - int idx; idx=0; - for(int ix=-2;ix<3;ix++){ - for(int iy=-2;iy<3;iy++){ - X0[idx]=float(ix)*20.0; - Y0[idx]=float(iy)*20.0; - idx++; - } - } - - //================== - double d = sqrt(pow((estimX-X0[theCrystal]),2)+pow((estimY-Y0[theCrystal]),2)); - if(dHIGLIM)d=HIGLIM; - result = EXPAN[0]+EXPAN[1]*d+EXPAN[2]*d*d+EXPAN[3]*d*d*d; - //================== - - return result; - -} - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - - -void ExponCorrector::ExpE_50(){ - - double DC_6__SUB_0[6]={6.988035e-01, -5.241955e-02, 5.094553e-04, 2.249889e-05, 1.562500e+01, 1.962500e+01}; - double DC_6__SUB_1[6]={1.147163e+00, -1.403141e-01, 5.994774e-03, -8.805192e-05, 1.787500e+01, 2.237500e+01}; - double DC_6__SUB_5[6]={7.122391e-01, -7.160745e-02, 2.432065e-03, -2.719902e-05, 1.812500e+01, 2.237500e+01}; - if(theCrystal==6){ - if(theSubR==0){ - for(int j=0;j<4;j++)EXPAN[j]=DC_6__SUB_0[j]; - LOWLIM = DC_6__SUB_0[4]; - HIGLIM = DC_6__SUB_0[5]; - } - if(theSubR==1){ - for(int j=0;j<4;j++)EXPAN[j]=DC_6__SUB_1[j]; - LOWLIM = DC_6__SUB_1[4]; - HIGLIM = DC_6__SUB_1[5]; - } - if(theSubR==5){ - for(int j=0;j<4;j++)EXPAN[j]=DC_6__SUB_5[j]; - LOWLIM = DC_6__SUB_5[4]; - HIGLIM = DC_6__SUB_5[5]; - } - } - - - double DC_8__SUB_3[6]={7.661651e-01, -7.084843e-02, 1.970247e-03, -1.305198e-05, 1.787500e+01, 2.237500e+01}; - double DC_8__SUB_4[6]={7.880124e+00, -1.170639e+00, 5.895264e-02, -1.002098e-03, 1.687500e+01, 1.962500e+01}; - double DC_8__SUB_9[6]={2.847308e+00, -3.780883e-01, 1.710198e-02, -2.615451e-04, 1.812500e+01, 2.212500e+01}; - if(theCrystal==8){ - if(theSubR==3){ - for(int j=0;j<4;j++)EXPAN[j]=DC_8__SUB_3[j]; - LOWLIM = DC_8__SUB_3[4]; - HIGLIM = DC_8__SUB_3[5]; - } - if(theSubR==4){ - for(int j=0;j<4;j++)EXPAN[j]=DC_8__SUB_4[j]; - LOWLIM = DC_8__SUB_4[4]; - HIGLIM = DC_8__SUB_4[5]; - } - if(theSubR==9){ - for(int j=0;j<4;j++)EXPAN[j]=DC_8__SUB_9[j]; - LOWLIM = DC_8__SUB_9[4]; - HIGLIM = DC_8__SUB_9[5]; - } - } - - - double DC_16__SUB_15[6]={1.488620e+00, -1.783270e-01, 7.412517e-03, -1.055881e-04, 1.837500e+01, 2.237500e+01}; - double DC_16__SUB_20[6]={2.954570e+00, -4.018463e-01, 1.888242e-02, -3.039138e-04, 1.612500e+01, 1.937500e+01}; - double DC_16__SUB_21[6]={8.015163e-01, -7.552633e-02, 2.308837e-03, -2.145060e-05, 1.787500e+01, 2.262500e+01}; - if(theCrystal==16){ - if(theSubR==15){ - for(int j=0;j<4;j++)EXPAN[j]=DC_16__SUB_15[j]; - LOWLIM = DC_16__SUB_15[4]; - HIGLIM = DC_16__SUB_15[5]; - } - if(theSubR==20){ - for(int j=0;j<4;j++)EXPAN[j]=DC_16__SUB_20[j]; - LOWLIM = DC_16__SUB_20[4]; - HIGLIM = DC_16__SUB_20[5]; - } - if(theSubR==21){ - for(int j=0;j<4;j++)EXPAN[j]=DC_16__SUB_21[j]; - LOWLIM = DC_16__SUB_21[4]; - HIGLIM = DC_16__SUB_21[5]; - } - } - - double DC_18__SUB_19[6]={1.416402e+00, -1.806420e-01, 7.972462e-03, -1.199993e-04, 1.787500e+01, 2.262500e+01}; - double DC_18__SUB_23[6]={4.194251e+00, -5.835595e-01, 2.741645e-02, -4.322421e-04, 1.812500e+01, 2.237500e+01}; - double DC_18__SUB_24[6]={2.681779e+00, -3.893816e-01, 1.947832e-02, -3.319258e-04, 1.562500e+01, 1.937500e+01}; - if(theCrystal==18){ - if(theSubR==19){ - for(int j=0;j<4;j++)EXPAN[j]=DC_18__SUB_19[j]; - LOWLIM = DC_18__SUB_19[4]; - HIGLIM = DC_18__SUB_19[5]; - } - if(theSubR==23){ - for(int j=0;j<4;j++)EXPAN[j]=DC_18__SUB_23[j]; - LOWLIM = DC_18__SUB_23[4]; - HIGLIM = DC_18__SUB_23[5]; - } - if(theSubR==24){ - for(int j=0;j<4;j++)EXPAN[j]=DC_18__SUB_24[j]; - LOWLIM = DC_18__SUB_24[4]; - HIGLIM = DC_18__SUB_24[5]; - } - } - - - double DC_7[150]={ --2.254192e+00,8.773615e-01,-8.104879e-02,2.204202e-03,1.237500e+01,1.662500e+01, --8.492041e+00,2.447796e+00,-2.122152e-01,5.812223e-03,1.162500e+01,1.487500e+01, --1.088208e+01,2.992327e+00,-2.562457e-01,7.044847e-03,1.112500e+01,1.412500e+01, --1.301579e+00,8.800398e-01,-9.837782e-02,3.058346e-03,1.137500e+01,1.512500e+01, -3.626007e+01,-6.877452e+00,4.367576e-01,-9.268701e-03,1.262500e+01,1.662500e+01, -3.949840e+00,-6.127214e-01,3.226193e-02,-5.715623e-04,1.562500e+01,1.987500e+01, -4.219998e+00,-6.962436e-01,3.912757e-02,-7.414084e-04,1.462500e+01,1.862500e+01, -2.969170e+00,-4.834242e-01,2.709822e-02,-5.155613e-04,1.412500e+01,1.812500e+01, -1.679327e+00,-2.394863e-01,1.182912e-02,-1.988521e-04,1.437500e+01,1.862500e+01, -1.477710e+00,-2.043778e-01,9.799566e-03,-1.599286e-04,1.537500e+01,1.987500e+01, -1.273003e+00,-1.604834e-01,6.960934e-03,-1.023872e-04,1.937500e+01,2.337500e+01, --4.721569e-01,9.059029e-02,-5.074381e-03,8.975521e-05,1.837500e+01,2.262500e+01, -4.344981e-01,-4.276521e-02,1.444304e-03,-1.615800e-05,1.812500e+01,2.212500e+01, -5.088271e-01,-5.384739e-02,1.997008e-03,-2.531495e-05,1.837500e+01,2.262500e+01, --2.075691e-01,4.620214e-02,-2.641805e-03,4.620105e-05,1.912500e+01,2.362500e+01, - 2.741705e-02,6.743106e-03,-5.401191e-04,1.000053e-05,2.312500e+01,2.737500e+01, --2.564791e-01,4.004509e-02,-1.841141e-03,2.690698e-05,2.237500e+01,2.637500e+01, -1.941751e-01,-1.434651e-02,3.411754e-04,-2.193993e-06,2.212500e+01,2.587500e+01, --2.863949e-01,4.371159e-02,-1.989210e-03,2.890197e-05,2.212500e+01,2.637500e+01, --5.984808e-01,7.831724e-02,-3.257370e-03,4.427852e-05,2.312500e+01,2.737500e+01, -3.242949e+00,-3.312085e-01,1.133701e-02,-1.296594e-04,2.687500e+01,3.037500e+01, --8.831326e-01,9.888605e-02,-3.596903e-03,4.305765e-05,2.637500e+01,2.987500e+01, -1.510231e+00,-1.597930e-01,5.713092e-03,-6.851978e-05,2.637500e+01,2.937500e+01, -1.159944e+00,-1.231407e-01,4.435157e-03,-5.366391e-05,2.612500e+01,3.012500e+01, -3.476164e-01,-3.352644e-02,1.141654e-03,-1.331732e-05,2.687500e+01,3.062500e+01}; - - if(theCrystal==7 ){ - int idx = theSubR*6; - for(int j=0;j<4;j++)EXPAN[j]=DC_7[idx+j]; - LOWLIM = DC_7[idx+4]; - HIGLIM = DC_7[idx+5]; - } - - double DC_17[150]={ -4.217161e+00,-4.389886e-01,1.529779e-02,-1.779082e-04,2.687500e+01,3.062500e+01, --4.415793e-02,7.069231e-03,-2.445950e-04,2.358776e-06,2.612500e+01,3.012500e+01, -1.612653e+00,-1.739475e-01,6.346927e-03,-7.763128e-05,2.612500e+01,2.987500e+01, -4.170846e+00,-4.432786e-01,1.578580e-02,-1.877211e-04,2.637500e+01,3.012500e+01, --1.079075e+00,1.130099e-01,-3.858799e-03,4.349966e-05,2.687500e+01,3.087500e+01, --4.063348e-01,5.717392e-02,-2.470266e-03,3.445237e-05,2.312500e+01,2.737500e+01, -1.338731e+00,-1.582056e-01,6.380606e-03,-8.664104e-05,2.212500e+01,2.637500e+01, --2.421845e-02,1.270422e-02,-7.522113e-04,1.244266e-05,2.212500e+01,2.587500e+01, --4.021835e-01,5.935190e-02,-2.659277e-03,3.830565e-05,2.237500e+01,2.662500e+01, --8.196117e-01,1.097254e-01,-4.681045e-03,6.533124e-05,2.312500e+01,2.737500e+01, --1.526123e-01,3.885482e-02,-2.295584e-03,4.070329e-05,1.912500e+01,2.362500e+01, -5.311694e-01,-5.426867e-02,1.918688e-03,-2.266857e-05,1.862500e+01,2.262500e+01, --6.813745e-01,1.217903e-01,-6.579330e-03,1.137562e-04,1.812500e+01,2.187500e+01, --5.009189e-01,9.204942e-02,-4.959804e-03,8.470321e-05,1.837500e+01,2.262500e+01, --5.073070e-01,8.915138e-02,-4.632168e-03,7.654229e-05,1.912500e+01,2.362500e+01, -3.418404e+00,-5.297480e-01,2.794652e-02,-4.963118e-04,1.537500e+01,1.987500e+01, -1.659555e+00,-2.468708e-01,1.292932e-02,-2.331323e-04,1.437500e+01,1.862500e+01, -8.423056e-01,-9.808645e-02,3.962777e-03,-5.382368e-05,1.412500e+01,1.787500e+01, -1.469667e+00,-2.059879e-01,1.016120e-02,-1.724070e-04,1.462500e+01,1.887500e+01, -1.176922e+00,-1.515387e-01,6.875561e-03,-1.074350e-04,1.562500e+01,1.987500e+01, -5.720176e+00,-8.530840e-01,4.098870e-02,-6.115276e-04,1.287500e+01,1.637500e+01, - 4.841712e-01,1.913165e-01,-3.039104e-02,1.057621e-03,1.137500e+01,1.487500e+01, -6.498010e+00,-1.207127e+00,7.688244e-02,-1.660935e-03,1.112500e+01,1.387500e+01, --5.872777e+00,1.578269e+00,-1.307714e-01,3.472470e-03,1.162500e+01,1.487500e+01, --1.895147e+00,6.493533e-01,-5.698996e-02,1.506239e-03,1.262500e+01,1.662500e+01}; - - if(theCrystal==17 ){ - int idx = theSubR*6; - for(int j=0;j<4;j++)EXPAN[j]=DC_17[idx+j]; - LOWLIM = DC_17[idx+4]; - HIGLIM = DC_17[idx+5]; - } - - double DC_11[150]={ --7.841682e+00,1.823860e+00,-1.334697e-01,3.150600e-03,1.312500e+01,1.662500e+01, -8.018543e-01,-8.658559e-02,3.149128e-03,-3.654744e-05,1.537500e+01,1.987500e+01, --4.133606e-01,7.704605e-02,-4.101209e-03,6.866478e-05,1.937500e+01,2.387500e+01, --5.934164e-01,8.104380e-02,-3.460635e-03,4.795556e-05,2.312500e+01,2.737500e+01, --9.928602e-01,1.044207e-01,-3.569758e-03,4.018672e-05,2.687500e+01,3.037500e+01, --1.029552e+01,2.685724e+00,-2.204416e-01,5.841658e-03,1.187500e+01,1.487500e+01, -9.180374e-01,-1.052881e-01,4.064508e-03,-4.967248e-05,1.437500e+01,1.862500e+01, --1.418941e-01,4.179488e-02,-2.607750e-03,4.796817e-05,1.837500e+01,2.262500e+01, --1.056954e+00,1.409367e-01,-6.036432e-03,8.476716e-05,2.237500e+01,2.637500e+01, -4.350209e-01,-4.266503e-02,1.486051e-03,-1.785385e-05,2.662500e+01,2.987500e+01, - 3.455594e+00,-4.364698e-01,1.321818e-02,6.719265e-05,1.162500e+01,1.412500e+01, - 4.301526e-02,6.098664e-02,-6.465994e-03,1.720728e-04,1.412500e+01,1.787500e+01, --4.069651e-01,8.051603e-02,-4.498530e-03,7.871984e-05,1.837500e+01,2.212500e+01, --2.809479e-01,4.495355e-02,-2.087645e-03,3.068962e-05,2.212500e+01,2.612500e+01, -2.075194e+00,-2.261375e-01,8.316833e-03,-1.025206e-04,2.612500e+01,2.912500e+01, -1.378091e+01,-2.613367e+00,1.675564e-01,-3.613074e-03,1.187500e+01,1.512500e+01, -2.132854e+00,-3.269693e-01,1.746902e-02,-3.189777e-04,1.437500e+01,1.862500e+01, - 2.292343e-02,1.849124e-02,-1.524583e-03,3.130647e-05,1.837500e+01,2.262500e+01, -1.293551e-01,-5.126469e-03,-5.540647e-05,3.265263e-06,2.237500e+01,2.637500e+01, -9.596848e-01,-9.858289e-02,3.466541e-03,-4.118061e-05,2.612500e+01,2.987500e+01, -3.097831e+00,-3.674073e-01,1.202461e-02,-5.622977e-05,1.312500e+01,1.662500e+01, -2.897233e+00,-4.418207e-01,2.304895e-02,-4.059865e-04,1.537500e+01,1.987500e+01, -9.321359e-01,-1.104539e-01,4.572031e-03,-6.476785e-05,1.937500e+01,2.387500e+01, -5.252174e-01,-5.379442e-02,1.934598e-03,-2.379672e-05,2.312500e+01,2.737500e+01, -8.398420e-02,-4.740480e-03,1.085812e-04,-1.047917e-06,2.712500e+01,3.062500e+01}; - - if(theCrystal==11 ){ - int idx = theSubR*6; - for(int j=0;j<4;j++)EXPAN[j]=DC_11[idx+j]; - LOWLIM = DC_11[idx+4]; - HIGLIM = DC_11[idx+5]; - } - - double DC_12[150]={ --2.683156e+02,8.379351e+01,-8.574764e+00,2.894498e-01,9.050000e+00,1.075000e+01, --2.633331e+01,1.092268e+01,-1.292598e+00,4.755764e-02,6.550000e+00,1.035000e+01, -1.298892e+01,-3.890416e+00,5.668730e-01,-3.049368e-02,6.150000e+00,9.650000e+00, --2.060104e+01,8.805762e+00,-1.033988e+00,3.720978e-02,6.750000e+00,1.035000e+01, --1.435412e+01,6.805584e+00,-8.083018e-01,2.889051e-02,8.950000e+00,1.175000e+01, --3.833305e+00,2.751720e+00,-3.176925e-01,9.607317e-03,6.750000e+00,1.045000e+01, -4.728438e+00,-2.525736e-01,2.442477e-02,-2.816163e-03,3.750000e+00,8.150000e+00, -4.288562e+00,-1.554985e-02,-2.635850e-02,1.261286e-03,2.250000e+00,5.950000e+00, - 3.686623e+00,3.032598e-01,-6.954155e-02,2.280268e-03,3.650000e+00,7.750000e+00, --2.662604e+01,1.074988e+01,-1.242449e+00,4.460082e-02,6.950000e+00,1.025000e+01, -1.766374e+01,-5.546134e+00,7.526374e-01,-3.663364e-02,6.150000e+00,9.650000e+00, -4.038846e+00,9.220826e-02,-2.985477e-02,-1.532897e-04,2.550000e+00,6.050000e+00, -4.249283e+00,-1.329959e-01,6.910265e-02,-1.731542e-02,4.500000e-01,2.550000e+00, - 3.261831e+00,6.685430e-01,-1.667045e-01,1.010852e-02,2.450000e+00,5.950000e+00, -5.532059e+00,-9.222027e-01,1.754193e-01,-1.345344e-02,6.150000e+00,9.750000e+00, --2.055600e+00,2.167494e+00,-2.521345e-01,7.175688e-03,6.650000e+00,1.015000e+01, -5.174107e+00,-5.126735e-01,7.574543e-02,-5.924821e-03,3.650000e+00,8.050000e+00, - 4.010604e+00,1.421902e-01,-4.961370e-02,2.240491e-03,2.250000e+00,6.150000e+00, -4.916210e+00,-3.532186e-01,4.486601e-02,-4.190666e-03,3.550000e+00,8.050000e+00, --2.613829e+01,1.079982e+01,-1.267882e+00,4.601785e-02,6.750000e+00,1.035000e+01, --4.515550e+01,1.533485e+01,-1.592294e+00,5.292917e-02,8.850000e+00,1.125000e+01, --4.781856e+00,3.219430e+00,-3.851064e-01,1.279027e-02,6.650000e+00,1.055000e+01, -1.578993e+01,-4.741117e+00,6.368575e-01,-3.092251e-02,6.050000e+00,9.750000e+00, --3.026564e-01,1.669273e+00,-2.082128e-01,6.105978e-03,6.750000e+00,1.055000e+01, --8.954002e+01,2.883563e+01,-2.949398e+00,9.773130e-02,8.850000e+00,1.085000e+01}; - - if(theCrystal==12 ){ - int idx = theSubR*6; - for(int j=0;j<4;j++)EXPAN[j]=DC_12[idx+j]; - LOWLIM = DC_12[idx+4]; - HIGLIM = DC_12[idx+5]; - } - - double DC_13[150]={ - 5.823157e-02,8.400130e-03,-7.188907e-04,1.284352e-05,2.762500e+01,2.987500e+01, --9.805682e-01,1.246907e-01,-5.121338e-03,6.911245e-05,2.312500e+01,2.687500e+01, --7.683050e-01,1.241994e-01,-6.228905e-03,1.008285e-04,1.937500e+01,2.362500e+01, -1.323685e+00,-1.796862e-01,8.574237e-03,-1.410417e-04,1.562500e+01,2.012500e+01, -3.842282e+01,-7.223355e+00,4.554104e-01,-9.610130e-03,1.312500e+01,1.662500e+01, --1.799641e+00,1.999533e-01,-7.304839e-03,8.831979e-05,2.637500e+01,2.937500e+01, --1.224227e-01,2.381588e-02,-1.175947e-03,1.772012e-05,2.212500e+01,2.612500e+01, -1.595430e-01,-1.716654e-03,-5.677470e-04,1.641045e-05,1.837500e+01,2.262500e+01, --4.989548e-01,1.477504e-01,-1.091511e-02,2.433065e-04,1.437500e+01,1.862500e+01, -1.119539e+01,-1.692326e+00,7.848095e-02,-1.002662e-03,1.187500e+01,1.487500e+01, -3.947799e+00,-4.347167e-01,1.604157e-02,-1.977770e-04,2.612500e+01,2.887500e+01, -2.737905e-01,-2.446521e-02,7.749894e-04,-8.447286e-06,2.212500e+01,2.587500e+01, - 3.026276e-02,2.014191e-02,-1.780413e-03,3.846147e-05,1.812500e+01,2.212500e+01, --1.783688e-01,8.619931e-02,-6.949675e-03,1.578522e-04,1.412500e+01,1.812500e+01, --7.611232e-01,9.620214e-01,-1.215449e-01,4.094543e-03,1.187500e+01,1.412500e+01, --6.230283e-01,6.955968e-02,-2.494942e-03,2.924737e-05,2.637500e+01,2.937500e+01, -3.913277e-01,-3.816143e-02,1.305127e-03,-1.525915e-05,2.212500e+01,2.662500e+01, --5.825958e-02,2.959953e-02,-2.055292e-03,3.970729e-05,1.837500e+01,2.237500e+01, --8.518330e-01,2.124466e-01,-1.478244e-02,3.191030e-04,1.437500e+01,1.887500e+01, --1.286301e+01,3.628803e+00,-3.126392e-01,8.556526e-03,1.187500e+01,1.487500e+01, --3.598106e+00,3.811311e-01,-1.337326e-02,1.558978e-04,2.712500e+01,3.012500e+01, -5.432891e-01,-5.538775e-02,1.960782e-03,-2.363140e-05,2.312500e+01,2.737500e+01, --2.203707e-01,5.129646e-02,-3.001136e-03,5.319389e-05,1.912500e+01,2.387500e+01, -1.654851e+00,-2.281407e-01,1.095303e-02,-1.803335e-04,1.537500e+01,2.012500e+01, --2.960648e+00,1.079644e+00,-9.709813e-02,2.591611e-03,1.312500e+01,1.662500e+01}; - - - if(theCrystal==13 ){ - int idx = theSubR*6; - for(int j=0;j<4;j++)EXPAN[j]=DC_13[idx+j]; - LOWLIM = DC_13[idx+4]; - HIGLIM = DC_13[idx+5]; - } - - - - -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/ExponCorrector.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/ExponCorrector.h deleted file mode 100644 index 3de8b144f865a..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/ExponCorrector.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// Original Author: Georgios Daskalakis , Georgios.Daskalakis@cern.ch -// Created: Fri Mar 30 18:15:12 CET 2007 -// -// -// -// - - -#ifndef ExponCorrector_h -#define ExponCorrector_h - -class ExponCorrector { -public: - ExponCorrector() {} - ~ExponCorrector() {} - double value(int DeadCrystal, int DeadCrystalEta, int estimE, int subRegion, double estimX, double estimY); -private: - double EXPAN[4]; - double LOWLIM,HIGLIM; - int theCrystal; - int theSubR; - - void ExpE_50(); -}; - -#endif // ExponCorrector_h - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/PositionCorrector.cxx b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/PositionCorrector.cxx deleted file mode 100644 index 353e695574392..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/PositionCorrector.cxx +++ /dev/null @@ -1,189 +0,0 @@ -// -// Original Author: Georgios Daskalakis , Georgios.Daskalakis@cern.ch -// Created: Fri Mar 30 18:15:12 CET 2007 -// -// -// -// - - -#include "PositionCorrector.h" -#include - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -double PositionCorrector::CORRX(int DeadCrystal, int DeadCrystalEta, int estimE, double estimX) { - - float pos=0.0; - index=-1; - - int CR; CR = DeadCrystal; - - //=================================================================================== - if(CR<5 || CR>19 || CR==5 || CR==10 || CR==15 || CR==9 || CR==14 || CR==19 || CR==11 || CR==13){ - if(estimX<=1.0)index=0; - if(estimX> 1.0)index=1; - } - //================================================================================== - if( CR==6 || CR==8 ){ - if(estimX<=1.0)index=2; - if(estimX> 1.0)index=3; - } - //================================================================================== - if( CR==16 || CR==18 ){ - if(estimX<=0.5)index=4; - if(estimX >0.5)index=5; - } - //================================================================================== - if( CR==7 ){ - if(estimX<=0.1)index=6; - if(estimX >0.1)index=7; - } - //================================================================================== - if( CR==17 ){ - if(estimX<=0.5)index=8; - if(estimX >0.5)index=9; - } - //================================================================================== - if( CR==12 ){ - if(estimX<=0.0)index=10; - if(estimX >0.0)index=11; - } - //================================================================================== - - - switch(estimE) { - case 50: - correction_50(); break; - default: - correction_50(); break; - }//end switch - - - pos = estimX - ( a0+a1*estimX+a2*pow(estimX,2)+a3*pow(estimX,3) ); - return pos; - -} - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -double PositionCorrector::CORRY(int DeadCrystal, int DeadCrystalEta, int estimE, double estimY) { - - float pos=0.0; - index=-1; - - int CR; CR = DeadCrystal; - - //=================================================================================== - if(CR<5 || CR>19 || CR==5 || CR==10 || CR==15 || CR==9 || CR==14 || CR==19 || CR==7 || CR==17){ - if(estimY<=1.0)index=12; - if(estimY>1.0)index=13; - } - //================================================================================== - if( CR==6 || CR==16 ){ - if(estimY<=1.0)index=14; - if(estimY>1.0)index=15; - } - //================================================================================== - if( CR==8 || CR==18 ){ - if(estimY<=1.0)index=16; - if(estimY>1.0)index=17; - } - //================================================================================== - if( CR==11 ){ - if(estimY<=0.1)index=18; - if(estimY>0.1)index=19; - } - //================================================================================== - if( CR==13 ){ - if(estimY<=0.5)index=20; - if(estimY>0.5)index=21; - } - //================================================================================== - if( CR==12 ){ - if(estimY<=0.0)index=22; - if(estimY>0.0)index=23; - } - //================================================================================== - - - - switch(estimE) { - case 50: - correction_50(); break; - default: - correction_50(); break; - }//end switch - - pos = estimY - ( a0+a1*estimY+a2*pow(estimY,2)+a3*pow(estimY,3) ); - return pos; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -void PositionCorrector::correction_50(){ - switch(index) { -case 0: -a0=0.742593 ; a1=-2.443654 ; a2=-0.465629 ; a3=-0.021076; break; -case 1: -a0=0.723622 ; a1=-2.985130 ; a2=0.499481 ; a3=-0.019927; break; -case 2: -a0=1.523233 ; a1=-2.403963 ; a2=-0.509061 ; a3=-0.025730; break; -case 3: -a0=1.664726 ; a1=-3.356694 ; a2=0.549796 ; a3=-0.022267; break; -case 4: -a0=-0.159428; a1=-2.913839 ; a2=-0.553717 ; a3=-0.026586; break; -case 5: -a0=-0.243322; a1=-2.982453; a2=0.562717 ; a3=-0.025937; break; -case 6: -a0=4.041620 ; a1=-4.430074; a2=-1.810173; a3=-0.195484; break; -case 7: -a0=3.865189 ; a1=-4.704274; a2=0.821256 ; a3=-0.039980; break; -case 8: -a0=-2.149538; a1=-4.287159; a2=-0.860018; a3=-0.049002; break; -case 9: -a0=-1.212509; a1=-7.920839; a2=3.424293 ; a3=-0.450545; break; -case 10: -a0=0.613761 ; a1=0.135842 ; a2=-0.013459; a3=0.000387 ; break; -case 11: -a0=0.583244 ; a1=0.118751 ; a2=0.002993 ; a3=0.000765 ; break; -case 12: -a0=-0.667742; a1=-2.345453; a2=-0.207485; a3=0.015167 ; break; -case 13: -a0=-0.802945; a1=-2.473333; a2=0.509882 ; a3=-0.025977; break; -case 14: -a0=0.176678 ; a1=-2.515074; a2=-0.316820; a3=0.006614 ; break; -case 15: -a0=0.053470 ; a1=-2.847765; a2=0.569733 ; a3=-0.029271; break; -case 16: -a0=-1.523717; a1=-2.677881; a2=-0.263621; a3=0.010810 ; break; -case 17: -a0=-1.728052; a1=-2.304793; a2=0.518835 ; a3=-0.028141; break; -case 18: -a0=1.726925 ; a1=-5.905270; a2=-2.038082; a3=-0.151892; break; -case 19: -a0=1.886734 ; a1=-3.997667; a2=0.822161 ; a3=-0.046878; break; -case 20: -a0=-3.924581; a1=-4.341018; a2=-0.671026; a3=-0.021481; break; -case 21: -a0=-4.464453; a1=-4.115324; a2=1.873425 ; a3=-0.152978; break; -case 22: -a0=-0.806418; a1=0.143467 ; a2=-0.001304; a3=0.000772 ; break; -case 23: -a0=-0.835848; a1=0.154018 ; a2=0.017631 ; a3=0.000075 ; break; -default: - std::cout<<" Error, not valid Dead Channel Number, Abort"< - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - - -double SplineCorrector::value(int DeadCrystal, int DeadCrystalEta, int estimE, double estimX, double estimY) { - - double result=0.0; - index = DeadCrystal; - - switch(estimE) - { - case 50: - SplE_50(); break; - default: - SplE_50(); break; - }//end switch - - //================== - int PDIM = 5; - for (int iy=0 ; iy - -double TestPos_100::value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7,double in8) { - input0 = (in0 - 0)/1; - input1 = (in1 - 0)/1; - input2 = (in2 - 0)/1; - input3 = (in3 - 0)/1; - input4 = (in4 - 0)/1; - input5 = (in5 - 0)/1; - input6 = (in6 - 0)/1; - input7 = (in7 - 0)/1; - input8 = (in8 - 0)/1; - switch(index) { - case 0: - return ((neuron0xa5d6850()*1)+0); - default: - return 0.; - } -} - -double TestPos_100::neuron0xa5c5530() { - return input0; -} - -double TestPos_100::neuron0xa5d3b10() { - return input1; -} - -double TestPos_100::neuron0xa5d3c10() { - return input2; -} - -double TestPos_100::neuron0xa5d3d58() { - return input3; -} - -double TestPos_100::neuron0xa5d3f30() { - return input4; -} - -double TestPos_100::neuron0xa5d4108() { - return input5; -} - -double TestPos_100::neuron0xa5d42e0() { - return input6; -} - -double TestPos_100::neuron0xa5d44b8() { - return input7; -} - -double TestPos_100::neuron0xa5d46b0() { - return input8; -} - -double TestPos_100::input0xa5d49c8() { - double input = 0.531303; - input += synapse0xa5c18e8(); - input += synapse0xa5d4b58(); - input += synapse0xa5d4b80(); - input += synapse0xa5d4ba8(); - input += synapse0xa5d4bd0(); - input += synapse0xa5d4bf8(); - input += synapse0xa5d4c20(); - input += synapse0xa5d4c48(); - input += synapse0xa5d4c70(); - return input; -} - -double TestPos_100::neuron0xa5d49c8() { - double input = input0xa5d49c8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double TestPos_100::input0xa5d4c98() { - double input = 0.00858638; - input += synapse0xa5d4e70(); - input += synapse0xa5d4e98(); - input += synapse0xa5d4ec0(); - input += synapse0xa5d4ee8(); - input += synapse0xa5d4f10(); - input += synapse0xa5d4f38(); - input += synapse0xa5d4f60(); - input += synapse0xa5d4f88(); - input += synapse0xa5d5038(); - return input; -} - -double TestPos_100::neuron0xa5d4c98() { - double input = input0xa5d4c98(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double TestPos_100::input0xa5d5060() { - double input = 0.540891; - input += synapse0xa5d51f0(); - input += synapse0xa5d5218(); - input += synapse0xa5d5240(); - input += synapse0xa5d5268(); - input += synapse0xa5d5290(); - input += synapse0xa5d52b8(); - input += synapse0xa5d52e0(); - input += synapse0xa5d5308(); - input += synapse0xa5d5330(); - return input; -} - -double TestPos_100::neuron0xa5d5060() { - double input = input0xa5d5060(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double TestPos_100::input0xa5d5358() { - double input = 0.31223; - input += synapse0xa5d5530(); - input += synapse0xa5d5558(); - input += synapse0xa5d5580(); - input += synapse0xa5d55a8(); - input += synapse0xa5d55d0(); - input += synapse0xa5d55f8(); - input += synapse0xa5d4fb0(); - input += synapse0xa5d4fd8(); - input += synapse0xa5d5000(); - return input; -} - -double TestPos_100::neuron0xa5d5358() { - double input = input0xa5d5358(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double TestPos_100::input0xa5d5728() { - double input = -0.709237; - input += synapse0xa5d5900(); - input += synapse0xa5d5928(); - input += synapse0xa5d5950(); - input += synapse0xa5d5978(); - input += synapse0xa5d59a0(); - input += synapse0xa5d59c8(); - input += synapse0xa5d59f0(); - input += synapse0xa5d5a18(); - input += synapse0xa5d5a40(); - return input; -} - -double TestPos_100::neuron0xa5d5728() { - double input = input0xa5d5728(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double TestPos_100::input0xa5d5a68() { - double input = -1.13743; - input += synapse0xa5d5c40(); - input += synapse0xa5d5c68(); - input += synapse0xa5d5c90(); - input += synapse0xa5d5cb8(); - input += synapse0xa5d5ce0(); - input += synapse0xa5d5d08(); - input += synapse0xa5d5d30(); - input += synapse0xa5d5d58(); - input += synapse0xa5d5d80(); - return input; -} - -double TestPos_100::neuron0xa5d5a68() { - double input = input0xa5d5a68(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double TestPos_100::input0xa5d5da8() { - double input = -0.396006; - input += synapse0xa5d5f80(); - input += synapse0xa5d5fa8(); - input += synapse0xa5d5fd0(); - input += synapse0xa5d5ff8(); - input += synapse0xa5d6020(); - input += synapse0xa5d6048(); - input += synapse0xa5d6070(); - input += synapse0xa5d6098(); - input += synapse0xa5d60c0(); - return input; -} - -double TestPos_100::neuron0xa5d5da8() { - double input = input0xa5d5da8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double TestPos_100::input0xa5d60e8() { - double input = -1.31206; - input += synapse0xa5d6348(); - input += synapse0xa5d6370(); - input += synapse0xa521c20(); - input += synapse0xa521ba8(); - input += synapse0xa521dc0(); - input += synapse0xa34c098(); - input += synapse0xa5d5620(); - input += synapse0xa5d5648(); - input += synapse0xa5d5670(); - return input; -} - -double TestPos_100::neuron0xa5d60e8() { - double input = input0xa5d60e8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double TestPos_100::input0xa5d65a0() { - double input = 0.768949; - input += synapse0xa5d66e8(); - input += synapse0xa5d6710(); - input += synapse0xa5d6738(); - input += synapse0xa5d6760(); - input += synapse0xa5d6788(); - input += synapse0xa5d67b0(); - input += synapse0xa5d67d8(); - input += synapse0xa5d6800(); - input += synapse0xa5d6828(); - return input; -} - -double TestPos_100::neuron0xa5d65a0() { - double input = input0xa5d65a0(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double TestPos_100::input0xa5d6850() { - double input = 1.4245; - input += synapse0xa5d6950(); - input += synapse0xa5d6978(); - input += synapse0xa5d69a0(); - input += synapse0xa5d69c8(); - input += synapse0xa5d69f0(); - input += synapse0xa5d6a18(); - input += synapse0xa5d6a40(); - input += synapse0xa5d6a68(); - input += synapse0xa5d6a90(); - return input; -} - -double TestPos_100::neuron0xa5d6850() { - double input = input0xa5d6850(); - return (input * 1)+0; -} - -double TestPos_100::synapse0xa5c18e8() { - return (neuron0xa5c5530()*-1.4618); -} - -double TestPos_100::synapse0xa5d4b58() { - return (neuron0xa5d3b10()*0.087325); -} - -double TestPos_100::synapse0xa5d4b80() { - return (neuron0xa5d3c10()*-0.728406); -} - -double TestPos_100::synapse0xa5d4ba8() { - return (neuron0xa5d3d58()*0.339684); -} - -double TestPos_100::synapse0xa5d4bd0() { - return (neuron0xa5d3f30()*-0.450042); -} - -double TestPos_100::synapse0xa5d4bf8() { - return (neuron0xa5d4108()*0.589395); -} - -double TestPos_100::synapse0xa5d4c20() { - return (neuron0xa5d42e0()*-0.405287); -} - -double TestPos_100::synapse0xa5d4c48() { - return (neuron0xa5d44b8()*0.0336332); -} - -double TestPos_100::synapse0xa5d4c70() { - return (neuron0xa5d46b0()*-1.21001); -} - -double TestPos_100::synapse0xa5d4e70() { - return (neuron0xa5c5530()*-0.17238); -} - -double TestPos_100::synapse0xa5d4e98() { - return (neuron0xa5d3b10()*0.263866); -} - -double TestPos_100::synapse0xa5d4ec0() { - return (neuron0xa5d3c10()*-0.231923); -} - -double TestPos_100::synapse0xa5d4ee8() { - return (neuron0xa5d3d58()*-0.534989); -} - -double TestPos_100::synapse0xa5d4f10() { - return (neuron0xa5d3f30()*-0.632176); -} - -double TestPos_100::synapse0xa5d4f38() { - return (neuron0xa5d4108()*0.128704); -} - -double TestPos_100::synapse0xa5d4f60() { - return (neuron0xa5d42e0()*-0.280789); -} - -double TestPos_100::synapse0xa5d4f88() { - return (neuron0xa5d44b8()*-0.792244); -} - -double TestPos_100::synapse0xa5d5038() { - return (neuron0xa5d46b0()*-0.927055); -} - -double TestPos_100::synapse0xa5d51f0() { - return (neuron0xa5c5530()*0.630397); -} - -double TestPos_100::synapse0xa5d5218() { - return (neuron0xa5d3b10()*0.0402529); -} - -double TestPos_100::synapse0xa5d5240() { - return (neuron0xa5d3c10()*-0.802947); -} - -double TestPos_100::synapse0xa5d5268() { - return (neuron0xa5d3d58()*0.463431); -} - -double TestPos_100::synapse0xa5d5290() { - return (neuron0xa5d3f30()*0.0615201); -} - -double TestPos_100::synapse0xa5d52b8() { - return (neuron0xa5d4108()*-1.43815); -} - -double TestPos_100::synapse0xa5d52e0() { - return (neuron0xa5d42e0()*-1.01121); -} - -double TestPos_100::synapse0xa5d5308() { - return (neuron0xa5d44b8()*-1.62751); -} - -double TestPos_100::synapse0xa5d5330() { - return (neuron0xa5d46b0()*-2.93597); -} - -double TestPos_100::synapse0xa5d5530() { - return (neuron0xa5c5530()*0.809439); -} - -double TestPos_100::synapse0xa5d5558() { - return (neuron0xa5d3b10()*0.201994); -} - -double TestPos_100::synapse0xa5d5580() { - return (neuron0xa5d3c10()*-0.0247191); -} - -double TestPos_100::synapse0xa5d55a8() { - return (neuron0xa5d3d58()*1.62191); -} - -double TestPos_100::synapse0xa5d55d0() { - return (neuron0xa5d3f30()*0.340893); -} - -double TestPos_100::synapse0xa5d55f8() { - return (neuron0xa5d4108()*-0.126776); -} - -double TestPos_100::synapse0xa5d4fb0() { - return (neuron0xa5d42e0()*0.848585); -} - -double TestPos_100::synapse0xa5d4fd8() { - return (neuron0xa5d44b8()*1.17485); -} - -double TestPos_100::synapse0xa5d5000() { - return (neuron0xa5d46b0()*3.12906); -} - -double TestPos_100::synapse0xa5d5900() { - return (neuron0xa5c5530()*1.39657); -} - -double TestPos_100::synapse0xa5d5928() { - return (neuron0xa5d3b10()*1.60718); -} - -double TestPos_100::synapse0xa5d5950() { - return (neuron0xa5d3c10()*-0.630117); -} - -double TestPos_100::synapse0xa5d5978() { - return (neuron0xa5d3d58()*-0.595902); -} - -double TestPos_100::synapse0xa5d59a0() { - return (neuron0xa5d3f30()*-1.4292); -} - -double TestPos_100::synapse0xa5d59c8() { - return (neuron0xa5d4108()*-2.37143); -} - -double TestPos_100::synapse0xa5d59f0() { - return (neuron0xa5d42e0()*-1.04322); -} - -double TestPos_100::synapse0xa5d5a18() { - return (neuron0xa5d44b8()*-2.12608); -} - -double TestPos_100::synapse0xa5d5a40() { - return (neuron0xa5d46b0()*-0.833842); -} - -double TestPos_100::synapse0xa5d5c40() { - return (neuron0xa5c5530()*1.54503); -} - -double TestPos_100::synapse0xa5d5c68() { - return (neuron0xa5d3b10()*1.37067); -} - -double TestPos_100::synapse0xa5d5c90() { - return (neuron0xa5d3c10()*-1.19252); -} - -double TestPos_100::synapse0xa5d5cb8() { - return (neuron0xa5d3d58()*-0.769953); -} - -double TestPos_100::synapse0xa5d5ce0() { - return (neuron0xa5d3f30()*-0.993863); -} - -double TestPos_100::synapse0xa5d5d08() { - return (neuron0xa5d4108()*1.03303); -} - -double TestPos_100::synapse0xa5d5d30() { - return (neuron0xa5d42e0()*-0.0630523); -} - -double TestPos_100::synapse0xa5d5d58() { - return (neuron0xa5d44b8()*0.216776); -} - -double TestPos_100::synapse0xa5d5d80() { - return (neuron0xa5d46b0()*0.255905); -} - -double TestPos_100::synapse0xa5d5f80() { - return (neuron0xa5c5530()*-0.361551); -} - -double TestPos_100::synapse0xa5d5fa8() { - return (neuron0xa5d3b10()*-0.207123); -} - -double TestPos_100::synapse0xa5d5fd0() { - return (neuron0xa5d3c10()*-1.4357); -} - -double TestPos_100::synapse0xa5d5ff8() { - return (neuron0xa5d3d58()*0.872323); -} - -double TestPos_100::synapse0xa5d6020() { - return (neuron0xa5d3f30()*-0.168812); -} - -double TestPos_100::synapse0xa5d6048() { - return (neuron0xa5d4108()*1.20287); -} - -double TestPos_100::synapse0xa5d6070() { - return (neuron0xa5d42e0()*0.654947); -} - -double TestPos_100::synapse0xa5d6098() { - return (neuron0xa5d44b8()*1.24797); -} - -double TestPos_100::synapse0xa5d60c0() { - return (neuron0xa5d46b0()*1.35056); -} - -double TestPos_100::synapse0xa5d6348() { - return (neuron0xa5c5530()*1.42169); -} - -double TestPos_100::synapse0xa5d6370() { - return (neuron0xa5d3b10()*0.782071); -} - -double TestPos_100::synapse0xa521c20() { - return (neuron0xa5d3c10()*-1.5144); -} - -double TestPos_100::synapse0xa521ba8() { - return (neuron0xa5d3d58()*-0.21864); -} - -double TestPos_100::synapse0xa521dc0() { - return (neuron0xa5d3f30()*-1.20186); -} - -double TestPos_100::synapse0xa34c098() { - return (neuron0xa5d4108()*-1.79633); -} - -double TestPos_100::synapse0xa5d5620() { - return (neuron0xa5d42e0()*-0.529529); -} - -double TestPos_100::synapse0xa5d5648() { - return (neuron0xa5d44b8()*-1.67783); -} - -double TestPos_100::synapse0xa5d5670() { - return (neuron0xa5d46b0()*-0.595233); -} - -double TestPos_100::synapse0xa5d66e8() { - return (neuron0xa5c5530()*-1.18159); -} - -double TestPos_100::synapse0xa5d6710() { - return (neuron0xa5d3b10()*0.143654); -} - -double TestPos_100::synapse0xa5d6738() { - return (neuron0xa5d3c10()*1.14203); -} - -double TestPos_100::synapse0xa5d6760() { - return (neuron0xa5d3d58()*1.1597); -} - -double TestPos_100::synapse0xa5d6788() { - return (neuron0xa5d3f30()*-0.68027); -} - -double TestPos_100::synapse0xa5d67b0() { - return (neuron0xa5d4108()*-0.704502); -} - -double TestPos_100::synapse0xa5d67d8() { - return (neuron0xa5d42e0()*-1.44991); -} - -double TestPos_100::synapse0xa5d6800() { - return (neuron0xa5d44b8()*-0.00746011); -} - -double TestPos_100::synapse0xa5d6828() { - return (neuron0xa5d46b0()*-2.01778); -} - -double TestPos_100::synapse0xa5d6950() { - return (neuron0xa5d49c8()*0.515968); -} - -double TestPos_100::synapse0xa5d6978() { - return (neuron0xa5d4c98()*-0.439706); -} - -double TestPos_100::synapse0xa5d69a0() { - return (neuron0xa5d5060()*3.41467); -} - -double TestPos_100::synapse0xa5d69c8() { - return (neuron0xa5d5358()*-1.85878); -} - -double TestPos_100::synapse0xa5d69f0() { - return (neuron0xa5d5728()*1.15939); -} - -double TestPos_100::synapse0xa5d6a18() { - return (neuron0xa5d5a68()*-1.46626); -} - -double TestPos_100::synapse0xa5d6a40() { - return (neuron0xa5d5da8()*-1.70389); -} - -double TestPos_100::synapse0xa5d6a68() { - return (neuron0xa5d60e8()*0.802298); -} - -double TestPos_100::synapse0xa5d6a90() { - return (neuron0xa5d65a0()*1.49076); -} - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/TestPos_100.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/TestPos_100.h deleted file mode 100644 index ea675b152f356..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/TestPos_100.h +++ /dev/null @@ -1,141 +0,0 @@ -#ifndef TestPos_100_h -#define TestPos_100_h - -class TestPos_100 { -public: - TestPos_100() {} - ~TestPos_100() {} - double value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7,double in8); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double input8; - double neuron0xa5c5530(); - double neuron0xa5d3b10(); - double neuron0xa5d3c10(); - double neuron0xa5d3d58(); - double neuron0xa5d3f30(); - double neuron0xa5d4108(); - double neuron0xa5d42e0(); - double neuron0xa5d44b8(); - double neuron0xa5d46b0(); - double input0xa5d49c8(); - double neuron0xa5d49c8(); - double input0xa5d4c98(); - double neuron0xa5d4c98(); - double input0xa5d5060(); - double neuron0xa5d5060(); - double input0xa5d5358(); - double neuron0xa5d5358(); - double input0xa5d5728(); - double neuron0xa5d5728(); - double input0xa5d5a68(); - double neuron0xa5d5a68(); - double input0xa5d5da8(); - double neuron0xa5d5da8(); - double input0xa5d60e8(); - double neuron0xa5d60e8(); - double input0xa5d65a0(); - double neuron0xa5d65a0(); - double input0xa5d6850(); - double neuron0xa5d6850(); - double synapse0xa5c18e8(); - double synapse0xa5d4b58(); - double synapse0xa5d4b80(); - double synapse0xa5d4ba8(); - double synapse0xa5d4bd0(); - double synapse0xa5d4bf8(); - double synapse0xa5d4c20(); - double synapse0xa5d4c48(); - double synapse0xa5d4c70(); - double synapse0xa5d4e70(); - double synapse0xa5d4e98(); - double synapse0xa5d4ec0(); - double synapse0xa5d4ee8(); - double synapse0xa5d4f10(); - double synapse0xa5d4f38(); - double synapse0xa5d4f60(); - double synapse0xa5d4f88(); - double synapse0xa5d5038(); - double synapse0xa5d51f0(); - double synapse0xa5d5218(); - double synapse0xa5d5240(); - double synapse0xa5d5268(); - double synapse0xa5d5290(); - double synapse0xa5d52b8(); - double synapse0xa5d52e0(); - double synapse0xa5d5308(); - double synapse0xa5d5330(); - double synapse0xa5d5530(); - double synapse0xa5d5558(); - double synapse0xa5d5580(); - double synapse0xa5d55a8(); - double synapse0xa5d55d0(); - double synapse0xa5d55f8(); - double synapse0xa5d4fb0(); - double synapse0xa5d4fd8(); - double synapse0xa5d5000(); - double synapse0xa5d5900(); - double synapse0xa5d5928(); - double synapse0xa5d5950(); - double synapse0xa5d5978(); - double synapse0xa5d59a0(); - double synapse0xa5d59c8(); - double synapse0xa5d59f0(); - double synapse0xa5d5a18(); - double synapse0xa5d5a40(); - double synapse0xa5d5c40(); - double synapse0xa5d5c68(); - double synapse0xa5d5c90(); - double synapse0xa5d5cb8(); - double synapse0xa5d5ce0(); - double synapse0xa5d5d08(); - double synapse0xa5d5d30(); - double synapse0xa5d5d58(); - double synapse0xa5d5d80(); - double synapse0xa5d5f80(); - double synapse0xa5d5fa8(); - double synapse0xa5d5fd0(); - double synapse0xa5d5ff8(); - double synapse0xa5d6020(); - double synapse0xa5d6048(); - double synapse0xa5d6070(); - double synapse0xa5d6098(); - double synapse0xa5d60c0(); - double synapse0xa5d6348(); - double synapse0xa5d6370(); - double synapse0xa521c20(); - double synapse0xa521ba8(); - double synapse0xa521dc0(); - double synapse0xa34c098(); - double synapse0xa5d5620(); - double synapse0xa5d5648(); - double synapse0xa5d5670(); - double synapse0xa5d66e8(); - double synapse0xa5d6710(); - double synapse0xa5d6738(); - double synapse0xa5d6760(); - double synapse0xa5d6788(); - double synapse0xa5d67b0(); - double synapse0xa5d67d8(); - double synapse0xa5d6800(); - double synapse0xa5d6828(); - double synapse0xa5d6950(); - double synapse0xa5d6978(); - double synapse0xa5d69a0(); - double synapse0xa5d69c8(); - double synapse0xa5d69f0(); - double synapse0xa5d6a18(); - double synapse0xa5d6a40(); - double synapse0xa5d6a68(); - double synapse0xa5d6a90(); -}; - -#endif // TestPos_100_h - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Central_1500.cxx b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Central_1500.cxx deleted file mode 100644 index 5c6778e4af6ef..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Central_1500.cxx +++ /dev/null @@ -1,397 +0,0 @@ -#include "Test_Central_1500.h" -#include - -double Test_Central_1500::value(int index,double in0,double in1,double in2) { - input0 = (in0 - 0)/1; - input1 = (in1 - 0)/1; - input2 = (in2 - 0)/1; - switch(index) { - case 0: - return ((neuron0xa7ed248()*1)+0); - default: - return 0.; - } -} - -double Test_Central_1500::neuron0xa7ecce8() { - return input0; -} - -double Test_Central_1500::neuron0xa7ece78() { - return input1; -} - -double Test_Central_1500::neuron0xa7ed050() { - return input2; -} - -double Test_Central_1500::input0xa7ed368() { - double input = -0.491512; - input += synapse0xa7f1b18(); - input += synapse0xa7ed4f8(); - input += synapse0xa7ed520(); - return input; -} - -double Test_Central_1500::neuron0xa7ed368() { - double input = input0xa7ed368(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7ed548() { - double input = 11.262; - input += synapse0xa7ed720(); - input += synapse0xa7ed748(); - input += synapse0xa7ed770(); - return input; -} - -double Test_Central_1500::neuron0xa7ed548() { - double input = input0xa7ed548(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7ed798() { - double input = -18.9111; - input += synapse0xa7ed970(); - input += synapse0xa7ed998(); - input += synapse0xa7ed9c0(); - return input; -} - -double Test_Central_1500::neuron0xa7ed798() { - double input = input0xa7ed798(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7ed9e8() { - double input = -9.84302; - input += synapse0xa7edbe0(); - input += synapse0xa7edc08(); - input += synapse0xa7edc30(); - return input; -} - -double Test_Central_1500::neuron0xa7ed9e8() { - double input = input0xa7ed9e8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7edc58() { - double input = -2.9443; - input += synapse0xa7ede50(); - input += synapse0xa7ede78(); - input += synapse0xa7edea0(); - return input; -} - -double Test_Central_1500::neuron0xa7edc58() { - double input = input0xa7edc58(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7edec8() { - double input = 12.1114; - input += synapse0xa7ee0c0(); - input += synapse0xa7ee0e8(); - input += synapse0xa7ee198(); - return input; -} - -double Test_Central_1500::neuron0xa7edec8() { - double input = input0xa7edec8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7ee1c0() { - double input = 0.103132; - input += synapse0xa7ee370(); - input += synapse0xa7ee398(); - input += synapse0xa7ee3c0(); - return input; -} - -double Test_Central_1500::neuron0xa7ee1c0() { - double input = input0xa7ee1c0(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7ee3e8() { - double input = -0.145439; - input += synapse0xa7ee5e0(); - input += synapse0xa7ee608(); - input += synapse0xa7ee630(); - return input; -} - -double Test_Central_1500::neuron0xa7ee3e8() { - double input = input0xa7ee3e8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7ee658() { - double input = -11.7324; - input += synapse0xa7ee850(); - input += synapse0xa7ee878(); - input += synapse0xa7ee8a0(); - return input; -} - -double Test_Central_1500::neuron0xa7ee658() { - double input = input0xa7ee658(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7ee8c8() { - double input = 1.27801; - input += synapse0xa7eeac0(); - input += synapse0xa7eeae8(); - input += synapse0xa7eeb10(); - return input; -} - -double Test_Central_1500::neuron0xa7ee8c8() { - double input = input0xa7ee8c8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7eeb38() { - double input = 17.2662; - input += synapse0xa7eed38(); - input += synapse0xa7eed60(); - input += synapse0xa7eed88(); - return input; -} - -double Test_Central_1500::neuron0xa7eeb38() { - double input = input0xa7eeb38(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7eeeb8() { - double input = 15.4448; - input += synapse0xa7ef0b8(); - input += synapse0xa7ef0e0(); - input += synapse0xa7ef108(); - return input; -} - -double Test_Central_1500::neuron0xa7eeeb8() { - double input = input0xa7eeeb8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Central_1500::input0xa7ed248() { - double input = -1.09658; - input += synapse0xa7ef1c0(); - input += synapse0xa7ef1e8(); - input += synapse0xa7ef210(); - input += synapse0xa7ef238(); - input += synapse0xa7ef260(); - input += synapse0xa7ef288(); - input += synapse0xa7ef2b0(); - input += synapse0xa7ef2d8(); - input += synapse0xa7ef300(); - input += synapse0xa7ef328(); - input += synapse0xa7ef350(); - input += synapse0xa7ef378(); - return input; -} - -double Test_Central_1500::neuron0xa7ed248() { - double input = input0xa7ed248(); - return (input * 1)+0; -} - -double Test_Central_1500::synapse0xa7f1b18() { - return (neuron0xa7ecce8()*1.27225); -} - -double Test_Central_1500::synapse0xa7ed4f8() { - return (neuron0xa7ece78()*-0.318157); -} - -double Test_Central_1500::synapse0xa7ed520() { - return (neuron0xa7ed050()*-4.69136); -} - -double Test_Central_1500::synapse0xa7ed720() { - return (neuron0xa7ecce8()*-0.218843); -} - -double Test_Central_1500::synapse0xa7ed748() { - return (neuron0xa7ece78()*-0.991067); -} - -double Test_Central_1500::synapse0xa7ed770() { - return (neuron0xa7ed050()*-13.33); -} - -double Test_Central_1500::synapse0xa7ed970() { - return (neuron0xa7ecce8()*0.563781); -} - -double Test_Central_1500::synapse0xa7ed998() { - return (neuron0xa7ece78()*0.373979); -} - -double Test_Central_1500::synapse0xa7ed9c0() { - return (neuron0xa7ed050()*21.4407); -} - -double Test_Central_1500::synapse0xa7edbe0() { - return (neuron0xa7ecce8()*-0.612953); -} - -double Test_Central_1500::synapse0xa7edc08() { - return (neuron0xa7ece78()*-0.492245); -} - -double Test_Central_1500::synapse0xa7edc30() { - return (neuron0xa7ed050()*11.5594); -} - -double Test_Central_1500::synapse0xa7ede50() { - return (neuron0xa7ecce8()*-0.541166); -} - -double Test_Central_1500::synapse0xa7ede78() { - return (neuron0xa7ece78()*2.38148); -} - -double Test_Central_1500::synapse0xa7edea0() { - return (neuron0xa7ed050()*-3.85006); -} - -double Test_Central_1500::synapse0xa7ee0c0() { - return (neuron0xa7ecce8()*-0.359131); -} - -double Test_Central_1500::synapse0xa7ee0e8() { - return (neuron0xa7ece78()*0.504872); -} - -double Test_Central_1500::synapse0xa7ee198() { - return (neuron0xa7ed050()*-13.4148); -} - -double Test_Central_1500::synapse0xa7ee370() { - return (neuron0xa7ecce8()*0.966356); -} - -double Test_Central_1500::synapse0xa7ee398() { - return (neuron0xa7ece78()*0.606441); -} - -double Test_Central_1500::synapse0xa7ee3c0() { - return (neuron0xa7ed050()*2.92563); -} - -double Test_Central_1500::synapse0xa7ee5e0() { - return (neuron0xa7ecce8()*1.03962); -} - -double Test_Central_1500::synapse0xa7ee608() { - return (neuron0xa7ece78()*-0.0568441); -} - -double Test_Central_1500::synapse0xa7ee630() { - return (neuron0xa7ed050()*1.46231); -} - -double Test_Central_1500::synapse0xa7ee850() { - return (neuron0xa7ecce8()*-0.492515); -} - -double Test_Central_1500::synapse0xa7ee878() { - return (neuron0xa7ece78()*-0.425518); -} - -double Test_Central_1500::synapse0xa7ee8a0() { - return (neuron0xa7ed050()*14.739); -} - -double Test_Central_1500::synapse0xa7eeac0() { - return (neuron0xa7ecce8()*-1.02258); -} - -double Test_Central_1500::synapse0xa7eeae8() { - return (neuron0xa7ece78()*0.717172); -} - -double Test_Central_1500::synapse0xa7eeb10() { - return (neuron0xa7ed050()*-4.48672); -} - -double Test_Central_1500::synapse0xa7eed38() { - return (neuron0xa7ecce8()*-0.0556568); -} - -double Test_Central_1500::synapse0xa7eed60() { - return (neuron0xa7ece78()*-0.142405); -} - -double Test_Central_1500::synapse0xa7eed88() { - return (neuron0xa7ed050()*-20.6336); -} - -double Test_Central_1500::synapse0xa7ef0b8() { - return (neuron0xa7ecce8()*0.590757); -} - -double Test_Central_1500::synapse0xa7ef0e0() { - return (neuron0xa7ece78()*-0.539049); -} - -double Test_Central_1500::synapse0xa7ef108() { - return (neuron0xa7ed050()*-17.3757); -} - -double Test_Central_1500::synapse0xa7ef1c0() { - return (neuron0xa7ed368()*-3.52295); -} - -double Test_Central_1500::synapse0xa7ef1e8() { - return (neuron0xa7ed548()*3.53713); -} - -double Test_Central_1500::synapse0xa7ef210() { - return (neuron0xa7ed798()*-7.23512); -} - -double Test_Central_1500::synapse0xa7ef238() { - return (neuron0xa7ed9e8()*-13.0572); -} - -double Test_Central_1500::synapse0xa7ef260() { - return (neuron0xa7edc58()*-1.39761); -} - -double Test_Central_1500::synapse0xa7ef288() { - return (neuron0xa7edec8()*9.81101); -} - -double Test_Central_1500::synapse0xa7ef2b0() { - return (neuron0xa7ee1c0()*4.08124); -} - -double Test_Central_1500::synapse0xa7ef2d8() { - return (neuron0xa7ee3e8()*-4.0037); -} - -double Test_Central_1500::synapse0xa7ef300() { - return (neuron0xa7ee658()*10.8453); -} - -double Test_Central_1500::synapse0xa7ef328() { - return (neuron0xa7ee8c8()*-2.65147); -} - -double Test_Central_1500::synapse0xa7ef350() { - return (neuron0xa7eeb38()*-16.3778); -} - -double Test_Central_1500::synapse0xa7ef378() { - return (neuron0xa7eeeb8()*8.23048); -} - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Central_1500.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Central_1500.h deleted file mode 100644 index 710b65b4d55c2..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Central_1500.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef Test_Central_1500_h -#define Test_Central_1500_h - -class Test_Central_1500 { -public: - Test_Central_1500() {} - ~Test_Central_1500() {} - double value(int index,double in0,double in1,double in2); -private: - double input0; - double input1; - double input2; - double neuron0xa7ecce8(); - double neuron0xa7ece78(); - double neuron0xa7ed050(); - double input0xa7ed368(); - double neuron0xa7ed368(); - double input0xa7ed548(); - double neuron0xa7ed548(); - double input0xa7ed798(); - double neuron0xa7ed798(); - double input0xa7ed9e8(); - double neuron0xa7ed9e8(); - double input0xa7edc58(); - double neuron0xa7edc58(); - double input0xa7edec8(); - double neuron0xa7edec8(); - double input0xa7ee1c0(); - double neuron0xa7ee1c0(); - double input0xa7ee3e8(); - double neuron0xa7ee3e8(); - double input0xa7ee658(); - double neuron0xa7ee658(); - double input0xa7ee8c8(); - double neuron0xa7ee8c8(); - double input0xa7eeb38(); - double neuron0xa7eeb38(); - double input0xa7eeeb8(); - double neuron0xa7eeeb8(); - double input0xa7ed248(); - double neuron0xa7ed248(); - double synapse0xa7f1b18(); - double synapse0xa7ed4f8(); - double synapse0xa7ed520(); - double synapse0xa7ed720(); - double synapse0xa7ed748(); - double synapse0xa7ed770(); - double synapse0xa7ed970(); - double synapse0xa7ed998(); - double synapse0xa7ed9c0(); - double synapse0xa7edbe0(); - double synapse0xa7edc08(); - double synapse0xa7edc30(); - double synapse0xa7ede50(); - double synapse0xa7ede78(); - double synapse0xa7edea0(); - double synapse0xa7ee0c0(); - double synapse0xa7ee0e8(); - double synapse0xa7ee198(); - double synapse0xa7ee370(); - double synapse0xa7ee398(); - double synapse0xa7ee3c0(); - double synapse0xa7ee5e0(); - double synapse0xa7ee608(); - double synapse0xa7ee630(); - double synapse0xa7ee850(); - double synapse0xa7ee878(); - double synapse0xa7ee8a0(); - double synapse0xa7eeac0(); - double synapse0xa7eeae8(); - double synapse0xa7eeb10(); - double synapse0xa7eed38(); - double synapse0xa7eed60(); - double synapse0xa7eed88(); - double synapse0xa7ef0b8(); - double synapse0xa7ef0e0(); - double synapse0xa7ef108(); - double synapse0xa7ef1c0(); - double synapse0xa7ef1e8(); - double synapse0xa7ef210(); - double synapse0xa7ef238(); - double synapse0xa7ef260(); - double synapse0xa7ef288(); - double synapse0xa7ef2b0(); - double synapse0xa7ef2d8(); - double synapse0xa7ef300(); - double synapse0xa7ef328(); - double synapse0xa7ef350(); - double synapse0xa7ef378(); -}; - -#endif // Test_Central_1500_h - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Corner_1500.cxx b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Corner_1500.cxx deleted file mode 100644 index 02008a69426d4..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Corner_1500.cxx +++ /dev/null @@ -1,397 +0,0 @@ -#include "Test_Corner_1500.h" -#include - -double Test_Corner_1500::value(int index,double in0,double in1,double in2) { - input0 = (in0 - 0)/1; - input1 = (in1 - 0)/1; - input2 = (in2 - 0)/1; - switch(index) { - case 0: - return ((neuron0xa841248()*1)+0); - default: - return 0.; - } -} - -double Test_Corner_1500::neuron0xa840ce8() { - return input0; -} - -double Test_Corner_1500::neuron0xa840e78() { - return input1; -} - -double Test_Corner_1500::neuron0xa841050() { - return input2; -} - -double Test_Corner_1500::input0xa841368() { - double input = 0.95298; - input += synapse0xa845b18(); - input += synapse0xa8414f8(); - input += synapse0xa841520(); - return input; -} - -double Test_Corner_1500::neuron0xa841368() { - double input = input0xa841368(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa841548() { - double input = 0.796275; - input += synapse0xa841720(); - input += synapse0xa841748(); - input += synapse0xa841770(); - return input; -} - -double Test_Corner_1500::neuron0xa841548() { - double input = input0xa841548(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa841798() { - double input = 1.7544; - input += synapse0xa841970(); - input += synapse0xa841998(); - input += synapse0xa8419c0(); - return input; -} - -double Test_Corner_1500::neuron0xa841798() { - double input = input0xa841798(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa8419e8() { - double input = 0.131702; - input += synapse0xa841be0(); - input += synapse0xa841c08(); - input += synapse0xa841c30(); - return input; -} - -double Test_Corner_1500::neuron0xa8419e8() { - double input = input0xa8419e8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa841c58() { - double input = -0.203393; - input += synapse0xa841e50(); - input += synapse0xa841e78(); - input += synapse0xa841ea0(); - return input; -} - -double Test_Corner_1500::neuron0xa841c58() { - double input = input0xa841c58(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa841ec8() { - double input = -0.640446; - input += synapse0xa8420c0(); - input += synapse0xa8420e8(); - input += synapse0xa842198(); - return input; -} - -double Test_Corner_1500::neuron0xa841ec8() { - double input = input0xa841ec8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa8421c0() { - double input = 0.0571014; - input += synapse0xa842370(); - input += synapse0xa842398(); - input += synapse0xa8423c0(); - return input; -} - -double Test_Corner_1500::neuron0xa8421c0() { - double input = input0xa8421c0(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa8423e8() { - double input = 0.63165; - input += synapse0xa8425e0(); - input += synapse0xa842608(); - input += synapse0xa842630(); - return input; -} - -double Test_Corner_1500::neuron0xa8423e8() { - double input = input0xa8423e8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa842658() { - double input = 3.09874; - input += synapse0xa842850(); - input += synapse0xa842878(); - input += synapse0xa8428a0(); - return input; -} - -double Test_Corner_1500::neuron0xa842658() { - double input = input0xa842658(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa8428c8() { - double input = -0.445403; - input += synapse0xa842ac0(); - input += synapse0xa842ae8(); - input += synapse0xa842b10(); - return input; -} - -double Test_Corner_1500::neuron0xa8428c8() { - double input = input0xa8428c8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa842b38() { - double input = 0.278495; - input += synapse0xa842d38(); - input += synapse0xa842d60(); - input += synapse0xa842d88(); - return input; -} - -double Test_Corner_1500::neuron0xa842b38() { - double input = input0xa842b38(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa842eb8() { - double input = -0.612154; - input += synapse0xa8430b8(); - input += synapse0xa8430e0(); - input += synapse0xa843108(); - return input; -} - -double Test_Corner_1500::neuron0xa842eb8() { - double input = input0xa842eb8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Corner_1500::input0xa841248() { - double input = -0.0572088; - input += synapse0xa8431c0(); - input += synapse0xa8431e8(); - input += synapse0xa843210(); - input += synapse0xa843238(); - input += synapse0xa843260(); - input += synapse0xa843288(); - input += synapse0xa8432b0(); - input += synapse0xa8432d8(); - input += synapse0xa843300(); - input += synapse0xa843328(); - input += synapse0xa843350(); - input += synapse0xa843378(); - return input; -} - -double Test_Corner_1500::neuron0xa841248() { - double input = input0xa841248(); - return (input * 1)+0; -} - -double Test_Corner_1500::synapse0xa845b18() { - return (neuron0xa840ce8()*0.276886); -} - -double Test_Corner_1500::synapse0xa8414f8() { - return (neuron0xa840e78()*-0.0309585); -} - -double Test_Corner_1500::synapse0xa841520() { - return (neuron0xa841050()*-1.51021); -} - -double Test_Corner_1500::synapse0xa841720() { - return (neuron0xa840ce8()*0.02515); -} - -double Test_Corner_1500::synapse0xa841748() { - return (neuron0xa840e78()*0.147998); -} - -double Test_Corner_1500::synapse0xa841770() { - return (neuron0xa841050()*-3.11258); -} - -double Test_Corner_1500::synapse0xa841970() { - return (neuron0xa840ce8()*-0.440272); -} - -double Test_Corner_1500::synapse0xa841998() { - return (neuron0xa840e78()*-0.620079); -} - -double Test_Corner_1500::synapse0xa8419c0() { - return (neuron0xa841050()*2.33571); -} - -double Test_Corner_1500::synapse0xa841be0() { - return (neuron0xa840ce8()*0.0060958); -} - -double Test_Corner_1500::synapse0xa841c08() { - return (neuron0xa840e78()*0.0247543); -} - -double Test_Corner_1500::synapse0xa841c30() { - return (neuron0xa841050()*0.000122817); -} - -double Test_Corner_1500::synapse0xa841e50() { - return (neuron0xa840ce8()*-0.257473); -} - -double Test_Corner_1500::synapse0xa841e78() { - return (neuron0xa840e78()*0.678953); -} - -double Test_Corner_1500::synapse0xa841ea0() { - return (neuron0xa841050()*-0.884389); -} - -double Test_Corner_1500::synapse0xa8420c0() { - return (neuron0xa840ce8()*-0.224937); -} - -double Test_Corner_1500::synapse0xa8420e8() { - return (neuron0xa840e78()*0.354063); -} - -double Test_Corner_1500::synapse0xa842198() { - return (neuron0xa841050()*-0.516678); -} - -double Test_Corner_1500::synapse0xa842370() { - return (neuron0xa840ce8()*-0.0579972); -} - -double Test_Corner_1500::synapse0xa842398() { - return (neuron0xa840e78()*0.342624); -} - -double Test_Corner_1500::synapse0xa8423c0() { - return (neuron0xa841050()*-0.925181); -} - -double Test_Corner_1500::synapse0xa8425e0() { - return (neuron0xa840ce8()*0.301493); -} - -double Test_Corner_1500::synapse0xa842608() { - return (neuron0xa840e78()*-1.05591); -} - -double Test_Corner_1500::synapse0xa842630() { - return (neuron0xa841050()*0.865177); -} - -double Test_Corner_1500::synapse0xa842850() { - return (neuron0xa840ce8()*-0.957436); -} - -double Test_Corner_1500::synapse0xa842878() { - return (neuron0xa840e78()*-0.997926); -} - -double Test_Corner_1500::synapse0xa8428a0() { - return (neuron0xa841050()*3.08568); -} - -double Test_Corner_1500::synapse0xa842ac0() { - return (neuron0xa840ce8()*0.0641783); -} - -double Test_Corner_1500::synapse0xa842ae8() { - return (neuron0xa840e78()*0.377656); -} - -double Test_Corner_1500::synapse0xa842b10() { - return (neuron0xa841050()*1.17774); -} - -double Test_Corner_1500::synapse0xa842d38() { - return (neuron0xa840ce8()*0.80131); -} - -double Test_Corner_1500::synapse0xa842d60() { - return (neuron0xa840e78()*0.1294); -} - -double Test_Corner_1500::synapse0xa842d88() { - return (neuron0xa841050()*-0.424347); -} - -double Test_Corner_1500::synapse0xa8430b8() { - return (neuron0xa840ce8()*0.53206); -} - -double Test_Corner_1500::synapse0xa8430e0() { - return (neuron0xa840e78()*0.314745); -} - -double Test_Corner_1500::synapse0xa843108() { - return (neuron0xa841050()*-0.859277); -} - -double Test_Corner_1500::synapse0xa8431c0() { - return (neuron0xa841368()*2.5844); -} - -double Test_Corner_1500::synapse0xa8431e8() { - return (neuron0xa841548()*-2.15982); -} - -double Test_Corner_1500::synapse0xa843210() { - return (neuron0xa841798()*-2.09542); -} - -double Test_Corner_1500::synapse0xa843238() { - return (neuron0xa8419e8()*-0.00693921); -} - -double Test_Corner_1500::synapse0xa843260() { - return (neuron0xa841c58()*1.09624); -} - -double Test_Corner_1500::synapse0xa843288() { - return (neuron0xa841ec8()*-1.23607); -} - -double Test_Corner_1500::synapse0xa8432b0() { - return (neuron0xa8421c0()*0.726722); -} - -double Test_Corner_1500::synapse0xa8432d8() { - return (neuron0xa8423e8()*0.33204); -} - -double Test_Corner_1500::synapse0xa843300() { - return (neuron0xa842658()*0.835795); -} - -double Test_Corner_1500::synapse0xa843328() { - return (neuron0xa8428c8()*0.652662); -} - -double Test_Corner_1500::synapse0xa843350() { - return (neuron0xa842b38()*-0.263563); -} - -double Test_Corner_1500::synapse0xa843378() { - return (neuron0xa842eb8()*-1.38574); -} - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Corner_1500.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Corner_1500.h deleted file mode 100644 index d8dcda625cfd5..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Corner_1500.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef Test_Corner_1500_h -#define Test_Corner_1500_h - -class Test_Corner_1500 { -public: - Test_Corner_1500() {} - ~Test_Corner_1500() {} - double value(int index,double in0,double in1,double in2); -private: - double input0; - double input1; - double input2; - double neuron0xa840ce8(); - double neuron0xa840e78(); - double neuron0xa841050(); - double input0xa841368(); - double neuron0xa841368(); - double input0xa841548(); - double neuron0xa841548(); - double input0xa841798(); - double neuron0xa841798(); - double input0xa8419e8(); - double neuron0xa8419e8(); - double input0xa841c58(); - double neuron0xa841c58(); - double input0xa841ec8(); - double neuron0xa841ec8(); - double input0xa8421c0(); - double neuron0xa8421c0(); - double input0xa8423e8(); - double neuron0xa8423e8(); - double input0xa842658(); - double neuron0xa842658(); - double input0xa8428c8(); - double neuron0xa8428c8(); - double input0xa842b38(); - double neuron0xa842b38(); - double input0xa842eb8(); - double neuron0xa842eb8(); - double input0xa841248(); - double neuron0xa841248(); - double synapse0xa845b18(); - double synapse0xa8414f8(); - double synapse0xa841520(); - double synapse0xa841720(); - double synapse0xa841748(); - double synapse0xa841770(); - double synapse0xa841970(); - double synapse0xa841998(); - double synapse0xa8419c0(); - double synapse0xa841be0(); - double synapse0xa841c08(); - double synapse0xa841c30(); - double synapse0xa841e50(); - double synapse0xa841e78(); - double synapse0xa841ea0(); - double synapse0xa8420c0(); - double synapse0xa8420e8(); - double synapse0xa842198(); - double synapse0xa842370(); - double synapse0xa842398(); - double synapse0xa8423c0(); - double synapse0xa8425e0(); - double synapse0xa842608(); - double synapse0xa842630(); - double synapse0xa842850(); - double synapse0xa842878(); - double synapse0xa8428a0(); - double synapse0xa842ac0(); - double synapse0xa842ae8(); - double synapse0xa842b10(); - double synapse0xa842d38(); - double synapse0xa842d60(); - double synapse0xa842d88(); - double synapse0xa8430b8(); - double synapse0xa8430e0(); - double synapse0xa843108(); - double synapse0xa8431c0(); - double synapse0xa8431e8(); - double synapse0xa843210(); - double synapse0xa843238(); - double synapse0xa843260(); - double synapse0xa843288(); - double synapse0xa8432b0(); - double synapse0xa8432d8(); - double synapse0xa843300(); - double synapse0xa843328(); - double synapse0xa843350(); - double synapse0xa843378(); -}; - -#endif // Test_Corner_1500_h - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Side_1500.cxx b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Side_1500.cxx deleted file mode 100644 index 7f55267adf490..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Side_1500.cxx +++ /dev/null @@ -1,397 +0,0 @@ -#include "Test_Side_1500.h" -#include - -double Test_Side_1500::value(int index,double in0,double in1,double in2) { - input0 = (in0 - 0)/1; - input1 = (in1 - 0)/1; - input2 = (in2 - 0)/1; - switch(index) { - case 0: - return ((neuron0xa9de248()*1)+0); - default: - return 0.; - } -} - -double Test_Side_1500::neuron0xa9ddce8() { - return input0; -} - -double Test_Side_1500::neuron0xa9dde78() { - return input1; -} - -double Test_Side_1500::neuron0xa9de050() { - return input2; -} - -double Test_Side_1500::input0xa9de368() { - double input = -0.395752; - input += synapse0xa9e2b18(); - input += synapse0xa9de4f8(); - input += synapse0xa9de520(); - return input; -} - -double Test_Side_1500::neuron0xa9de368() { - double input = input0xa9de368(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9de548() { - double input = 0.123288; - input += synapse0xa9de720(); - input += synapse0xa9de748(); - input += synapse0xa9de770(); - return input; -} - -double Test_Side_1500::neuron0xa9de548() { - double input = input0xa9de548(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9de798() { - double input = -0.0932859; - input += synapse0xa9de970(); - input += synapse0xa9de998(); - input += synapse0xa9de9c0(); - return input; -} - -double Test_Side_1500::neuron0xa9de798() { - double input = input0xa9de798(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9de9e8() { - double input = 4.13841; - input += synapse0xa9debe0(); - input += synapse0xa9dec08(); - input += synapse0xa9dec30(); - return input; -} - -double Test_Side_1500::neuron0xa9de9e8() { - double input = input0xa9de9e8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9dec58() { - double input = 10.0738; - input += synapse0xa9dee50(); - input += synapse0xa9dee78(); - input += synapse0xa9deea0(); - return input; -} - -double Test_Side_1500::neuron0xa9dec58() { - double input = input0xa9dec58(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9deec8() { - double input = 5.63011; - input += synapse0xa9df0c0(); - input += synapse0xa9df0e8(); - input += synapse0xa9df198(); - return input; -} - -double Test_Side_1500::neuron0xa9deec8() { - double input = input0xa9deec8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9df1c0() { - double input = 5.97351; - input += synapse0xa9df370(); - input += synapse0xa9df398(); - input += synapse0xa9df3c0(); - return input; -} - -double Test_Side_1500::neuron0xa9df1c0() { - double input = input0xa9df1c0(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9df3e8() { - double input = -0.708511; - input += synapse0xa9df5e0(); - input += synapse0xa9df608(); - input += synapse0xa9df630(); - return input; -} - -double Test_Side_1500::neuron0xa9df3e8() { - double input = input0xa9df3e8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9df658() { - double input = -0.109748; - input += synapse0xa9df850(); - input += synapse0xa9df878(); - input += synapse0xa9df8a0(); - return input; -} - -double Test_Side_1500::neuron0xa9df658() { - double input = input0xa9df658(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9df8c8() { - double input = 0.189699; - input += synapse0xa9dfac0(); - input += synapse0xa9dfae8(); - input += synapse0xa9dfb10(); - return input; -} - -double Test_Side_1500::neuron0xa9df8c8() { - double input = input0xa9df8c8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9dfb38() { - double input = 0.640774; - input += synapse0xa9dfd38(); - input += synapse0xa9dfd60(); - input += synapse0xa9dfd88(); - return input; -} - -double Test_Side_1500::neuron0xa9dfb38() { - double input = input0xa9dfb38(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9dfeb8() { - double input = 5.85528; - input += synapse0xa9e00b8(); - input += synapse0xa9e00e0(); - input += synapse0xa9e0108(); - return input; -} - -double Test_Side_1500::neuron0xa9dfeb8() { - double input = input0xa9dfeb8(); - return ((1/(1+exp(-input))) * 1)+0; -} - -double Test_Side_1500::input0xa9de248() { - double input = -2.67668; - input += synapse0xa9e01c0(); - input += synapse0xa9e01e8(); - input += synapse0xa9e0210(); - input += synapse0xa9e0238(); - input += synapse0xa9e0260(); - input += synapse0xa9e0288(); - input += synapse0xa9e02b0(); - input += synapse0xa9e02d8(); - input += synapse0xa9e0300(); - input += synapse0xa9e0328(); - input += synapse0xa9e0350(); - input += synapse0xa9e0378(); - return input; -} - -double Test_Side_1500::neuron0xa9de248() { - double input = input0xa9de248(); - return (input * 1)+0; -} - -double Test_Side_1500::synapse0xa9e2b18() { - return (neuron0xa9ddce8()*-0.569663); -} - -double Test_Side_1500::synapse0xa9de4f8() { - return (neuron0xa9dde78()*0.478153); -} - -double Test_Side_1500::synapse0xa9de520() { - return (neuron0xa9de050()*1.93914); -} - -double Test_Side_1500::synapse0xa9de720() { - return (neuron0xa9ddce8()*0.0391599); -} - -double Test_Side_1500::synapse0xa9de748() { - return (neuron0xa9dde78()*-0.266515); -} - -double Test_Side_1500::synapse0xa9de770() { - return (neuron0xa9de050()*1.08551); -} - -double Test_Side_1500::synapse0xa9de970() { - return (neuron0xa9ddce8()*0.803313); -} - -double Test_Side_1500::synapse0xa9de998() { - return (neuron0xa9dde78()*0.576498); -} - -double Test_Side_1500::synapse0xa9de9c0() { - return (neuron0xa9de050()*0.128775); -} - -double Test_Side_1500::synapse0xa9debe0() { - return (neuron0xa9ddce8()*4.01828); -} - -double Test_Side_1500::synapse0xa9dec08() { - return (neuron0xa9dde78()*-0.192983); -} - -double Test_Side_1500::synapse0xa9dec30() { - return (neuron0xa9de050()*9.71096); -} - -double Test_Side_1500::synapse0xa9dee50() { - return (neuron0xa9ddce8()*0.130542); -} - -double Test_Side_1500::synapse0xa9dee78() { - return (neuron0xa9dde78()*0.0180835); -} - -double Test_Side_1500::synapse0xa9deea0() { - return (neuron0xa9de050()*-11.3045); -} - -double Test_Side_1500::synapse0xa9df0c0() { - return (neuron0xa9ddce8()*3.52456); -} - -double Test_Side_1500::synapse0xa9df0e8() { - return (neuron0xa9dde78()*-0.194451); -} - -double Test_Side_1500::synapse0xa9df198() { - return (neuron0xa9de050()*6.59806); -} - -double Test_Side_1500::synapse0xa9df370() { - return (neuron0xa9ddce8()*0.0455052); -} - -double Test_Side_1500::synapse0xa9df398() { - return (neuron0xa9dde78()*-0.269476); -} - -double Test_Side_1500::synapse0xa9df3c0() { - return (neuron0xa9de050()*-5.55112); -} - -double Test_Side_1500::synapse0xa9df5e0() { - return (neuron0xa9ddce8()*-0.233442); -} - -double Test_Side_1500::synapse0xa9df608() { - return (neuron0xa9dde78()*0.0123811); -} - -double Test_Side_1500::synapse0xa9df630() { - return (neuron0xa9de050()*0.680141); -} - -double Test_Side_1500::synapse0xa9df850() { - return (neuron0xa9ddce8()*-0.134326); -} - -double Test_Side_1500::synapse0xa9df878() { - return (neuron0xa9dde78()*-0.0541828); -} - -double Test_Side_1500::synapse0xa9df8a0() { - return (neuron0xa9de050()*0.504204); -} - -double Test_Side_1500::synapse0xa9dfac0() { - return (neuron0xa9ddce8()*-0.0972752); -} - -double Test_Side_1500::synapse0xa9dfae8() { - return (neuron0xa9dde78()*-0.111198); -} - -double Test_Side_1500::synapse0xa9dfb10() { - return (neuron0xa9de050()*-1.766); -} - -double Test_Side_1500::synapse0xa9dfd38() { - return (neuron0xa9ddce8()*0.858686); -} - -double Test_Side_1500::synapse0xa9dfd60() { - return (neuron0xa9dde78()*-0.308873); -} - -double Test_Side_1500::synapse0xa9dfd88() { - return (neuron0xa9de050()*0.193227); -} - -double Test_Side_1500::synapse0xa9e00b8() { - return (neuron0xa9ddce8()*-0.117526); -} - -double Test_Side_1500::synapse0xa9e00e0() { - return (neuron0xa9dde78()*0.225148); -} - -double Test_Side_1500::synapse0xa9e0108() { - return (neuron0xa9de050()*-5.90925); -} - -double Test_Side_1500::synapse0xa9e01c0() { - return (neuron0xa9de368()*-0.977624); -} - -double Test_Side_1500::synapse0xa9e01e8() { - return (neuron0xa9de548()*-2.70834); -} - -double Test_Side_1500::synapse0xa9e0210() { - return (neuron0xa9de798()*0.188397); -} - -double Test_Side_1500::synapse0xa9e0238() { - return (neuron0xa9de9e8()*-2.69945); -} - -double Test_Side_1500::synapse0xa9e0260() { - return (neuron0xa9dec58()*-6.91854); -} - -double Test_Side_1500::synapse0xa9e0288() { - return (neuron0xa9deec8()*2.95758); -} - -double Test_Side_1500::synapse0xa9e02b0() { - return (neuron0xa9df1c0()*6.93083); -} - -double Test_Side_1500::synapse0xa9e02d8() { - return (neuron0xa9df3e8()*-1.59696); -} - -double Test_Side_1500::synapse0xa9e0300() { - return (neuron0xa9df658()*-1.4824); -} - -double Test_Side_1500::synapse0xa9e0328() { - return (neuron0xa9df8c8()*1.27217); -} - -double Test_Side_1500::synapse0xa9e0350() { - return (neuron0xa9dfb38()*0.506543); -} - -double Test_Side_1500::synapse0xa9e0378() { - return (neuron0xa9dfeb8()*7.14613); -} - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Side_1500.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Side_1500.h deleted file mode 100644 index fba2288a93b06..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/Test_Side_1500.h +++ /dev/null @@ -1,93 +0,0 @@ -#ifndef Test_Side_1500_h -#define Test_Side_1500_h - -class Test_Side_1500 { -public: - Test_Side_1500() {} - ~Test_Side_1500() {} - double value(int index,double in0,double in1,double in2); -private: - double input0; - double input1; - double input2; - double neuron0xa9ddce8(); - double neuron0xa9dde78(); - double neuron0xa9de050(); - double input0xa9de368(); - double neuron0xa9de368(); - double input0xa9de548(); - double neuron0xa9de548(); - double input0xa9de798(); - double neuron0xa9de798(); - double input0xa9de9e8(); - double neuron0xa9de9e8(); - double input0xa9dec58(); - double neuron0xa9dec58(); - double input0xa9deec8(); - double neuron0xa9deec8(); - double input0xa9df1c0(); - double neuron0xa9df1c0(); - double input0xa9df3e8(); - double neuron0xa9df3e8(); - double input0xa9df658(); - double neuron0xa9df658(); - double input0xa9df8c8(); - double neuron0xa9df8c8(); - double input0xa9dfb38(); - double neuron0xa9dfb38(); - double input0xa9dfeb8(); - double neuron0xa9dfeb8(); - double input0xa9de248(); - double neuron0xa9de248(); - double synapse0xa9e2b18(); - double synapse0xa9de4f8(); - double synapse0xa9de520(); - double synapse0xa9de720(); - double synapse0xa9de748(); - double synapse0xa9de770(); - double synapse0xa9de970(); - double synapse0xa9de998(); - double synapse0xa9de9c0(); - double synapse0xa9debe0(); - double synapse0xa9dec08(); - double synapse0xa9dec30(); - double synapse0xa9dee50(); - double synapse0xa9dee78(); - double synapse0xa9deea0(); - double synapse0xa9df0c0(); - double synapse0xa9df0e8(); - double synapse0xa9df198(); - double synapse0xa9df370(); - double synapse0xa9df398(); - double synapse0xa9df3c0(); - double synapse0xa9df5e0(); - double synapse0xa9df608(); - double synapse0xa9df630(); - double synapse0xa9df850(); - double synapse0xa9df878(); - double synapse0xa9df8a0(); - double synapse0xa9dfac0(); - double synapse0xa9dfae8(); - double synapse0xa9dfb10(); - double synapse0xa9dfd38(); - double synapse0xa9dfd60(); - double synapse0xa9dfd88(); - double synapse0xa9e00b8(); - double synapse0xa9e00e0(); - double synapse0xa9e0108(); - double synapse0xa9e01c0(); - double synapse0xa9e01e8(); - double synapse0xa9e0210(); - double synapse0xa9e0238(); - double synapse0xa9e0260(); - double synapse0xa9e0288(); - double synapse0xa9e02b0(); - double synapse0xa9e02d8(); - double synapse0xa9e0300(); - double synapse0xa9e0328(); - double synapse0xa9e0350(); - double synapse0xa9e0378(); -}; - -#endif // Test_Side_1500_h - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h new file mode 100644 index 0000000000000..5fab25c76fd56 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h @@ -0,0 +1,1730 @@ +#ifndef xyNNEB_h +#define xyNNEB_h + +class ccNNEB { + +public: + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x60567d0(); + double neuron0x6056b10(); + double neuron0x6056e50(); + double neuron0x6057190(); + double neuron0x60574d0(); + double neuron0x6057810(); + double neuron0x6057b50(); + double neuron0x6057e90(); + double input0x6058300(); + double neuron0x6058300(); + double input0x6058730(); + double neuron0x6058730(); + double input0x6058c70(); + double neuron0x6058c70(); + double input0x6059240(); + double neuron0x6059240(); + double input0x6059780(); + double neuron0x6059780(); + double input0x6059b00(); + double neuron0x6059b00(); + double input0x605a040(); + double neuron0x605a040(); + double input0x605a580(); + double neuron0x605a580(); + double input0x605aac0(); + double neuron0x605aac0(); + double input0x605b320(); + double neuron0x605b320(); + double input0x605b7d0(); + double neuron0x605b7d0(); + double input0x605bd90(); + double neuron0x605bd90(); + double input0x605c350(); + double neuron0x605c350(); + double input0x605c910(); + double neuron0x605c910(); + double input0x605ced0(); + double neuron0x605ced0(); + double input0x605af50(); + double neuron0x605af50(); + double synapse0x5fb71d0(); + double synapse0x605f3d0(); + double synapse0x60585b0(); + double synapse0x60585f0(); + double synapse0x6058630(); + double synapse0x6058670(); + double synapse0x60586b0(); + double synapse0x60586f0(); + double synapse0x6058a70(); + double synapse0x6058ab0(); + double synapse0x6058af0(); + double synapse0x6058b30(); + double synapse0x6058b70(); + double synapse0x6058bb0(); + double synapse0x6058bf0(); + double synapse0x6058c30(); + double synapse0x6058fb0(); + double synapse0x58b5e90(); + double synapse0x58b5ed0(); + double synapse0x6059100(); + double synapse0x6059140(); + double synapse0x6059180(); + double synapse0x60591c0(); + double synapse0x6059200(); + double synapse0x6059580(); + double synapse0x60595c0(); + double synapse0x6059600(); + double synapse0x6059640(); + double synapse0x6059680(); + double synapse0x60596c0(); + double synapse0x6059700(); + double synapse0x6059740(); + double synapse0x6059ac0(); + double synapse0x6056700(); + double synapse0x605f410(); + double synapse0x58b49d0(); + double synapse0x6058ff0(); + double synapse0x6059030(); + double synapse0x6059070(); + double synapse0x60590b0(); + double synapse0x6059e40(); + double synapse0x6059e80(); + double synapse0x6059ec0(); + double synapse0x6059f00(); + double synapse0x6059f40(); + double synapse0x6059f80(); + double synapse0x6059fc0(); + double synapse0x605a000(); + double synapse0x605a380(); + double synapse0x605a3c0(); + double synapse0x605a400(); + double synapse0x605a440(); + double synapse0x605a480(); + double synapse0x605a4c0(); + double synapse0x605a500(); + double synapse0x605a540(); + double synapse0x605a8c0(); + double synapse0x605a900(); + double synapse0x605a940(); + double synapse0x605a980(); + double synapse0x605a9c0(); + double synapse0x605aa00(); + double synapse0x605aa40(); + double synapse0x605aa80(); + double synapse0x57a3df0(); + double synapse0x57a3e30(); + double synapse0x58cf7a0(); + double synapse0x58cf7e0(); + double synapse0x58cf820(); + double synapse0x58cf860(); + double synapse0x58cf8a0(); + double synapse0x58cf8e0(); + double synapse0x605b5d0(); + double synapse0x605b610(); + double synapse0x605b650(); + double synapse0x605b690(); + double synapse0x605b6d0(); + double synapse0x605b710(); + double synapse0x605b750(); + double synapse0x605b790(); + double synapse0x605bb10(); + double synapse0x605bb50(); + double synapse0x605bb90(); + double synapse0x605bbd0(); + double synapse0x605bc10(); + double synapse0x605bc50(); + double synapse0x605bc90(); + double synapse0x605bcd0(); + double synapse0x605bd10(); + double synapse0x605bd50(); + double synapse0x605c0d0(); + double synapse0x605c110(); + double synapse0x605c150(); + double synapse0x605c190(); + double synapse0x605c1d0(); + double synapse0x605c210(); + double synapse0x605c250(); + double synapse0x605c290(); + double synapse0x605c2d0(); + double synapse0x605c310(); + double synapse0x605c690(); + double synapse0x605c6d0(); + double synapse0x605c710(); + double synapse0x605c750(); + double synapse0x605c790(); + double synapse0x605c7d0(); + double synapse0x605c810(); + double synapse0x605c850(); + double synapse0x605c890(); + double synapse0x605c8d0(); + double synapse0x605cc50(); + double synapse0x605cc90(); + double synapse0x605ccd0(); + double synapse0x605cd10(); + double synapse0x605cd50(); + double synapse0x605cd90(); + double synapse0x605cdd0(); + double synapse0x605ce10(); + double synapse0x605ce50(); + double synapse0x605ce90(); + double synapse0x605d210(); + double synapse0x605d250(); + double synapse0x605d290(); + double synapse0x605d2d0(); + double synapse0x605d310(); + double synapse0x605d350(); + double synapse0x605d390(); + double synapse0x605d3d0(); + double synapse0x605d410(); + double synapse0x605af10(); + double synapse0x605b290(); + double synapse0x605b2d0(); + double synapse0x60581d0(); + double synapse0x6058210(); + double synapse0x6058250(); +}; + + +class ddNNEB { +public: + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x4a46790(); + double neuron0x4a46ad0(); + double neuron0x4a46e10(); + double neuron0x4a47150(); + double neuron0x4a47490(); + double neuron0x4a477d0(); + double neuron0x4a47b10(); + double neuron0x4a47e50(); + double input0x4a482c0(); + double neuron0x4a482c0(); + double input0x4a486f0(); + double neuron0x4a486f0(); + double input0x4a48c30(); + double neuron0x4a48c30(); + double input0x4a49200(); + double neuron0x4a49200(); + double input0x4a49740(); + double neuron0x4a49740(); + double input0x4a49ac0(); + double neuron0x4a49ac0(); + double input0x4a4a000(); + double neuron0x4a4a000(); + double input0x4a4a540(); + double neuron0x4a4a540(); + double input0x4a4aa80(); + double neuron0x4a4aa80(); + double input0x4a4b2e0(); + double neuron0x4a4b2e0(); + double input0x4a4b790(); + double neuron0x4a4b790(); + double input0x4a4bd50(); + double neuron0x4a4bd50(); + double input0x4a4c310(); + double neuron0x4a4c310(); + double input0x4a4c8d0(); + double neuron0x4a4c8d0(); + double input0x4a4ce90(); + double neuron0x4a4ce90(); + double input0x4a4af10(); + double neuron0x4a4af10(); + double synapse0x49a7190(); + double synapse0x4a4f390(); + double synapse0x4a48570(); + double synapse0x4a485b0(); + double synapse0x4a485f0(); + double synapse0x4a48630(); + double synapse0x4a48670(); + double synapse0x4a486b0(); + double synapse0x4a48a30(); + double synapse0x4a48a70(); + double synapse0x4a48ab0(); + double synapse0x4a48af0(); + double synapse0x4a48b30(); + double synapse0x4a48b70(); + double synapse0x4a48bb0(); + double synapse0x4a48bf0(); + double synapse0x4a48f70(); + double synapse0x42a5e50(); + double synapse0x42a5e90(); + double synapse0x4a490c0(); + double synapse0x4a49100(); + double synapse0x4a49140(); + double synapse0x4a49180(); + double synapse0x4a491c0(); + double synapse0x4a49540(); + double synapse0x4a49580(); + double synapse0x4a495c0(); + double synapse0x4a49600(); + double synapse0x4a49640(); + double synapse0x4a49680(); + double synapse0x4a496c0(); + double synapse0x4a49700(); + double synapse0x4a49a80(); + double synapse0x4a466c0(); + double synapse0x4a4f3d0(); + double synapse0x42a4990(); + double synapse0x4a48fb0(); + double synapse0x4a48ff0(); + double synapse0x4a49030(); + double synapse0x4a49070(); + double synapse0x4a49e00(); + double synapse0x4a49e40(); + double synapse0x4a49e80(); + double synapse0x4a49ec0(); + double synapse0x4a49f00(); + double synapse0x4a49f40(); + double synapse0x4a49f80(); + double synapse0x4a49fc0(); + double synapse0x4a4a340(); + double synapse0x4a4a380(); + double synapse0x4a4a3c0(); + double synapse0x4a4a400(); + double synapse0x4a4a440(); + double synapse0x4a4a480(); + double synapse0x4a4a4c0(); + double synapse0x4a4a500(); + double synapse0x4a4a880(); + double synapse0x4a4a8c0(); + double synapse0x4a4a900(); + double synapse0x4a4a940(); + double synapse0x4a4a980(); + double synapse0x4a4a9c0(); + double synapse0x4a4aa00(); + double synapse0x4a4aa40(); + double synapse0x4193db0(); + double synapse0x4193df0(); + double synapse0x42bf760(); + double synapse0x42bf7a0(); + double synapse0x42bf7e0(); + double synapse0x42bf820(); + double synapse0x42bf860(); + double synapse0x42bf8a0(); + double synapse0x4a4b590(); + double synapse0x4a4b5d0(); + double synapse0x4a4b610(); + double synapse0x4a4b650(); + double synapse0x4a4b690(); + double synapse0x4a4b6d0(); + double synapse0x4a4b710(); + double synapse0x4a4b750(); + double synapse0x4a4bad0(); + double synapse0x4a4bb10(); + double synapse0x4a4bb50(); + double synapse0x4a4bb90(); + double synapse0x4a4bbd0(); + double synapse0x4a4bc10(); + double synapse0x4a4bc50(); + double synapse0x4a4bc90(); + double synapse0x4a4bcd0(); + double synapse0x4a4bd10(); + double synapse0x4a4c090(); + double synapse0x4a4c0d0(); + double synapse0x4a4c110(); + double synapse0x4a4c150(); + double synapse0x4a4c190(); + double synapse0x4a4c1d0(); + double synapse0x4a4c210(); + double synapse0x4a4c250(); + double synapse0x4a4c290(); + double synapse0x4a4c2d0(); + double synapse0x4a4c650(); + double synapse0x4a4c690(); + double synapse0x4a4c6d0(); + double synapse0x4a4c710(); + double synapse0x4a4c750(); + double synapse0x4a4c790(); + double synapse0x4a4c7d0(); + double synapse0x4a4c810(); + double synapse0x4a4c850(); + double synapse0x4a4c890(); + double synapse0x4a4cc10(); + double synapse0x4a4cc50(); + double synapse0x4a4cc90(); + double synapse0x4a4ccd0(); + double synapse0x4a4cd10(); + double synapse0x4a4cd50(); + double synapse0x4a4cd90(); + double synapse0x4a4cdd0(); + double synapse0x4a4ce10(); + double synapse0x4a4ce50(); + double synapse0x4a4d1d0(); + double synapse0x4a4d210(); + double synapse0x4a4d250(); + double synapse0x4a4d290(); + double synapse0x4a4d2d0(); + double synapse0x4a4d310(); + double synapse0x4a4d350(); + double synapse0x4a4d390(); + double synapse0x4a4d3d0(); + double synapse0x4a4aed0(); + double synapse0x4a4b250(); + double synapse0x4a4b290(); + double synapse0x4a48190(); + double synapse0x4a481d0(); + double synapse0x4a48210(); +}; + + +class ldNNEB { +public: + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x18275890(); + double neuron0x18275bd0(); + double neuron0x18275f10(); + double neuron0x18276250(); + double neuron0x18276590(); + double neuron0x182768d0(); + double neuron0x18276c10(); + double neuron0x18276f50(); + double input0x182773c0(); + double neuron0x182773c0(); + double input0x182777f0(); + double neuron0x182777f0(); + double input0x18277d30(); + double neuron0x18277d30(); + double input0x18278300(); + double neuron0x18278300(); + double input0x18278840(); + double neuron0x18278840(); + double input0x18278bc0(); + double neuron0x18278bc0(); + double input0x18279100(); + double neuron0x18279100(); + double input0x18279640(); + double neuron0x18279640(); + double input0x18279b80(); + double neuron0x18279b80(); + double input0x1827a3e0(); + double neuron0x1827a3e0(); + double input0x1827a890(); + double neuron0x1827a890(); + double input0x1827ae50(); + double neuron0x1827ae50(); + double input0x1827b410(); + double neuron0x1827b410(); + double input0x1827b9d0(); + double neuron0x1827b9d0(); + double input0x1827bf90(); + double neuron0x1827bf90(); + double input0x1827a010(); + double neuron0x1827a010(); + double synapse0x181d6290(); + double synapse0x1827e490(); + double synapse0x18277670(); + double synapse0x182776b0(); + double synapse0x182776f0(); + double synapse0x18277730(); + double synapse0x18277770(); + double synapse0x182777b0(); + double synapse0x18277b30(); + double synapse0x18277b70(); + double synapse0x18277bb0(); + double synapse0x18277bf0(); + double synapse0x18277c30(); + double synapse0x18277c70(); + double synapse0x18277cb0(); + double synapse0x18277cf0(); + double synapse0x18278070(); + double synapse0x17ad4f50(); + double synapse0x17ad4f90(); + double synapse0x182781c0(); + double synapse0x18278200(); + double synapse0x18278240(); + double synapse0x18278280(); + double synapse0x182782c0(); + double synapse0x18278640(); + double synapse0x18278680(); + double synapse0x182786c0(); + double synapse0x18278700(); + double synapse0x18278740(); + double synapse0x18278780(); + double synapse0x182787c0(); + double synapse0x18278800(); + double synapse0x18278b80(); + double synapse0x182757c0(); + double synapse0x1827e4d0(); + double synapse0x17ad3a90(); + double synapse0x182780b0(); + double synapse0x182780f0(); + double synapse0x18278130(); + double synapse0x18278170(); + double synapse0x18278f00(); + double synapse0x18278f40(); + double synapse0x18278f80(); + double synapse0x18278fc0(); + double synapse0x18279000(); + double synapse0x18279040(); + double synapse0x18279080(); + double synapse0x182790c0(); + double synapse0x18279440(); + double synapse0x18279480(); + double synapse0x182794c0(); + double synapse0x18279500(); + double synapse0x18279540(); + double synapse0x18279580(); + double synapse0x182795c0(); + double synapse0x18279600(); + double synapse0x18279980(); + double synapse0x182799c0(); + double synapse0x18279a00(); + double synapse0x18279a40(); + double synapse0x18279a80(); + double synapse0x18279ac0(); + double synapse0x18279b00(); + double synapse0x18279b40(); + double synapse0x179c2eb0(); + double synapse0x179c2ef0(); + double synapse0x17aee860(); + double synapse0x17aee8a0(); + double synapse0x17aee8e0(); + double synapse0x17aee920(); + double synapse0x17aee960(); + double synapse0x17aee9a0(); + double synapse0x1827a690(); + double synapse0x1827a6d0(); + double synapse0x1827a710(); + double synapse0x1827a750(); + double synapse0x1827a790(); + double synapse0x1827a7d0(); + double synapse0x1827a810(); + double synapse0x1827a850(); + double synapse0x1827abd0(); + double synapse0x1827ac10(); + double synapse0x1827ac50(); + double synapse0x1827ac90(); + double synapse0x1827acd0(); + double synapse0x1827ad10(); + double synapse0x1827ad50(); + double synapse0x1827ad90(); + double synapse0x1827add0(); + double synapse0x1827ae10(); + double synapse0x1827b190(); + double synapse0x1827b1d0(); + double synapse0x1827b210(); + double synapse0x1827b250(); + double synapse0x1827b290(); + double synapse0x1827b2d0(); + double synapse0x1827b310(); + double synapse0x1827b350(); + double synapse0x1827b390(); + double synapse0x1827b3d0(); + double synapse0x1827b750(); + double synapse0x1827b790(); + double synapse0x1827b7d0(); + double synapse0x1827b810(); + double synapse0x1827b850(); + double synapse0x1827b890(); + double synapse0x1827b8d0(); + double synapse0x1827b910(); + double synapse0x1827b950(); + double synapse0x1827b990(); + double synapse0x1827bd10(); + double synapse0x1827bd50(); + double synapse0x1827bd90(); + double synapse0x1827bdd0(); + double synapse0x1827be10(); + double synapse0x1827be50(); + double synapse0x1827be90(); + double synapse0x1827bed0(); + double synapse0x1827bf10(); + double synapse0x1827bf50(); + double synapse0x1827c2d0(); + double synapse0x1827c310(); + double synapse0x1827c350(); + double synapse0x1827c390(); + double synapse0x1827c3d0(); + double synapse0x1827c410(); + double synapse0x1827c450(); + double synapse0x1827c490(); + double synapse0x1827c4d0(); + double synapse0x18279fd0(); + double synapse0x1827a350(); + double synapse0x1827a390(); + double synapse0x18277290(); + double synapse0x182772d0(); + double synapse0x18277310(); +}; + +class llNNEB { +public: + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x2f8b810(); + double neuron0x2f8bb50(); + double neuron0x2f8be90(); + double neuron0x2f8c1d0(); + double neuron0x2f8c510(); + double neuron0x2f8c850(); + double neuron0x2f8cb90(); + double neuron0x2f8ced0(); + double input0x2f8d340(); + double neuron0x2f8d340(); + double input0x2f8d770(); + double neuron0x2f8d770(); + double input0x2f8dcb0(); + double neuron0x2f8dcb0(); + double input0x2f8e280(); + double neuron0x2f8e280(); + double input0x2f8e7c0(); + double neuron0x2f8e7c0(); + double input0x2f8eb40(); + double neuron0x2f8eb40(); + double input0x2f8f080(); + double neuron0x2f8f080(); + double input0x2f8f5c0(); + double neuron0x2f8f5c0(); + double input0x2f8fb00(); + double neuron0x2f8fb00(); + double input0x2f90360(); + double neuron0x2f90360(); + double input0x2f90810(); + double neuron0x2f90810(); + double input0x2f90dd0(); + double neuron0x2f90dd0(); + double input0x2f91390(); + double neuron0x2f91390(); + double input0x2f91950(); + double neuron0x2f91950(); + double input0x2f91f10(); + double neuron0x2f91f10(); + double input0x2f8ff90(); + double neuron0x2f8ff90(); + double synapse0x2eec210(); + double synapse0x2f94410(); + double synapse0x2f8d5f0(); + double synapse0x2f8d630(); + double synapse0x2f8d670(); + double synapse0x2f8d6b0(); + double synapse0x2f8d6f0(); + double synapse0x2f8d730(); + double synapse0x2f8dab0(); + double synapse0x2f8daf0(); + double synapse0x2f8db30(); + double synapse0x2f8db70(); + double synapse0x2f8dbb0(); + double synapse0x2f8dbf0(); + double synapse0x2f8dc30(); + double synapse0x2f8dc70(); + double synapse0x2f8dff0(); + double synapse0x27eaed0(); + double synapse0x27eaf10(); + double synapse0x2f8e140(); + double synapse0x2f8e180(); + double synapse0x2f8e1c0(); + double synapse0x2f8e200(); + double synapse0x2f8e240(); + double synapse0x2f8e5c0(); + double synapse0x2f8e600(); + double synapse0x2f8e640(); + double synapse0x2f8e680(); + double synapse0x2f8e6c0(); + double synapse0x2f8e700(); + double synapse0x2f8e740(); + double synapse0x2f8e780(); + double synapse0x2f8eb00(); + double synapse0x2f8b740(); + double synapse0x2f94450(); + double synapse0x27e9a10(); + double synapse0x2f8e030(); + double synapse0x2f8e070(); + double synapse0x2f8e0b0(); + double synapse0x2f8e0f0(); + double synapse0x2f8ee80(); + double synapse0x2f8eec0(); + double synapse0x2f8ef00(); + double synapse0x2f8ef40(); + double synapse0x2f8ef80(); + double synapse0x2f8efc0(); + double synapse0x2f8f000(); + double synapse0x2f8f040(); + double synapse0x2f8f3c0(); + double synapse0x2f8f400(); + double synapse0x2f8f440(); + double synapse0x2f8f480(); + double synapse0x2f8f4c0(); + double synapse0x2f8f500(); + double synapse0x2f8f540(); + double synapse0x2f8f580(); + double synapse0x2f8f900(); + double synapse0x2f8f940(); + double synapse0x2f8f980(); + double synapse0x2f8f9c0(); + double synapse0x2f8fa00(); + double synapse0x2f8fa40(); + double synapse0x2f8fa80(); + double synapse0x2f8fac0(); + double synapse0x26d8e30(); + double synapse0x26d8e70(); + double synapse0x28047e0(); + double synapse0x2804820(); + double synapse0x2804860(); + double synapse0x28048a0(); + double synapse0x28048e0(); + double synapse0x2804920(); + double synapse0x2f90610(); + double synapse0x2f90650(); + double synapse0x2f90690(); + double synapse0x2f906d0(); + double synapse0x2f90710(); + double synapse0x2f90750(); + double synapse0x2f90790(); + double synapse0x2f907d0(); + double synapse0x2f90b50(); + double synapse0x2f90b90(); + double synapse0x2f90bd0(); + double synapse0x2f90c10(); + double synapse0x2f90c50(); + double synapse0x2f90c90(); + double synapse0x2f90cd0(); + double synapse0x2f90d10(); + double synapse0x2f90d50(); + double synapse0x2f90d90(); + double synapse0x2f91110(); + double synapse0x2f91150(); + double synapse0x2f91190(); + double synapse0x2f911d0(); + double synapse0x2f91210(); + double synapse0x2f91250(); + double synapse0x2f91290(); + double synapse0x2f912d0(); + double synapse0x2f91310(); + double synapse0x2f91350(); + double synapse0x2f916d0(); + double synapse0x2f91710(); + double synapse0x2f91750(); + double synapse0x2f91790(); + double synapse0x2f917d0(); + double synapse0x2f91810(); + double synapse0x2f91850(); + double synapse0x2f91890(); + double synapse0x2f918d0(); + double synapse0x2f91910(); + double synapse0x2f91c90(); + double synapse0x2f91cd0(); + double synapse0x2f91d10(); + double synapse0x2f91d50(); + double synapse0x2f91d90(); + double synapse0x2f91dd0(); + double synapse0x2f91e10(); + double synapse0x2f91e50(); + double synapse0x2f91e90(); + double synapse0x2f91ed0(); + double synapse0x2f92250(); + double synapse0x2f92290(); + double synapse0x2f922d0(); + double synapse0x2f92310(); + double synapse0x2f92350(); + double synapse0x2f92390(); + double synapse0x2f923d0(); + double synapse0x2f92410(); + double synapse0x2f92450(); + double synapse0x2f8ff50(); + double synapse0x2f902d0(); + double synapse0x2f90310(); + double synapse0x2f8d210(); + double synapse0x2f8d250(); + double synapse0x2f8d290(); +}; + +class luNNEB { +public: + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x10fd78d0(); + double neuron0x10fd7c10(); + double neuron0x10fd7f50(); + double neuron0x10fd8290(); + double neuron0x10fd85d0(); + double neuron0x10fd8910(); + double neuron0x10fd8c50(); + double neuron0x10fd8f90(); + double input0x10fd9400(); + double neuron0x10fd9400(); + double input0x10fd9830(); + double neuron0x10fd9830(); + double input0x10fd9d70(); + double neuron0x10fd9d70(); + double input0x10fda340(); + double neuron0x10fda340(); + double input0x10fda880(); + double neuron0x10fda880(); + double input0x10fdac00(); + double neuron0x10fdac00(); + double input0x10fdb140(); + double neuron0x10fdb140(); + double input0x10fdb680(); + double neuron0x10fdb680(); + double input0x10fdbbc0(); + double neuron0x10fdbbc0(); + double input0x10fdc420(); + double neuron0x10fdc420(); + double input0x10fdc8d0(); + double neuron0x10fdc8d0(); + double input0x10fdce90(); + double neuron0x10fdce90(); + double input0x10fdd450(); + double neuron0x10fdd450(); + double input0x10fdda10(); + double neuron0x10fdda10(); + double input0x10fddfd0(); + double neuron0x10fddfd0(); + double input0x10fdc050(); + double neuron0x10fdc050(); + double synapse0x10f382d0(); + double synapse0x10fe04d0(); + double synapse0x10fd96b0(); + double synapse0x10fd96f0(); + double synapse0x10fd9730(); + double synapse0x10fd9770(); + double synapse0x10fd97b0(); + double synapse0x10fd97f0(); + double synapse0x10fd9b70(); + double synapse0x10fd9bb0(); + double synapse0x10fd9bf0(); + double synapse0x10fd9c30(); + double synapse0x10fd9c70(); + double synapse0x10fd9cb0(); + double synapse0x10fd9cf0(); + double synapse0x10fd9d30(); + double synapse0x10fda0b0(); + double synapse0x10836f90(); + double synapse0x10836fd0(); + double synapse0x10fda200(); + double synapse0x10fda240(); + double synapse0x10fda280(); + double synapse0x10fda2c0(); + double synapse0x10fda300(); + double synapse0x10fda680(); + double synapse0x10fda6c0(); + double synapse0x10fda700(); + double synapse0x10fda740(); + double synapse0x10fda780(); + double synapse0x10fda7c0(); + double synapse0x10fda800(); + double synapse0x10fda840(); + double synapse0x10fdabc0(); + double synapse0x10fd7800(); + double synapse0x10fe0510(); + double synapse0x10835ad0(); + double synapse0x10fda0f0(); + double synapse0x10fda130(); + double synapse0x10fda170(); + double synapse0x10fda1b0(); + double synapse0x10fdaf40(); + double synapse0x10fdaf80(); + double synapse0x10fdafc0(); + double synapse0x10fdb000(); + double synapse0x10fdb040(); + double synapse0x10fdb080(); + double synapse0x10fdb0c0(); + double synapse0x10fdb100(); + double synapse0x10fdb480(); + double synapse0x10fdb4c0(); + double synapse0x10fdb500(); + double synapse0x10fdb540(); + double synapse0x10fdb580(); + double synapse0x10fdb5c0(); + double synapse0x10fdb600(); + double synapse0x10fdb640(); + double synapse0x10fdb9c0(); + double synapse0x10fdba00(); + double synapse0x10fdba40(); + double synapse0x10fdba80(); + double synapse0x10fdbac0(); + double synapse0x10fdbb00(); + double synapse0x10fdbb40(); + double synapse0x10fdbb80(); + double synapse0x10724ef0(); + double synapse0x10724f30(); + double synapse0x108508a0(); + double synapse0x108508e0(); + double synapse0x10850920(); + double synapse0x10850960(); + double synapse0x108509a0(); + double synapse0x108509e0(); + double synapse0x10fdc6d0(); + double synapse0x10fdc710(); + double synapse0x10fdc750(); + double synapse0x10fdc790(); + double synapse0x10fdc7d0(); + double synapse0x10fdc810(); + double synapse0x10fdc850(); + double synapse0x10fdc890(); + double synapse0x10fdcc10(); + double synapse0x10fdcc50(); + double synapse0x10fdcc90(); + double synapse0x10fdccd0(); + double synapse0x10fdcd10(); + double synapse0x10fdcd50(); + double synapse0x10fdcd90(); + double synapse0x10fdcdd0(); + double synapse0x10fdce10(); + double synapse0x10fdce50(); + double synapse0x10fdd1d0(); + double synapse0x10fdd210(); + double synapse0x10fdd250(); + double synapse0x10fdd290(); + double synapse0x10fdd2d0(); + double synapse0x10fdd310(); + double synapse0x10fdd350(); + double synapse0x10fdd390(); + double synapse0x10fdd3d0(); + double synapse0x10fdd410(); + double synapse0x10fdd790(); + double synapse0x10fdd7d0(); + double synapse0x10fdd810(); + double synapse0x10fdd850(); + double synapse0x10fdd890(); + double synapse0x10fdd8d0(); + double synapse0x10fdd910(); + double synapse0x10fdd950(); + double synapse0x10fdd990(); + double synapse0x10fdd9d0(); + double synapse0x10fddd50(); + double synapse0x10fddd90(); + double synapse0x10fdddd0(); + double synapse0x10fdde10(); + double synapse0x10fdde50(); + double synapse0x10fdde90(); + double synapse0x10fdded0(); + double synapse0x10fddf10(); + double synapse0x10fddf50(); + double synapse0x10fddf90(); + double synapse0x10fde310(); + double synapse0x10fde350(); + double synapse0x10fde390(); + double synapse0x10fde3d0(); + double synapse0x10fde410(); + double synapse0x10fde450(); + double synapse0x10fde490(); + double synapse0x10fde4d0(); + double synapse0x10fde510(); + double synapse0x10fdc010(); + double synapse0x10fdc390(); + double synapse0x10fdc3d0(); + double synapse0x10fd92d0(); + double synapse0x10fd9310(); + double synapse0x10fd9350(); +}; + +class rdNNEB { +public: + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x14abb950(); + double neuron0x14abbc90(); + double neuron0x14abbfd0(); + double neuron0x14abc310(); + double neuron0x14abc650(); + double neuron0x14abc990(); + double neuron0x14abccd0(); + double neuron0x14abd010(); + double input0x14abd480(); + double neuron0x14abd480(); + double input0x14abd8b0(); + double neuron0x14abd8b0(); + double input0x14abddf0(); + double neuron0x14abddf0(); + double input0x14abe3c0(); + double neuron0x14abe3c0(); + double input0x14abe900(); + double neuron0x14abe900(); + double input0x14abec80(); + double neuron0x14abec80(); + double input0x14abf1c0(); + double neuron0x14abf1c0(); + double input0x14abf700(); + double neuron0x14abf700(); + double input0x14abfc40(); + double neuron0x14abfc40(); + double input0x14ac04a0(); + double neuron0x14ac04a0(); + double input0x14ac0950(); + double neuron0x14ac0950(); + double input0x14ac0f10(); + double neuron0x14ac0f10(); + double input0x14ac14d0(); + double neuron0x14ac14d0(); + double input0x14ac1a90(); + double neuron0x14ac1a90(); + double input0x14ac2050(); + double neuron0x14ac2050(); + double input0x14ac00d0(); + double neuron0x14ac00d0(); + double synapse0x14a1c350(); + double synapse0x14ac4550(); + double synapse0x14abd730(); + double synapse0x14abd770(); + double synapse0x14abd7b0(); + double synapse0x14abd7f0(); + double synapse0x14abd830(); + double synapse0x14abd870(); + double synapse0x14abdbf0(); + double synapse0x14abdc30(); + double synapse0x14abdc70(); + double synapse0x14abdcb0(); + double synapse0x14abdcf0(); + double synapse0x14abdd30(); + double synapse0x14abdd70(); + double synapse0x14abddb0(); + double synapse0x14abe130(); + double synapse0x1431b010(); + double synapse0x1431b050(); + double synapse0x14abe280(); + double synapse0x14abe2c0(); + double synapse0x14abe300(); + double synapse0x14abe340(); + double synapse0x14abe380(); + double synapse0x14abe700(); + double synapse0x14abe740(); + double synapse0x14abe780(); + double synapse0x14abe7c0(); + double synapse0x14abe800(); + double synapse0x14abe840(); + double synapse0x14abe880(); + double synapse0x14abe8c0(); + double synapse0x14abec40(); + double synapse0x14abb880(); + double synapse0x14ac4590(); + double synapse0x14319b50(); + double synapse0x14abe170(); + double synapse0x14abe1b0(); + double synapse0x14abe1f0(); + double synapse0x14abe230(); + double synapse0x14abefc0(); + double synapse0x14abf000(); + double synapse0x14abf040(); + double synapse0x14abf080(); + double synapse0x14abf0c0(); + double synapse0x14abf100(); + double synapse0x14abf140(); + double synapse0x14abf180(); + double synapse0x14abf500(); + double synapse0x14abf540(); + double synapse0x14abf580(); + double synapse0x14abf5c0(); + double synapse0x14abf600(); + double synapse0x14abf640(); + double synapse0x14abf680(); + double synapse0x14abf6c0(); + double synapse0x14abfa40(); + double synapse0x14abfa80(); + double synapse0x14abfac0(); + double synapse0x14abfb00(); + double synapse0x14abfb40(); + double synapse0x14abfb80(); + double synapse0x14abfbc0(); + double synapse0x14abfc00(); + double synapse0x14208f70(); + double synapse0x14208fb0(); + double synapse0x14334920(); + double synapse0x14334960(); + double synapse0x143349a0(); + double synapse0x143349e0(); + double synapse0x14334a20(); + double synapse0x14334a60(); + double synapse0x14ac0750(); + double synapse0x14ac0790(); + double synapse0x14ac07d0(); + double synapse0x14ac0810(); + double synapse0x14ac0850(); + double synapse0x14ac0890(); + double synapse0x14ac08d0(); + double synapse0x14ac0910(); + double synapse0x14ac0c90(); + double synapse0x14ac0cd0(); + double synapse0x14ac0d10(); + double synapse0x14ac0d50(); + double synapse0x14ac0d90(); + double synapse0x14ac0dd0(); + double synapse0x14ac0e10(); + double synapse0x14ac0e50(); + double synapse0x14ac0e90(); + double synapse0x14ac0ed0(); + double synapse0x14ac1250(); + double synapse0x14ac1290(); + double synapse0x14ac12d0(); + double synapse0x14ac1310(); + double synapse0x14ac1350(); + double synapse0x14ac1390(); + double synapse0x14ac13d0(); + double synapse0x14ac1410(); + double synapse0x14ac1450(); + double synapse0x14ac1490(); + double synapse0x14ac1810(); + double synapse0x14ac1850(); + double synapse0x14ac1890(); + double synapse0x14ac18d0(); + double synapse0x14ac1910(); + double synapse0x14ac1950(); + double synapse0x14ac1990(); + double synapse0x14ac19d0(); + double synapse0x14ac1a10(); + double synapse0x14ac1a50(); + double synapse0x14ac1dd0(); + double synapse0x14ac1e10(); + double synapse0x14ac1e50(); + double synapse0x14ac1e90(); + double synapse0x14ac1ed0(); + double synapse0x14ac1f10(); + double synapse0x14ac1f50(); + double synapse0x14ac1f90(); + double synapse0x14ac1fd0(); + double synapse0x14ac2010(); + double synapse0x14ac2390(); + double synapse0x14ac23d0(); + double synapse0x14ac2410(); + double synapse0x14ac2450(); + double synapse0x14ac2490(); + double synapse0x14ac24d0(); + double synapse0x14ac2510(); + double synapse0x14ac2550(); + double synapse0x14ac2590(); + double synapse0x14ac0090(); + double synapse0x14ac0410(); + double synapse0x14ac0450(); + double synapse0x14abd350(); + double synapse0x14abd390(); + double synapse0x14abd3d0(); +}; + + +class rrNNEB { +public: + + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0xb0ae990(); + double neuron0xb0aecd0(); + double neuron0xb0af010(); + double neuron0xb0af350(); + double neuron0xb0af690(); + double neuron0xb0af9d0(); + double neuron0xb0afd10(); + double neuron0xb0b0050(); + double input0xb0b04c0(); + double neuron0xb0b04c0(); + double input0xb0b08f0(); + double neuron0xb0b08f0(); + double input0xb0b0e30(); + double neuron0xb0b0e30(); + double input0xb0b1400(); + double neuron0xb0b1400(); + double input0xb0b1940(); + double neuron0xb0b1940(); + double input0xb0b1cc0(); + double neuron0xb0b1cc0(); + double input0xb0b2200(); + double neuron0xb0b2200(); + double input0xb0b2740(); + double neuron0xb0b2740(); + double input0xb0b2c80(); + double neuron0xb0b2c80(); + double input0xb0b34e0(); + double neuron0xb0b34e0(); + double input0xb0b3990(); + double neuron0xb0b3990(); + double input0xb0b3f50(); + double neuron0xb0b3f50(); + double input0xb0b4510(); + double neuron0xb0b4510(); + double input0xb0b4ad0(); + double neuron0xb0b4ad0(); + double input0xb0b5090(); + double neuron0xb0b5090(); + double input0xb0b3110(); + double neuron0xb0b3110(); + double synapse0xb00f390(); + double synapse0xb0b7590(); + double synapse0xb0b0770(); + double synapse0xb0b07b0(); + double synapse0xb0b07f0(); + double synapse0xb0b0830(); + double synapse0xb0b0870(); + double synapse0xb0b08b0(); + double synapse0xb0b0c30(); + double synapse0xb0b0c70(); + double synapse0xb0b0cb0(); + double synapse0xb0b0cf0(); + double synapse0xb0b0d30(); + double synapse0xb0b0d70(); + double synapse0xb0b0db0(); + double synapse0xb0b0df0(); + double synapse0xb0b1170(); + double synapse0xa90e050(); + double synapse0xa90e090(); + double synapse0xb0b12c0(); + double synapse0xb0b1300(); + double synapse0xb0b1340(); + double synapse0xb0b1380(); + double synapse0xb0b13c0(); + double synapse0xb0b1740(); + double synapse0xb0b1780(); + double synapse0xb0b17c0(); + double synapse0xb0b1800(); + double synapse0xb0b1840(); + double synapse0xb0b1880(); + double synapse0xb0b18c0(); + double synapse0xb0b1900(); + double synapse0xb0b1c80(); + double synapse0xb0ae8c0(); + double synapse0xb0b75d0(); + double synapse0xa90cb90(); + double synapse0xb0b11b0(); + double synapse0xb0b11f0(); + double synapse0xb0b1230(); + double synapse0xb0b1270(); + double synapse0xb0b2000(); + double synapse0xb0b2040(); + double synapse0xb0b2080(); + double synapse0xb0b20c0(); + double synapse0xb0b2100(); + double synapse0xb0b2140(); + double synapse0xb0b2180(); + double synapse0xb0b21c0(); + double synapse0xb0b2540(); + double synapse0xb0b2580(); + double synapse0xb0b25c0(); + double synapse0xb0b2600(); + double synapse0xb0b2640(); + double synapse0xb0b2680(); + double synapse0xb0b26c0(); + double synapse0xb0b2700(); + double synapse0xb0b2a80(); + double synapse0xb0b2ac0(); + double synapse0xb0b2b00(); + double synapse0xb0b2b40(); + double synapse0xb0b2b80(); + double synapse0xb0b2bc0(); + double synapse0xb0b2c00(); + double synapse0xb0b2c40(); + double synapse0xa7fbfb0(); + double synapse0xa7fbff0(); + double synapse0xa927960(); + double synapse0xa9279a0(); + double synapse0xa9279e0(); + double synapse0xa927a20(); + double synapse0xa927a60(); + double synapse0xa927aa0(); + double synapse0xb0b3790(); + double synapse0xb0b37d0(); + double synapse0xb0b3810(); + double synapse0xb0b3850(); + double synapse0xb0b3890(); + double synapse0xb0b38d0(); + double synapse0xb0b3910(); + double synapse0xb0b3950(); + double synapse0xb0b3cd0(); + double synapse0xb0b3d10(); + double synapse0xb0b3d50(); + double synapse0xb0b3d90(); + double synapse0xb0b3dd0(); + double synapse0xb0b3e10(); + double synapse0xb0b3e50(); + double synapse0xb0b3e90(); + double synapse0xb0b3ed0(); + double synapse0xb0b3f10(); + double synapse0xb0b4290(); + double synapse0xb0b42d0(); + double synapse0xb0b4310(); + double synapse0xb0b4350(); + double synapse0xb0b4390(); + double synapse0xb0b43d0(); + double synapse0xb0b4410(); + double synapse0xb0b4450(); + double synapse0xb0b4490(); + double synapse0xb0b44d0(); + double synapse0xb0b4850(); + double synapse0xb0b4890(); + double synapse0xb0b48d0(); + double synapse0xb0b4910(); + double synapse0xb0b4950(); + double synapse0xb0b4990(); + double synapse0xb0b49d0(); + double synapse0xb0b4a10(); + double synapse0xb0b4a50(); + double synapse0xb0b4a90(); + double synapse0xb0b4e10(); + double synapse0xb0b4e50(); + double synapse0xb0b4e90(); + double synapse0xb0b4ed0(); + double synapse0xb0b4f10(); + double synapse0xb0b4f50(); + double synapse0xb0b4f90(); + double synapse0xb0b4fd0(); + double synapse0xb0b5010(); + double synapse0xb0b5050(); + double synapse0xb0b53d0(); + double synapse0xb0b5410(); + double synapse0xb0b5450(); + double synapse0xb0b5490(); + double synapse0xb0b54d0(); + double synapse0xb0b5510(); + double synapse0xb0b5550(); + double synapse0xb0b5590(); + double synapse0xb0b55d0(); + double synapse0xb0b30d0(); + double synapse0xb0b3450(); + double synapse0xb0b3490(); + double synapse0xb0b0390(); + double synapse0xb0b03d0(); + double synapse0xb0b0410(); +}; + + +class ruNNEB { +public: + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0xc532850(); + double neuron0xc532b90(); + double neuron0xc532ed0(); + double neuron0xc533210(); + double neuron0xc533550(); + double neuron0xc533890(); + double neuron0xc533bd0(); + double neuron0xc533f10(); + double input0xc534380(); + double neuron0xc534380(); + double input0xc5347b0(); + double neuron0xc5347b0(); + double input0xc534cf0(); + double neuron0xc534cf0(); + double input0xc5352c0(); + double neuron0xc5352c0(); + double input0xc535800(); + double neuron0xc535800(); + double input0xc535b80(); + double neuron0xc535b80(); + double input0xc5360c0(); + double neuron0xc5360c0(); + double input0xc536600(); + double neuron0xc536600(); + double input0xc536b40(); + double neuron0xc536b40(); + double input0xc5373a0(); + double neuron0xc5373a0(); + double input0xc537850(); + double neuron0xc537850(); + double input0xc537e10(); + double neuron0xc537e10(); + double input0xc5383d0(); + double neuron0xc5383d0(); + double input0xc538990(); + double neuron0xc538990(); + double input0xc538f50(); + double neuron0xc538f50(); + double input0xc536fd0(); + double neuron0xc536fd0(); + double synapse0xc493250(); + double synapse0xc53b450(); + double synapse0xc534630(); + double synapse0xc534670(); + double synapse0xc5346b0(); + double synapse0xc5346f0(); + double synapse0xc534730(); + double synapse0xc534770(); + double synapse0xc534af0(); + double synapse0xc534b30(); + double synapse0xc534b70(); + double synapse0xc534bb0(); + double synapse0xc534bf0(); + double synapse0xc534c30(); + double synapse0xc534c70(); + double synapse0xc534cb0(); + double synapse0xc535030(); + double synapse0xbd91f10(); + double synapse0xbd91f50(); + double synapse0xc535180(); + double synapse0xc5351c0(); + double synapse0xc535200(); + double synapse0xc535240(); + double synapse0xc535280(); + double synapse0xc535600(); + double synapse0xc535640(); + double synapse0xc535680(); + double synapse0xc5356c0(); + double synapse0xc535700(); + double synapse0xc535740(); + double synapse0xc535780(); + double synapse0xc5357c0(); + double synapse0xc535b40(); + double synapse0xc532780(); + double synapse0xc53b490(); + double synapse0xbd90a50(); + double synapse0xc535070(); + double synapse0xc5350b0(); + double synapse0xc5350f0(); + double synapse0xc535130(); + double synapse0xc535ec0(); + double synapse0xc535f00(); + double synapse0xc535f40(); + double synapse0xc535f80(); + double synapse0xc535fc0(); + double synapse0xc536000(); + double synapse0xc536040(); + double synapse0xc536080(); + double synapse0xc536400(); + double synapse0xc536440(); + double synapse0xc536480(); + double synapse0xc5364c0(); + double synapse0xc536500(); + double synapse0xc536540(); + double synapse0xc536580(); + double synapse0xc5365c0(); + double synapse0xc536940(); + double synapse0xc536980(); + double synapse0xc5369c0(); + double synapse0xc536a00(); + double synapse0xc536a40(); + double synapse0xc536a80(); + double synapse0xc536ac0(); + double synapse0xc536b00(); + double synapse0xbc7fe70(); + double synapse0xbc7feb0(); + double synapse0xbdab820(); + double synapse0xbdab860(); + double synapse0xbdab8a0(); + double synapse0xbdab8e0(); + double synapse0xbdab920(); + double synapse0xbdab960(); + double synapse0xc537650(); + double synapse0xc537690(); + double synapse0xc5376d0(); + double synapse0xc537710(); + double synapse0xc537750(); + double synapse0xc537790(); + double synapse0xc5377d0(); + double synapse0xc537810(); + double synapse0xc537b90(); + double synapse0xc537bd0(); + double synapse0xc537c10(); + double synapse0xc537c50(); + double synapse0xc537c90(); + double synapse0xc537cd0(); + double synapse0xc537d10(); + double synapse0xc537d50(); + double synapse0xc537d90(); + double synapse0xc537dd0(); + double synapse0xc538150(); + double synapse0xc538190(); + double synapse0xc5381d0(); + double synapse0xc538210(); + double synapse0xc538250(); + double synapse0xc538290(); + double synapse0xc5382d0(); + double synapse0xc538310(); + double synapse0xc538350(); + double synapse0xc538390(); + double synapse0xc538710(); + double synapse0xc538750(); + double synapse0xc538790(); + double synapse0xc5387d0(); + double synapse0xc538810(); + double synapse0xc538850(); + double synapse0xc538890(); + double synapse0xc5388d0(); + double synapse0xc538910(); + double synapse0xc538950(); + double synapse0xc538cd0(); + double synapse0xc538d10(); + double synapse0xc538d50(); + double synapse0xc538d90(); + double synapse0xc538dd0(); + double synapse0xc538e10(); + double synapse0xc538e50(); + double synapse0xc538e90(); + double synapse0xc538ed0(); + double synapse0xc538f10(); + double synapse0xc539290(); + double synapse0xc5392d0(); + double synapse0xc539310(); + double synapse0xc539350(); + double synapse0xc539390(); + double synapse0xc5393d0(); + double synapse0xc539410(); + double synapse0xc539450(); + double synapse0xc539490(); + double synapse0xc536f90(); + double synapse0xc537310(); + double synapse0xc537350(); + double synapse0xc534250(); + double synapse0xc534290(); + double synapse0xc5342d0(); +}; + +class uuNNEB { +public: + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x215a0910(); + double neuron0x215a0c50(); + double neuron0x215a0f90(); + double neuron0x215a12d0(); + double neuron0x215a1610(); + double neuron0x215a1950(); + double neuron0x215a1c90(); + double neuron0x215a1fd0(); + double input0x215a2440(); + double neuron0x215a2440(); + double input0x215a2870(); + double neuron0x215a2870(); + double input0x215a2db0(); + double neuron0x215a2db0(); + double input0x215a3380(); + double neuron0x215a3380(); + double input0x215a38c0(); + double neuron0x215a38c0(); + double input0x215a3c40(); + double neuron0x215a3c40(); + double input0x215a4180(); + double neuron0x215a4180(); + double input0x215a46c0(); + double neuron0x215a46c0(); + double input0x215a4c00(); + double neuron0x215a4c00(); + double input0x215a5460(); + double neuron0x215a5460(); + double input0x215a5910(); + double neuron0x215a5910(); + double input0x215a5ed0(); + double neuron0x215a5ed0(); + double input0x215a6490(); + double neuron0x215a6490(); + double input0x215a6a50(); + double neuron0x215a6a50(); + double input0x215a7010(); + double neuron0x215a7010(); + double input0x215a5090(); + double neuron0x215a5090(); + double synapse0x21501310(); + double synapse0x215a9510(); + double synapse0x215a26f0(); + double synapse0x215a2730(); + double synapse0x215a2770(); + double synapse0x215a27b0(); + double synapse0x215a27f0(); + double synapse0x215a2830(); + double synapse0x215a2bb0(); + double synapse0x215a2bf0(); + double synapse0x215a2c30(); + double synapse0x215a2c70(); + double synapse0x215a2cb0(); + double synapse0x215a2cf0(); + double synapse0x215a2d30(); + double synapse0x215a2d70(); + double synapse0x215a30f0(); + double synapse0x20dfffd0(); + double synapse0x20e00010(); + double synapse0x215a3240(); + double synapse0x215a3280(); + double synapse0x215a32c0(); + double synapse0x215a3300(); + double synapse0x215a3340(); + double synapse0x215a36c0(); + double synapse0x215a3700(); + double synapse0x215a3740(); + double synapse0x215a3780(); + double synapse0x215a37c0(); + double synapse0x215a3800(); + double synapse0x215a3840(); + double synapse0x215a3880(); + double synapse0x215a3c00(); + double synapse0x215a0840(); + double synapse0x215a9550(); + double synapse0x20dfeb10(); + double synapse0x215a3130(); + double synapse0x215a3170(); + double synapse0x215a31b0(); + double synapse0x215a31f0(); + double synapse0x215a3f80(); + double synapse0x215a3fc0(); + double synapse0x215a4000(); + double synapse0x215a4040(); + double synapse0x215a4080(); + double synapse0x215a40c0(); + double synapse0x215a4100(); + double synapse0x215a4140(); + double synapse0x215a44c0(); + double synapse0x215a4500(); + double synapse0x215a4540(); + double synapse0x215a4580(); + double synapse0x215a45c0(); + double synapse0x215a4600(); + double synapse0x215a4640(); + double synapse0x215a4680(); + double synapse0x215a4a00(); + double synapse0x215a4a40(); + double synapse0x215a4a80(); + double synapse0x215a4ac0(); + double synapse0x215a4b00(); + double synapse0x215a4b40(); + double synapse0x215a4b80(); + double synapse0x215a4bc0(); + double synapse0x20cedf30(); + double synapse0x20cedf70(); + double synapse0x20e198e0(); + double synapse0x20e19920(); + double synapse0x20e19960(); + double synapse0x20e199a0(); + double synapse0x20e199e0(); + double synapse0x20e19a20(); + double synapse0x215a5710(); + double synapse0x215a5750(); + double synapse0x215a5790(); + double synapse0x215a57d0(); + double synapse0x215a5810(); + double synapse0x215a5850(); + double synapse0x215a5890(); + double synapse0x215a58d0(); + double synapse0x215a5c50(); + double synapse0x215a5c90(); + double synapse0x215a5cd0(); + double synapse0x215a5d10(); + double synapse0x215a5d50(); + double synapse0x215a5d90(); + double synapse0x215a5dd0(); + double synapse0x215a5e10(); + double synapse0x215a5e50(); + double synapse0x215a5e90(); + double synapse0x215a6210(); + double synapse0x215a6250(); + double synapse0x215a6290(); + double synapse0x215a62d0(); + double synapse0x215a6310(); + double synapse0x215a6350(); + double synapse0x215a6390(); + double synapse0x215a63d0(); + double synapse0x215a6410(); + double synapse0x215a6450(); + double synapse0x215a67d0(); + double synapse0x215a6810(); + double synapse0x215a6850(); + double synapse0x215a6890(); + double synapse0x215a68d0(); + double synapse0x215a6910(); + double synapse0x215a6950(); + double synapse0x215a6990(); + double synapse0x215a69d0(); + double synapse0x215a6a10(); + double synapse0x215a6d90(); + double synapse0x215a6dd0(); + double synapse0x215a6e10(); + double synapse0x215a6e50(); + double synapse0x215a6e90(); + double synapse0x215a6ed0(); + double synapse0x215a6f10(); + double synapse0x215a6f50(); + double synapse0x215a6f90(); + double synapse0x215a6fd0(); + double synapse0x215a7350(); + double synapse0x215a7390(); + double synapse0x215a73d0(); + double synapse0x215a7410(); + double synapse0x215a7450(); + double synapse0x215a7490(); + double synapse0x215a74d0(); + double synapse0x215a7510(); + double synapse0x215a7550(); + double synapse0x215a5050(); + double synapse0x215a53d0(); + double synapse0x215a5410(); + double synapse0x215a2310(); + double synapse0x215a2350(); + double synapse0x215a2390(); +}; + +#endif // xyNNEB_h + diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h new file mode 100644 index 0000000000000..6752a6d5a2759 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h @@ -0,0 +1,1719 @@ +#ifndef xyNNEE_h +#define xyNNEE_h + +class ccNNEE { + +public: + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x19a48480(); + double neuron0x19a487c0(); + double neuron0x19a48b00(); + double neuron0x19a48e40(); + double neuron0x19a49180(); + double neuron0x19a494c0(); + double neuron0x19a49800(); + double neuron0x19a49b40(); + double input0x19a49fb0(); + double neuron0x19a49fb0(); + double input0x19a4a3e0(); + double neuron0x19a4a3e0(); + double input0x19a4a920(); + double neuron0x19a4a920(); + double input0x19a4aef0(); + double neuron0x19a4aef0(); + double input0x19a4b430(); + double neuron0x19a4b430(); + double input0x19a4b7b0(); + double neuron0x19a4b7b0(); + double input0x19a4bcf0(); + double neuron0x19a4bcf0(); + double input0x19a4c230(); + double neuron0x19a4c230(); + double input0x19a4c770(); + double neuron0x19a4c770(); + double input0x19a4cfd0(); + double neuron0x19a4cfd0(); + double input0x19a4d480(); + double neuron0x19a4d480(); + double input0x19a4da40(); + double neuron0x19a4da40(); + double input0x19a4e000(); + double neuron0x19a4e000(); + double input0x19a4e5c0(); + double neuron0x19a4e5c0(); + double input0x19a4eb80(); + double neuron0x19a4eb80(); + double input0x19a4cc00(); + double neuron0x19a4cc00(); + double synapse0x199a87c0(); + double synapse0x19a51080(); + double synapse0x19a4a260(); + double synapse0x19a4a2a0(); + double synapse0x19a4a2e0(); + double synapse0x19a4a320(); + double synapse0x19a4a360(); + double synapse0x19a4a3a0(); + double synapse0x19a4a720(); + double synapse0x19a4a760(); + double synapse0x19a4a7a0(); + double synapse0x19a4a7e0(); + double synapse0x19a4a820(); + double synapse0x19a4a860(); + double synapse0x19a4a8a0(); + double synapse0x19a4a8e0(); + double synapse0x19a4ac60(); + double synapse0x19976d60(); + double synapse0x19976da0(); + double synapse0x19a4adb0(); + double synapse0x19a4adf0(); + double synapse0x19a4ae30(); + double synapse0x19a4ae70(); + double synapse0x19a4aeb0(); + double synapse0x19a4b230(); + double synapse0x19a4b270(); + double synapse0x19a4b2b0(); + double synapse0x19a4b2f0(); + double synapse0x19a4b330(); + double synapse0x19a4b370(); + double synapse0x19a4b3b0(); + double synapse0x19a4b3f0(); + double synapse0x19a4b770(); + double synapse0x19a483b0(); + double synapse0x19a510c0(); + double synapse0x199930d0(); + double synapse0x19a4aca0(); + double synapse0x19a4ace0(); + double synapse0x19a4ad20(); + double synapse0x19a4ad60(); + double synapse0x19a4baf0(); + double synapse0x19a4bb30(); + double synapse0x19a4bb70(); + double synapse0x19a4bbb0(); + double synapse0x19a4bbf0(); + double synapse0x19a4bc30(); + double synapse0x19a4bc70(); + double synapse0x19a4bcb0(); + double synapse0x19a4c030(); + double synapse0x19a4c070(); + double synapse0x19a4c0b0(); + double synapse0x19a4c0f0(); + double synapse0x19a4c130(); + double synapse0x19a4c170(); + double synapse0x19a4c1b0(); + double synapse0x19a4c1f0(); + double synapse0x19a4c570(); + double synapse0x19a4c5b0(); + double synapse0x19a4c5f0(); + double synapse0x19a4c630(); + double synapse0x19a4c670(); + double synapse0x19a4c6b0(); + double synapse0x19a4c6f0(); + double synapse0x19a4c730(); + double synapse0x199749c0(); + double synapse0x19974a00(); + double synapse0x1998f8c0(); + double synapse0x1998f900(); + double synapse0x1998f940(); + double synapse0x1998f980(); + double synapse0x1998f9c0(); + double synapse0x1998fa00(); + double synapse0x19a4d280(); + double synapse0x19a4d2c0(); + double synapse0x19a4d300(); + double synapse0x19a4d340(); + double synapse0x19a4d380(); + double synapse0x19a4d3c0(); + double synapse0x19a4d400(); + double synapse0x19a4d440(); + double synapse0x19a4d7c0(); + double synapse0x19a4d800(); + double synapse0x19a4d840(); + double synapse0x19a4d880(); + double synapse0x19a4d8c0(); + double synapse0x19a4d900(); + double synapse0x19a4d940(); + double synapse0x19a4d980(); + double synapse0x19a4d9c0(); + double synapse0x19a4da00(); + double synapse0x19a4dd80(); + double synapse0x19a4ddc0(); + double synapse0x19a4de00(); + double synapse0x19a4de40(); + double synapse0x19a4de80(); + double synapse0x19a4dec0(); + double synapse0x19a4df00(); + double synapse0x19a4df40(); + double synapse0x19a4df80(); + double synapse0x19a4dfc0(); + double synapse0x19a4e340(); + double synapse0x19a4e380(); + double synapse0x19a4e3c0(); + double synapse0x19a4e400(); + double synapse0x19a4e440(); + double synapse0x19a4e480(); + double synapse0x19a4e4c0(); + double synapse0x19a4e500(); + double synapse0x19a4e540(); + double synapse0x19a4e580(); + double synapse0x19a4e900(); + double synapse0x19a4e940(); + double synapse0x19a4e980(); + double synapse0x19a4e9c0(); + double synapse0x19a4ea00(); + double synapse0x19a4ea40(); + double synapse0x19a4ea80(); + double synapse0x19a4eac0(); + double synapse0x19a4eb00(); + double synapse0x19a4eb40(); + double synapse0x19a4eec0(); + double synapse0x19a4ef00(); + double synapse0x19a4ef40(); + double synapse0x19a4ef80(); + double synapse0x19a4efc0(); + double synapse0x19a4f000(); + double synapse0x19a4f040(); + double synapse0x19a4f080(); + double synapse0x19a4f0c0(); + double synapse0x19a4cbc0(); + double synapse0x19a4cf40(); + double synapse0x19a4cf80(); + double synapse0x19a49e80(); + double synapse0x19a49ec0(); + double synapse0x19a49f00(); +}; + + +class ddNNEE { +public: + + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x8312580(); + double neuron0x83128c0(); + double neuron0x8312c00(); + double neuron0x8312f40(); + double neuron0x8313280(); + double neuron0x83135c0(); + double neuron0x8313900(); + double neuron0x8313c40(); + double input0x83140b0(); + double neuron0x83140b0(); + double input0x83144e0(); + double neuron0x83144e0(); + double input0x8314a20(); + double neuron0x8314a20(); + double input0x8314ff0(); + double neuron0x8314ff0(); + double input0x8315530(); + double neuron0x8315530(); + double input0x83158b0(); + double neuron0x83158b0(); + double input0x8315df0(); + double neuron0x8315df0(); + double input0x8316330(); + double neuron0x8316330(); + double input0x8316870(); + double neuron0x8316870(); + double input0x83170d0(); + double neuron0x83170d0(); + double input0x8317580(); + double neuron0x8317580(); + double input0x8317b40(); + double neuron0x8317b40(); + double input0x8318100(); + double neuron0x8318100(); + double input0x83186c0(); + double neuron0x83186c0(); + double input0x8318c80(); + double neuron0x8318c80(); + double input0x8316d00(); + double neuron0x8316d00(); + double synapse0x82728c0(); + double synapse0x831b180(); + double synapse0x8314360(); + double synapse0x83143a0(); + double synapse0x83143e0(); + double synapse0x8314420(); + double synapse0x8314460(); + double synapse0x83144a0(); + double synapse0x8314820(); + double synapse0x8314860(); + double synapse0x83148a0(); + double synapse0x83148e0(); + double synapse0x8314920(); + double synapse0x8314960(); + double synapse0x83149a0(); + double synapse0x83149e0(); + double synapse0x8314d60(); + double synapse0x8240e60(); + double synapse0x8240ea0(); + double synapse0x8314eb0(); + double synapse0x8314ef0(); + double synapse0x8314f30(); + double synapse0x8314f70(); + double synapse0x8314fb0(); + double synapse0x8315330(); + double synapse0x8315370(); + double synapse0x83153b0(); + double synapse0x83153f0(); + double synapse0x8315430(); + double synapse0x8315470(); + double synapse0x83154b0(); + double synapse0x83154f0(); + double synapse0x8315870(); + double synapse0x83124b0(); + double synapse0x831b1c0(); + double synapse0x825d1d0(); + double synapse0x8314da0(); + double synapse0x8314de0(); + double synapse0x8314e20(); + double synapse0x8314e60(); + double synapse0x8315bf0(); + double synapse0x8315c30(); + double synapse0x8315c70(); + double synapse0x8315cb0(); + double synapse0x8315cf0(); + double synapse0x8315d30(); + double synapse0x8315d70(); + double synapse0x8315db0(); + double synapse0x8316130(); + double synapse0x8316170(); + double synapse0x83161b0(); + double synapse0x83161f0(); + double synapse0x8316230(); + double synapse0x8316270(); + double synapse0x83162b0(); + double synapse0x83162f0(); + double synapse0x8316670(); + double synapse0x83166b0(); + double synapse0x83166f0(); + double synapse0x8316730(); + double synapse0x8316770(); + double synapse0x83167b0(); + double synapse0x83167f0(); + double synapse0x8316830(); + double synapse0x823eac0(); + double synapse0x823eb00(); + double synapse0x82599c0(); + double synapse0x8259a00(); + double synapse0x8259a40(); + double synapse0x8259a80(); + double synapse0x8259ac0(); + double synapse0x8259b00(); + double synapse0x8317380(); + double synapse0x83173c0(); + double synapse0x8317400(); + double synapse0x8317440(); + double synapse0x8317480(); + double synapse0x83174c0(); + double synapse0x8317500(); + double synapse0x8317540(); + double synapse0x83178c0(); + double synapse0x8317900(); + double synapse0x8317940(); + double synapse0x8317980(); + double synapse0x83179c0(); + double synapse0x8317a00(); + double synapse0x8317a40(); + double synapse0x8317a80(); + double synapse0x8317ac0(); + double synapse0x8317b00(); + double synapse0x8317e80(); + double synapse0x8317ec0(); + double synapse0x8317f00(); + double synapse0x8317f40(); + double synapse0x8317f80(); + double synapse0x8317fc0(); + double synapse0x8318000(); + double synapse0x8318040(); + double synapse0x8318080(); + double synapse0x83180c0(); + double synapse0x8318440(); + double synapse0x8318480(); + double synapse0x83184c0(); + double synapse0x8318500(); + double synapse0x8318540(); + double synapse0x8318580(); + double synapse0x83185c0(); + double synapse0x8318600(); + double synapse0x8318640(); + double synapse0x8318680(); + double synapse0x8318a00(); + double synapse0x8318a40(); + double synapse0x8318a80(); + double synapse0x8318ac0(); + double synapse0x8318b00(); + double synapse0x8318b40(); + double synapse0x8318b80(); + double synapse0x8318bc0(); + double synapse0x8318c00(); + double synapse0x8318c40(); + double synapse0x8318fc0(); + double synapse0x8319000(); + double synapse0x8319040(); + double synapse0x8319080(); + double synapse0x83190c0(); + double synapse0x8319100(); + double synapse0x8319140(); + double synapse0x8319180(); + double synapse0x83191c0(); + double synapse0x8316cc0(); + double synapse0x8317040(); + double synapse0x8317080(); + double synapse0x8313f80(); + double synapse0x8313fc0(); + double synapse0x8314000(); +}; + +class ldNNEE { +public: + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x1e957540(); + double neuron0x1e957880(); + double neuron0x1e957bc0(); + double neuron0x1e957f00(); + double neuron0x1e958240(); + double neuron0x1e958580(); + double neuron0x1e9588c0(); + double neuron0x1e958c00(); + double input0x1e959070(); + double neuron0x1e959070(); + double input0x1e9594a0(); + double neuron0x1e9594a0(); + double input0x1e9599e0(); + double neuron0x1e9599e0(); + double input0x1e959fb0(); + double neuron0x1e959fb0(); + double input0x1e95a4f0(); + double neuron0x1e95a4f0(); + double input0x1e95a870(); + double neuron0x1e95a870(); + double input0x1e95adb0(); + double neuron0x1e95adb0(); + double input0x1e95b2f0(); + double neuron0x1e95b2f0(); + double input0x1e95b830(); + double neuron0x1e95b830(); + double input0x1e95c090(); + double neuron0x1e95c090(); + double input0x1e95c540(); + double neuron0x1e95c540(); + double input0x1e95cb00(); + double neuron0x1e95cb00(); + double input0x1e95d0c0(); + double neuron0x1e95d0c0(); + double input0x1e95d680(); + double neuron0x1e95d680(); + double input0x1e95dc40(); + double neuron0x1e95dc40(); + double input0x1e95bcc0(); + double neuron0x1e95bcc0(); + double synapse0x1e8b7880(); + double synapse0x1e960140(); + double synapse0x1e959320(); + double synapse0x1e959360(); + double synapse0x1e9593a0(); + double synapse0x1e9593e0(); + double synapse0x1e959420(); + double synapse0x1e959460(); + double synapse0x1e9597e0(); + double synapse0x1e959820(); + double synapse0x1e959860(); + double synapse0x1e9598a0(); + double synapse0x1e9598e0(); + double synapse0x1e959920(); + double synapse0x1e959960(); + double synapse0x1e9599a0(); + double synapse0x1e959d20(); + double synapse0x1e885e20(); + double synapse0x1e885e60(); + double synapse0x1e959e70(); + double synapse0x1e959eb0(); + double synapse0x1e959ef0(); + double synapse0x1e959f30(); + double synapse0x1e959f70(); + double synapse0x1e95a2f0(); + double synapse0x1e95a330(); + double synapse0x1e95a370(); + double synapse0x1e95a3b0(); + double synapse0x1e95a3f0(); + double synapse0x1e95a430(); + double synapse0x1e95a470(); + double synapse0x1e95a4b0(); + double synapse0x1e95a830(); + double synapse0x1e957470(); + double synapse0x1e960180(); + double synapse0x1e8a2190(); + double synapse0x1e959d60(); + double synapse0x1e959da0(); + double synapse0x1e959de0(); + double synapse0x1e959e20(); + double synapse0x1e95abb0(); + double synapse0x1e95abf0(); + double synapse0x1e95ac30(); + double synapse0x1e95ac70(); + double synapse0x1e95acb0(); + double synapse0x1e95acf0(); + double synapse0x1e95ad30(); + double synapse0x1e95ad70(); + double synapse0x1e95b0f0(); + double synapse0x1e95b130(); + double synapse0x1e95b170(); + double synapse0x1e95b1b0(); + double synapse0x1e95b1f0(); + double synapse0x1e95b230(); + double synapse0x1e95b270(); + double synapse0x1e95b2b0(); + double synapse0x1e95b630(); + double synapse0x1e95b670(); + double synapse0x1e95b6b0(); + double synapse0x1e95b6f0(); + double synapse0x1e95b730(); + double synapse0x1e95b770(); + double synapse0x1e95b7b0(); + double synapse0x1e95b7f0(); + double synapse0x1e883a80(); + double synapse0x1e883ac0(); + double synapse0x1e89e980(); + double synapse0x1e89e9c0(); + double synapse0x1e89ea00(); + double synapse0x1e89ea40(); + double synapse0x1e89ea80(); + double synapse0x1e89eac0(); + double synapse0x1e95c340(); + double synapse0x1e95c380(); + double synapse0x1e95c3c0(); + double synapse0x1e95c400(); + double synapse0x1e95c440(); + double synapse0x1e95c480(); + double synapse0x1e95c4c0(); + double synapse0x1e95c500(); + double synapse0x1e95c880(); + double synapse0x1e95c8c0(); + double synapse0x1e95c900(); + double synapse0x1e95c940(); + double synapse0x1e95c980(); + double synapse0x1e95c9c0(); + double synapse0x1e95ca00(); + double synapse0x1e95ca40(); + double synapse0x1e95ca80(); + double synapse0x1e95cac0(); + double synapse0x1e95ce40(); + double synapse0x1e95ce80(); + double synapse0x1e95cec0(); + double synapse0x1e95cf00(); + double synapse0x1e95cf40(); + double synapse0x1e95cf80(); + double synapse0x1e95cfc0(); + double synapse0x1e95d000(); + double synapse0x1e95d040(); + double synapse0x1e95d080(); + double synapse0x1e95d400(); + double synapse0x1e95d440(); + double synapse0x1e95d480(); + double synapse0x1e95d4c0(); + double synapse0x1e95d500(); + double synapse0x1e95d540(); + double synapse0x1e95d580(); + double synapse0x1e95d5c0(); + double synapse0x1e95d600(); + double synapse0x1e95d640(); + double synapse0x1e95d9c0(); + double synapse0x1e95da00(); + double synapse0x1e95da40(); + double synapse0x1e95da80(); + double synapse0x1e95dac0(); + double synapse0x1e95db00(); + double synapse0x1e95db40(); + double synapse0x1e95db80(); + double synapse0x1e95dbc0(); + double synapse0x1e95dc00(); + double synapse0x1e95df80(); + double synapse0x1e95dfc0(); + double synapse0x1e95e000(); + double synapse0x1e95e040(); + double synapse0x1e95e080(); + double synapse0x1e95e0c0(); + double synapse0x1e95e100(); + double synapse0x1e95e140(); + double synapse0x1e95e180(); + double synapse0x1e95bc80(); + double synapse0x1e95c000(); + double synapse0x1e95c040(); + double synapse0x1e958f40(); + double synapse0x1e958f80(); + double synapse0x1e958fc0(); +}; + +class llNNEE { +public: + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x13012440(); + double neuron0x13012780(); + double neuron0x13012ac0(); + double neuron0x13012e00(); + double neuron0x13013140(); + double neuron0x13013480(); + double neuron0x130137c0(); + double neuron0x13013b00(); + double input0x13013f70(); + double neuron0x13013f70(); + double input0x130143a0(); + double neuron0x130143a0(); + double input0x130148e0(); + double neuron0x130148e0(); + double input0x13014eb0(); + double neuron0x13014eb0(); + double input0x130153f0(); + double neuron0x130153f0(); + double input0x13015770(); + double neuron0x13015770(); + double input0x13015cb0(); + double neuron0x13015cb0(); + double input0x130161f0(); + double neuron0x130161f0(); + double input0x13016730(); + double neuron0x13016730(); + double input0x13016f90(); + double neuron0x13016f90(); + double input0x13017440(); + double neuron0x13017440(); + double input0x13017a00(); + double neuron0x13017a00(); + double input0x13017fc0(); + double neuron0x13017fc0(); + double input0x13018580(); + double neuron0x13018580(); + double input0x13018b40(); + double neuron0x13018b40(); + double input0x13016bc0(); + double neuron0x13016bc0(); + double synapse0x12f72780(); + double synapse0x1301b040(); + double synapse0x13014220(); + double synapse0x13014260(); + double synapse0x130142a0(); + double synapse0x130142e0(); + double synapse0x13014320(); + double synapse0x13014360(); + double synapse0x130146e0(); + double synapse0x13014720(); + double synapse0x13014760(); + double synapse0x130147a0(); + double synapse0x130147e0(); + double synapse0x13014820(); + double synapse0x13014860(); + double synapse0x130148a0(); + double synapse0x13014c20(); + double synapse0x12f40d20(); + double synapse0x12f40d60(); + double synapse0x13014d70(); + double synapse0x13014db0(); + double synapse0x13014df0(); + double synapse0x13014e30(); + double synapse0x13014e70(); + double synapse0x130151f0(); + double synapse0x13015230(); + double synapse0x13015270(); + double synapse0x130152b0(); + double synapse0x130152f0(); + double synapse0x13015330(); + double synapse0x13015370(); + double synapse0x130153b0(); + double synapse0x13015730(); + double synapse0x13012370(); + double synapse0x1301b080(); + double synapse0x12f5d090(); + double synapse0x13014c60(); + double synapse0x13014ca0(); + double synapse0x13014ce0(); + double synapse0x13014d20(); + double synapse0x13015ab0(); + double synapse0x13015af0(); + double synapse0x13015b30(); + double synapse0x13015b70(); + double synapse0x13015bb0(); + double synapse0x13015bf0(); + double synapse0x13015c30(); + double synapse0x13015c70(); + double synapse0x13015ff0(); + double synapse0x13016030(); + double synapse0x13016070(); + double synapse0x130160b0(); + double synapse0x130160f0(); + double synapse0x13016130(); + double synapse0x13016170(); + double synapse0x130161b0(); + double synapse0x13016530(); + double synapse0x13016570(); + double synapse0x130165b0(); + double synapse0x130165f0(); + double synapse0x13016630(); + double synapse0x13016670(); + double synapse0x130166b0(); + double synapse0x130166f0(); + double synapse0x12f3e980(); + double synapse0x12f3e9c0(); + double synapse0x12f59880(); + double synapse0x12f598c0(); + double synapse0x12f59900(); + double synapse0x12f59940(); + double synapse0x12f59980(); + double synapse0x12f599c0(); + double synapse0x13017240(); + double synapse0x13017280(); + double synapse0x130172c0(); + double synapse0x13017300(); + double synapse0x13017340(); + double synapse0x13017380(); + double synapse0x130173c0(); + double synapse0x13017400(); + double synapse0x13017780(); + double synapse0x130177c0(); + double synapse0x13017800(); + double synapse0x13017840(); + double synapse0x13017880(); + double synapse0x130178c0(); + double synapse0x13017900(); + double synapse0x13017940(); + double synapse0x13017980(); + double synapse0x130179c0(); + double synapse0x13017d40(); + double synapse0x13017d80(); + double synapse0x13017dc0(); + double synapse0x13017e00(); + double synapse0x13017e40(); + double synapse0x13017e80(); + double synapse0x13017ec0(); + double synapse0x13017f00(); + double synapse0x13017f40(); + double synapse0x13017f80(); + double synapse0x13018300(); + double synapse0x13018340(); + double synapse0x13018380(); + double synapse0x130183c0(); + double synapse0x13018400(); + double synapse0x13018440(); + double synapse0x13018480(); + double synapse0x130184c0(); + double synapse0x13018500(); + double synapse0x13018540(); + double synapse0x130188c0(); + double synapse0x13018900(); + double synapse0x13018940(); + double synapse0x13018980(); + double synapse0x130189c0(); + double synapse0x13018a00(); + double synapse0x13018a40(); + double synapse0x13018a80(); + double synapse0x13018ac0(); + double synapse0x13018b00(); + double synapse0x13018e80(); + double synapse0x13018ec0(); + double synapse0x13018f00(); + double synapse0x13018f40(); + double synapse0x13018f80(); + double synapse0x13018fc0(); + double synapse0x13019000(); + double synapse0x13019040(); + double synapse0x13019080(); + double synapse0x13016b80(); + double synapse0x13016f00(); + double synapse0x13016f40(); + double synapse0x13013e40(); + double synapse0x13013e80(); + double synapse0x13013ec0(); +}; + +class luNNEE { +public: + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x1d23f500(); + double neuron0x1d23f840(); + double neuron0x1d23fb80(); + double neuron0x1d23fec0(); + double neuron0x1d240200(); + double neuron0x1d240540(); + double neuron0x1d240880(); + double neuron0x1d240bc0(); + double input0x1d241030(); + double neuron0x1d241030(); + double input0x1d241460(); + double neuron0x1d241460(); + double input0x1d2419a0(); + double neuron0x1d2419a0(); + double input0x1d241f70(); + double neuron0x1d241f70(); + double input0x1d2424b0(); + double neuron0x1d2424b0(); + double input0x1d242830(); + double neuron0x1d242830(); + double input0x1d242d70(); + double neuron0x1d242d70(); + double input0x1d2432b0(); + double neuron0x1d2432b0(); + double input0x1d2437f0(); + double neuron0x1d2437f0(); + double input0x1d244050(); + double neuron0x1d244050(); + double input0x1d244500(); + double neuron0x1d244500(); + double input0x1d244ac0(); + double neuron0x1d244ac0(); + double input0x1d245080(); + double neuron0x1d245080(); + double input0x1d245640(); + double neuron0x1d245640(); + double input0x1d245c00(); + double neuron0x1d245c00(); + double input0x1d243c80(); + double neuron0x1d243c80(); + double synapse0x1d19f840(); + double synapse0x1d248100(); + double synapse0x1d2412e0(); + double synapse0x1d241320(); + double synapse0x1d241360(); + double synapse0x1d2413a0(); + double synapse0x1d2413e0(); + double synapse0x1d241420(); + double synapse0x1d2417a0(); + double synapse0x1d2417e0(); + double synapse0x1d241820(); + double synapse0x1d241860(); + double synapse0x1d2418a0(); + double synapse0x1d2418e0(); + double synapse0x1d241920(); + double synapse0x1d241960(); + double synapse0x1d241ce0(); + double synapse0x1d16dde0(); + double synapse0x1d16de20(); + double synapse0x1d241e30(); + double synapse0x1d241e70(); + double synapse0x1d241eb0(); + double synapse0x1d241ef0(); + double synapse0x1d241f30(); + double synapse0x1d2422b0(); + double synapse0x1d2422f0(); + double synapse0x1d242330(); + double synapse0x1d242370(); + double synapse0x1d2423b0(); + double synapse0x1d2423f0(); + double synapse0x1d242430(); + double synapse0x1d242470(); + double synapse0x1d2427f0(); + double synapse0x1d23f430(); + double synapse0x1d248140(); + double synapse0x1d18a150(); + double synapse0x1d241d20(); + double synapse0x1d241d60(); + double synapse0x1d241da0(); + double synapse0x1d241de0(); + double synapse0x1d242b70(); + double synapse0x1d242bb0(); + double synapse0x1d242bf0(); + double synapse0x1d242c30(); + double synapse0x1d242c70(); + double synapse0x1d242cb0(); + double synapse0x1d242cf0(); + double synapse0x1d242d30(); + double synapse0x1d2430b0(); + double synapse0x1d2430f0(); + double synapse0x1d243130(); + double synapse0x1d243170(); + double synapse0x1d2431b0(); + double synapse0x1d2431f0(); + double synapse0x1d243230(); + double synapse0x1d243270(); + double synapse0x1d2435f0(); + double synapse0x1d243630(); + double synapse0x1d243670(); + double synapse0x1d2436b0(); + double synapse0x1d2436f0(); + double synapse0x1d243730(); + double synapse0x1d243770(); + double synapse0x1d2437b0(); + double synapse0x1d16ba40(); + double synapse0x1d16ba80(); + double synapse0x1d186940(); + double synapse0x1d186980(); + double synapse0x1d1869c0(); + double synapse0x1d186a00(); + double synapse0x1d186a40(); + double synapse0x1d186a80(); + double synapse0x1d244300(); + double synapse0x1d244340(); + double synapse0x1d244380(); + double synapse0x1d2443c0(); + double synapse0x1d244400(); + double synapse0x1d244440(); + double synapse0x1d244480(); + double synapse0x1d2444c0(); + double synapse0x1d244840(); + double synapse0x1d244880(); + double synapse0x1d2448c0(); + double synapse0x1d244900(); + double synapse0x1d244940(); + double synapse0x1d244980(); + double synapse0x1d2449c0(); + double synapse0x1d244a00(); + double synapse0x1d244a40(); + double synapse0x1d244a80(); + double synapse0x1d244e00(); + double synapse0x1d244e40(); + double synapse0x1d244e80(); + double synapse0x1d244ec0(); + double synapse0x1d244f00(); + double synapse0x1d244f40(); + double synapse0x1d244f80(); + double synapse0x1d244fc0(); + double synapse0x1d245000(); + double synapse0x1d245040(); + double synapse0x1d2453c0(); + double synapse0x1d245400(); + double synapse0x1d245440(); + double synapse0x1d245480(); + double synapse0x1d2454c0(); + double synapse0x1d245500(); + double synapse0x1d245540(); + double synapse0x1d245580(); + double synapse0x1d2455c0(); + double synapse0x1d245600(); + double synapse0x1d245980(); + double synapse0x1d2459c0(); + double synapse0x1d245a00(); + double synapse0x1d245a40(); + double synapse0x1d245a80(); + double synapse0x1d245ac0(); + double synapse0x1d245b00(); + double synapse0x1d245b40(); + double synapse0x1d245b80(); + double synapse0x1d245bc0(); + double synapse0x1d245f40(); + double synapse0x1d245f80(); + double synapse0x1d245fc0(); + double synapse0x1d246000(); + double synapse0x1d246040(); + double synapse0x1d246080(); + double synapse0x1d2460c0(); + double synapse0x1d246100(); + double synapse0x1d246140(); + double synapse0x1d243c40(); + double synapse0x1d243fc0(); + double synapse0x1d244000(); + double synapse0x1d240f00(); + double synapse0x1d240f40(); + double synapse0x1d240f80(); +}; + +class rdNNEE { +public: + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x1ff935c0(); + double neuron0x1ff93900(); + double neuron0x1ff93c40(); + double neuron0x1ff93f80(); + double neuron0x1ff942c0(); + double neuron0x1ff94600(); + double neuron0x1ff94940(); + double neuron0x1ff94c80(); + double input0x1ff950f0(); + double neuron0x1ff950f0(); + double input0x1ff95520(); + double neuron0x1ff95520(); + double input0x1ff95a60(); + double neuron0x1ff95a60(); + double input0x1ff96030(); + double neuron0x1ff96030(); + double input0x1ff96570(); + double neuron0x1ff96570(); + double input0x1ff968f0(); + double neuron0x1ff968f0(); + double input0x1ff96e30(); + double neuron0x1ff96e30(); + double input0x1ff97370(); + double neuron0x1ff97370(); + double input0x1ff978b0(); + double neuron0x1ff978b0(); + double input0x1ff98110(); + double neuron0x1ff98110(); + double input0x1ff985c0(); + double neuron0x1ff985c0(); + double input0x1ff98b80(); + double neuron0x1ff98b80(); + double input0x1ff99140(); + double neuron0x1ff99140(); + double input0x1ff99700(); + double neuron0x1ff99700(); + double input0x1ff99cc0(); + double neuron0x1ff99cc0(); + double input0x1ff97d40(); + double neuron0x1ff97d40(); + double synapse0x1fef3900(); + double synapse0x1ff9c1c0(); + double synapse0x1ff953a0(); + double synapse0x1ff953e0(); + double synapse0x1ff95420(); + double synapse0x1ff95460(); + double synapse0x1ff954a0(); + double synapse0x1ff954e0(); + double synapse0x1ff95860(); + double synapse0x1ff958a0(); + double synapse0x1ff958e0(); + double synapse0x1ff95920(); + double synapse0x1ff95960(); + double synapse0x1ff959a0(); + double synapse0x1ff959e0(); + double synapse0x1ff95a20(); + double synapse0x1ff95da0(); + double synapse0x1fec1ea0(); + double synapse0x1fec1ee0(); + double synapse0x1ff95ef0(); + double synapse0x1ff95f30(); + double synapse0x1ff95f70(); + double synapse0x1ff95fb0(); + double synapse0x1ff95ff0(); + double synapse0x1ff96370(); + double synapse0x1ff963b0(); + double synapse0x1ff963f0(); + double synapse0x1ff96430(); + double synapse0x1ff96470(); + double synapse0x1ff964b0(); + double synapse0x1ff964f0(); + double synapse0x1ff96530(); + double synapse0x1ff968b0(); + double synapse0x1ff934f0(); + double synapse0x1ff9c200(); + double synapse0x1fede210(); + double synapse0x1ff95de0(); + double synapse0x1ff95e20(); + double synapse0x1ff95e60(); + double synapse0x1ff95ea0(); + double synapse0x1ff96c30(); + double synapse0x1ff96c70(); + double synapse0x1ff96cb0(); + double synapse0x1ff96cf0(); + double synapse0x1ff96d30(); + double synapse0x1ff96d70(); + double synapse0x1ff96db0(); + double synapse0x1ff96df0(); + double synapse0x1ff97170(); + double synapse0x1ff971b0(); + double synapse0x1ff971f0(); + double synapse0x1ff97230(); + double synapse0x1ff97270(); + double synapse0x1ff972b0(); + double synapse0x1ff972f0(); + double synapse0x1ff97330(); + double synapse0x1ff976b0(); + double synapse0x1ff976f0(); + double synapse0x1ff97730(); + double synapse0x1ff97770(); + double synapse0x1ff977b0(); + double synapse0x1ff977f0(); + double synapse0x1ff97830(); + double synapse0x1ff97870(); + double synapse0x1febfb00(); + double synapse0x1febfb40(); + double synapse0x1fedaa00(); + double synapse0x1fedaa40(); + double synapse0x1fedaa80(); + double synapse0x1fedaac0(); + double synapse0x1fedab00(); + double synapse0x1fedab40(); + double synapse0x1ff983c0(); + double synapse0x1ff98400(); + double synapse0x1ff98440(); + double synapse0x1ff98480(); + double synapse0x1ff984c0(); + double synapse0x1ff98500(); + double synapse0x1ff98540(); + double synapse0x1ff98580(); + double synapse0x1ff98900(); + double synapse0x1ff98940(); + double synapse0x1ff98980(); + double synapse0x1ff989c0(); + double synapse0x1ff98a00(); + double synapse0x1ff98a40(); + double synapse0x1ff98a80(); + double synapse0x1ff98ac0(); + double synapse0x1ff98b00(); + double synapse0x1ff98b40(); + double synapse0x1ff98ec0(); + double synapse0x1ff98f00(); + double synapse0x1ff98f40(); + double synapse0x1ff98f80(); + double synapse0x1ff98fc0(); + double synapse0x1ff99000(); + double synapse0x1ff99040(); + double synapse0x1ff99080(); + double synapse0x1ff990c0(); + double synapse0x1ff99100(); + double synapse0x1ff99480(); + double synapse0x1ff994c0(); + double synapse0x1ff99500(); + double synapse0x1ff99540(); + double synapse0x1ff99580(); + double synapse0x1ff995c0(); + double synapse0x1ff99600(); + double synapse0x1ff99640(); + double synapse0x1ff99680(); + double synapse0x1ff996c0(); + double synapse0x1ff99a40(); + double synapse0x1ff99a80(); + double synapse0x1ff99ac0(); + double synapse0x1ff99b00(); + double synapse0x1ff99b40(); + double synapse0x1ff99b80(); + double synapse0x1ff99bc0(); + double synapse0x1ff99c00(); + double synapse0x1ff99c40(); + double synapse0x1ff99c80(); + double synapse0x1ff9a000(); + double synapse0x1ff9a040(); + double synapse0x1ff9a080(); + double synapse0x1ff9a0c0(); + double synapse0x1ff9a100(); + double synapse0x1ff9a140(); + double synapse0x1ff9a180(); + double synapse0x1ff9a1c0(); + double synapse0x1ff9a200(); + double synapse0x1ff97d00(); + double synapse0x1ff98080(); + double synapse0x1ff980c0(); + double synapse0x1ff94fc0(); + double synapse0x1ff95000(); + double synapse0x1ff95040(); +}; + +class rrNNEE { +public: + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x6729400(); + double neuron0x6729740(); + double neuron0x6729a80(); + double neuron0x6729dc0(); + double neuron0x672a100(); + double neuron0x672a440(); + double neuron0x672a780(); + double neuron0x672aac0(); + double input0x672af30(); + double neuron0x672af30(); + double input0x672b360(); + double neuron0x672b360(); + double input0x672b8a0(); + double neuron0x672b8a0(); + double input0x672be70(); + double neuron0x672be70(); + double input0x672c3b0(); + double neuron0x672c3b0(); + double input0x672c730(); + double neuron0x672c730(); + double input0x672cc70(); + double neuron0x672cc70(); + double input0x672d1b0(); + double neuron0x672d1b0(); + double input0x672d6f0(); + double neuron0x672d6f0(); + double input0x672df50(); + double neuron0x672df50(); + double input0x672e400(); + double neuron0x672e400(); + double input0x672e9c0(); + double neuron0x672e9c0(); + double input0x672ef80(); + double neuron0x672ef80(); + double input0x672f540(); + double neuron0x672f540(); + double input0x672fb00(); + double neuron0x672fb00(); + double input0x672db80(); + double neuron0x672db80(); + double synapse0x6689740(); + double synapse0x6732000(); + double synapse0x672b1e0(); + double synapse0x672b220(); + double synapse0x672b260(); + double synapse0x672b2a0(); + double synapse0x672b2e0(); + double synapse0x672b320(); + double synapse0x672b6a0(); + double synapse0x672b6e0(); + double synapse0x672b720(); + double synapse0x672b760(); + double synapse0x672b7a0(); + double synapse0x672b7e0(); + double synapse0x672b820(); + double synapse0x672b860(); + double synapse0x672bbe0(); + double synapse0x6657ce0(); + double synapse0x6657d20(); + double synapse0x672bd30(); + double synapse0x672bd70(); + double synapse0x672bdb0(); + double synapse0x672bdf0(); + double synapse0x672be30(); + double synapse0x672c1b0(); + double synapse0x672c1f0(); + double synapse0x672c230(); + double synapse0x672c270(); + double synapse0x672c2b0(); + double synapse0x672c2f0(); + double synapse0x672c330(); + double synapse0x672c370(); + double synapse0x672c6f0(); + double synapse0x6729330(); + double synapse0x6732040(); + double synapse0x6674050(); + double synapse0x672bc20(); + double synapse0x672bc60(); + double synapse0x672bca0(); + double synapse0x672bce0(); + double synapse0x672ca70(); + double synapse0x672cab0(); + double synapse0x672caf0(); + double synapse0x672cb30(); + double synapse0x672cb70(); + double synapse0x672cbb0(); + double synapse0x672cbf0(); + double synapse0x672cc30(); + double synapse0x672cfb0(); + double synapse0x672cff0(); + double synapse0x672d030(); + double synapse0x672d070(); + double synapse0x672d0b0(); + double synapse0x672d0f0(); + double synapse0x672d130(); + double synapse0x672d170(); + double synapse0x672d4f0(); + double synapse0x672d530(); + double synapse0x672d570(); + double synapse0x672d5b0(); + double synapse0x672d5f0(); + double synapse0x672d630(); + double synapse0x672d670(); + double synapse0x672d6b0(); + double synapse0x6655940(); + double synapse0x6655980(); + double synapse0x6670840(); + double synapse0x6670880(); + double synapse0x66708c0(); + double synapse0x6670900(); + double synapse0x6670940(); + double synapse0x6670980(); + double synapse0x672e200(); + double synapse0x672e240(); + double synapse0x672e280(); + double synapse0x672e2c0(); + double synapse0x672e300(); + double synapse0x672e340(); + double synapse0x672e380(); + double synapse0x672e3c0(); + double synapse0x672e740(); + double synapse0x672e780(); + double synapse0x672e7c0(); + double synapse0x672e800(); + double synapse0x672e840(); + double synapse0x672e880(); + double synapse0x672e8c0(); + double synapse0x672e900(); + double synapse0x672e940(); + double synapse0x672e980(); + double synapse0x672ed00(); + double synapse0x672ed40(); + double synapse0x672ed80(); + double synapse0x672edc0(); + double synapse0x672ee00(); + double synapse0x672ee40(); + double synapse0x672ee80(); + double synapse0x672eec0(); + double synapse0x672ef00(); + double synapse0x672ef40(); + double synapse0x672f2c0(); + double synapse0x672f300(); + double synapse0x672f340(); + double synapse0x672f380(); + double synapse0x672f3c0(); + double synapse0x672f400(); + double synapse0x672f440(); + double synapse0x672f480(); + double synapse0x672f4c0(); + double synapse0x672f500(); + double synapse0x672f880(); + double synapse0x672f8c0(); + double synapse0x672f900(); + double synapse0x672f940(); + double synapse0x672f980(); + double synapse0x672f9c0(); + double synapse0x672fa00(); + double synapse0x672fa40(); + double synapse0x672fa80(); + double synapse0x672fac0(); + double synapse0x672fe40(); + double synapse0x672fe80(); + double synapse0x672fec0(); + double synapse0x672ff00(); + double synapse0x672ff40(); + double synapse0x672ff80(); + double synapse0x672ffc0(); + double synapse0x6730000(); + double synapse0x6730040(); + double synapse0x672db40(); + double synapse0x672dec0(); + double synapse0x672df00(); + double synapse0x672ae00(); + double synapse0x672ae40(); + double synapse0x672ae80(); +}; + +class ruNNEE { +public: + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0xa8284c0(); + double neuron0xa828800(); + double neuron0xa828b40(); + double neuron0xa828e80(); + double neuron0xa8291c0(); + double neuron0xa829500(); + double neuron0xa829840(); + double neuron0xa829b80(); + double input0xa829ff0(); + double neuron0xa829ff0(); + double input0xa82a420(); + double neuron0xa82a420(); + double input0xa82a960(); + double neuron0xa82a960(); + double input0xa82af30(); + double neuron0xa82af30(); + double input0xa82b470(); + double neuron0xa82b470(); + double input0xa82b7f0(); + double neuron0xa82b7f0(); + double input0xa82bd30(); + double neuron0xa82bd30(); + double input0xa82c270(); + double neuron0xa82c270(); + double input0xa82c7b0(); + double neuron0xa82c7b0(); + double input0xa82d010(); + double neuron0xa82d010(); + double input0xa82d4c0(); + double neuron0xa82d4c0(); + double input0xa82da80(); + double neuron0xa82da80(); + double input0xa82e040(); + double neuron0xa82e040(); + double input0xa82e600(); + double neuron0xa82e600(); + double input0xa82ebc0(); + double neuron0xa82ebc0(); + double input0xa82cc40(); + double neuron0xa82cc40(); + double synapse0xa788800(); + double synapse0xa8310c0(); + double synapse0xa82a2a0(); + double synapse0xa82a2e0(); + double synapse0xa82a320(); + double synapse0xa82a360(); + double synapse0xa82a3a0(); + double synapse0xa82a3e0(); + double synapse0xa82a760(); + double synapse0xa82a7a0(); + double synapse0xa82a7e0(); + double synapse0xa82a820(); + double synapse0xa82a860(); + double synapse0xa82a8a0(); + double synapse0xa82a8e0(); + double synapse0xa82a920(); + double synapse0xa82aca0(); + double synapse0xa756da0(); + double synapse0xa756de0(); + double synapse0xa82adf0(); + double synapse0xa82ae30(); + double synapse0xa82ae70(); + double synapse0xa82aeb0(); + double synapse0xa82aef0(); + double synapse0xa82b270(); + double synapse0xa82b2b0(); + double synapse0xa82b2f0(); + double synapse0xa82b330(); + double synapse0xa82b370(); + double synapse0xa82b3b0(); + double synapse0xa82b3f0(); + double synapse0xa82b430(); + double synapse0xa82b7b0(); + double synapse0xa8283f0(); + double synapse0xa831100(); + double synapse0xa773110(); + double synapse0xa82ace0(); + double synapse0xa82ad20(); + double synapse0xa82ad60(); + double synapse0xa82ada0(); + double synapse0xa82bb30(); + double synapse0xa82bb70(); + double synapse0xa82bbb0(); + double synapse0xa82bbf0(); + double synapse0xa82bc30(); + double synapse0xa82bc70(); + double synapse0xa82bcb0(); + double synapse0xa82bcf0(); + double synapse0xa82c070(); + double synapse0xa82c0b0(); + double synapse0xa82c0f0(); + double synapse0xa82c130(); + double synapse0xa82c170(); + double synapse0xa82c1b0(); + double synapse0xa82c1f0(); + double synapse0xa82c230(); + double synapse0xa82c5b0(); + double synapse0xa82c5f0(); + double synapse0xa82c630(); + double synapse0xa82c670(); + double synapse0xa82c6b0(); + double synapse0xa82c6f0(); + double synapse0xa82c730(); + double synapse0xa82c770(); + double synapse0xa754a00(); + double synapse0xa754a40(); + double synapse0xa76f900(); + double synapse0xa76f940(); + double synapse0xa76f980(); + double synapse0xa76f9c0(); + double synapse0xa76fa00(); + double synapse0xa76fa40(); + double synapse0xa82d2c0(); + double synapse0xa82d300(); + double synapse0xa82d340(); + double synapse0xa82d380(); + double synapse0xa82d3c0(); + double synapse0xa82d400(); + double synapse0xa82d440(); + double synapse0xa82d480(); + double synapse0xa82d800(); + double synapse0xa82d840(); + double synapse0xa82d880(); + double synapse0xa82d8c0(); + double synapse0xa82d900(); + double synapse0xa82d940(); + double synapse0xa82d980(); + double synapse0xa82d9c0(); + double synapse0xa82da00(); + double synapse0xa82da40(); + double synapse0xa82ddc0(); + double synapse0xa82de00(); + double synapse0xa82de40(); + double synapse0xa82de80(); + double synapse0xa82dec0(); + double synapse0xa82df00(); + double synapse0xa82df40(); + double synapse0xa82df80(); + double synapse0xa82dfc0(); + double synapse0xa82e000(); + double synapse0xa82e380(); + double synapse0xa82e3c0(); + double synapse0xa82e400(); + double synapse0xa82e440(); + double synapse0xa82e480(); + double synapse0xa82e4c0(); + double synapse0xa82e500(); + double synapse0xa82e540(); + double synapse0xa82e580(); + double synapse0xa82e5c0(); + double synapse0xa82e940(); + double synapse0xa82e980(); + double synapse0xa82e9c0(); + double synapse0xa82ea00(); + double synapse0xa82ea40(); + double synapse0xa82ea80(); + double synapse0xa82eac0(); + double synapse0xa82eb00(); + double synapse0xa82eb40(); + double synapse0xa82eb80(); + double synapse0xa82ef00(); + double synapse0xa82ef40(); + double synapse0xa82ef80(); + double synapse0xa82efc0(); + double synapse0xa82f000(); + double synapse0xa82f040(); + double synapse0xa82f080(); + double synapse0xa82f0c0(); + double synapse0xa82f100(); + double synapse0xa82cc00(); + double synapse0xa82cf80(); + double synapse0xa82cfc0(); + double synapse0xa829ec0(); + double synapse0xa829f00(); + double synapse0xa829f40(); +}; + +class uuNNEE { +public: + double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); + double Value(int index, double* input); +private: + double input0; + double input1; + double input2; + double input3; + double input4; + double input5; + double input6; + double input7; + double neuron0x1e0e03c0(); + double neuron0x1e0e0700(); + double neuron0x1e0e0a40(); + double neuron0x1e0e0d80(); + double neuron0x1e0e10c0(); + double neuron0x1e0e1400(); + double neuron0x1e0e1740(); + double neuron0x1e0e1a80(); + double input0x1e0e1ef0(); + double neuron0x1e0e1ef0(); + double input0x1e0e2320(); + double neuron0x1e0e2320(); + double input0x1e0e2860(); + double neuron0x1e0e2860(); + double input0x1e0e2e30(); + double neuron0x1e0e2e30(); + double input0x1e0e3370(); + double neuron0x1e0e3370(); + double input0x1e0e36f0(); + double neuron0x1e0e36f0(); + double input0x1e0e3c30(); + double neuron0x1e0e3c30(); + double input0x1e0e4170(); + double neuron0x1e0e4170(); + double input0x1e0e46b0(); + double neuron0x1e0e46b0(); + double input0x1e0e4f10(); + double neuron0x1e0e4f10(); + double input0x1e0e53c0(); + double neuron0x1e0e53c0(); + double input0x1e0e5980(); + double neuron0x1e0e5980(); + double input0x1e0e5f40(); + double neuron0x1e0e5f40(); + double input0x1e0e6500(); + double neuron0x1e0e6500(); + double input0x1e0e6ac0(); + double neuron0x1e0e6ac0(); + double input0x1e0e4b40(); + double neuron0x1e0e4b40(); + double synapse0x1e040700(); + double synapse0x1e0e8fc0(); + double synapse0x1e0e21a0(); + double synapse0x1e0e21e0(); + double synapse0x1e0e2220(); + double synapse0x1e0e2260(); + double synapse0x1e0e22a0(); + double synapse0x1e0e22e0(); + double synapse0x1e0e2660(); + double synapse0x1e0e26a0(); + double synapse0x1e0e26e0(); + double synapse0x1e0e2720(); + double synapse0x1e0e2760(); + double synapse0x1e0e27a0(); + double synapse0x1e0e27e0(); + double synapse0x1e0e2820(); + double synapse0x1e0e2ba0(); + double synapse0x1e00eca0(); + double synapse0x1e00ece0(); + double synapse0x1e0e2cf0(); + double synapse0x1e0e2d30(); + double synapse0x1e0e2d70(); + double synapse0x1e0e2db0(); + double synapse0x1e0e2df0(); + double synapse0x1e0e3170(); + double synapse0x1e0e31b0(); + double synapse0x1e0e31f0(); + double synapse0x1e0e3230(); + double synapse0x1e0e3270(); + double synapse0x1e0e32b0(); + double synapse0x1e0e32f0(); + double synapse0x1e0e3330(); + double synapse0x1e0e36b0(); + double synapse0x1e0e02f0(); + double synapse0x1e0e9000(); + double synapse0x1e02b010(); + double synapse0x1e0e2be0(); + double synapse0x1e0e2c20(); + double synapse0x1e0e2c60(); + double synapse0x1e0e2ca0(); + double synapse0x1e0e3a30(); + double synapse0x1e0e3a70(); + double synapse0x1e0e3ab0(); + double synapse0x1e0e3af0(); + double synapse0x1e0e3b30(); + double synapse0x1e0e3b70(); + double synapse0x1e0e3bb0(); + double synapse0x1e0e3bf0(); + double synapse0x1e0e3f70(); + double synapse0x1e0e3fb0(); + double synapse0x1e0e3ff0(); + double synapse0x1e0e4030(); + double synapse0x1e0e4070(); + double synapse0x1e0e40b0(); + double synapse0x1e0e40f0(); + double synapse0x1e0e4130(); + double synapse0x1e0e44b0(); + double synapse0x1e0e44f0(); + double synapse0x1e0e4530(); + double synapse0x1e0e4570(); + double synapse0x1e0e45b0(); + double synapse0x1e0e45f0(); + double synapse0x1e0e4630(); + double synapse0x1e0e4670(); + double synapse0x1e00c900(); + double synapse0x1e00c940(); + double synapse0x1e027800(); + double synapse0x1e027840(); + double synapse0x1e027880(); + double synapse0x1e0278c0(); + double synapse0x1e027900(); + double synapse0x1e027940(); + double synapse0x1e0e51c0(); + double synapse0x1e0e5200(); + double synapse0x1e0e5240(); + double synapse0x1e0e5280(); + double synapse0x1e0e52c0(); + double synapse0x1e0e5300(); + double synapse0x1e0e5340(); + double synapse0x1e0e5380(); + double synapse0x1e0e5700(); + double synapse0x1e0e5740(); + double synapse0x1e0e5780(); + double synapse0x1e0e57c0(); + double synapse0x1e0e5800(); + double synapse0x1e0e5840(); + double synapse0x1e0e5880(); + double synapse0x1e0e58c0(); + double synapse0x1e0e5900(); + double synapse0x1e0e5940(); + double synapse0x1e0e5cc0(); + double synapse0x1e0e5d00(); + double synapse0x1e0e5d40(); + double synapse0x1e0e5d80(); + double synapse0x1e0e5dc0(); + double synapse0x1e0e5e00(); + double synapse0x1e0e5e40(); + double synapse0x1e0e5e80(); + double synapse0x1e0e5ec0(); + double synapse0x1e0e5f00(); + double synapse0x1e0e6280(); + double synapse0x1e0e62c0(); + double synapse0x1e0e6300(); + double synapse0x1e0e6340(); + double synapse0x1e0e6380(); + double synapse0x1e0e63c0(); + double synapse0x1e0e6400(); + double synapse0x1e0e6440(); + double synapse0x1e0e6480(); + double synapse0x1e0e64c0(); + double synapse0x1e0e6840(); + double synapse0x1e0e6880(); + double synapse0x1e0e68c0(); + double synapse0x1e0e6900(); + double synapse0x1e0e6940(); + double synapse0x1e0e6980(); + double synapse0x1e0e69c0(); + double synapse0x1e0e6a00(); + double synapse0x1e0e6a40(); + double synapse0x1e0e6a80(); + double synapse0x1e0e6e00(); + double synapse0x1e0e6e40(); + double synapse0x1e0e6e80(); + double synapse0x1e0e6ec0(); + double synapse0x1e0e6f00(); + double synapse0x1e0e6f40(); + double synapse0x1e0e6f80(); + double synapse0x1e0e6fc0(); + double synapse0x1e0e7000(); + double synapse0x1e0e4b00(); + double synapse0x1e0e4e80(); + double synapse0x1e0e4ec0(); + double synapse0x1e0e1dc0(); + double synapse0x1e0e1e00(); + double synapse0x1e0e1e40(); +}; + +#endif // xyNNEE_h + diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc new file mode 100644 index 0000000000000..caa1a2d44a260 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc @@ -0,0 +1,190 @@ +// -*- C++ -*- +// +// Package: EcalDeadChannelRecoveryAlgos +// Class: CorrectEBDeadChannelsNN +// +/**\class CorrectEBDeadChannelsNN CorrectEBDeadChannelsNN.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc + + Description: + + Implementation: + + + Return Value: 1) Normal execution returns a positive number ("double"), coresponding to the ANN estimate for the energy of the "dead" cell. + 2) Non-normal execution returns a negative number ("double") with the following meaning: + -1000000.0 Zero DC's were detected + -1000001.0 More than one DC's detected. + -2000000.0 Non-positive (i.e negative or zero) cell energy detected within at least one "live" cell + -3000000.0 Detector region provided was EB but no match with a "dead" cell case was detected + -3000001.0 Detector region provided was EE but no match with a "dead" cell case was detected + To avoid future conflicts the return values have been set to very-high unphysical values +*/ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "CorrectDeadChannelsNN.cc" code +// + +#include +#include +#include +#include +#include + +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h" + +using namespace std; + +double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { + + double NNResult ; + + // Arrangement within the M3x3Input matrix + // + // M3x3 + // ----------------------------------- + // + // + // LU UU RU 04 01 07 + // LL CC RR or 03 00 06 + // LD DD RD 05 02 08 + // + // + + + // Enumeration to switch from custom names within the 3x3 matrix. + enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; + + // Conversion between M3x3Input matrix and M5x5 matrix needed by NN: + + double M3x3[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; // This is the 3x3 around the Max Containment Crystal. + + M3x3[LU] = M3x3Input[LU]; M3x3[UU] = M3x3Input[UU]; M3x3[RU] = M3x3Input[RU]; + M3x3[LL] = M3x3Input[LL]; M3x3[CC] = M3x3Input[CC]; M3x3[RR] = M3x3Input[RR]; + M3x3[LD] = M3x3Input[LD]; M3x3[DD] = M3x3Input[DD]; M3x3[RD] = M3x3Input[RD]; + + // Find the Dead Channels inside the 3x3 matrix + std::vector idxDC_v; + + for (int i=0; i<9; i++) { + if ( TMath::Abs(M3x3[i]) < epsilon ) { idxDC_v.push_back(i) ; } + } + + // Currently EXACTLY ONE AND ONLY ONE dead cell is corrected. Return -1000000.0 if zero DC's detected and -101.0 if more than one DC's exist. + int idxDC = -1 ; + if ( idxDC_v.size() == 0 ) { NNResult = -1000000.0 ; return NNResult ; } // Zero DC's were detected + if ( idxDC_v.size() > 1 ) { NNResult = -1000001.0 ; return NNResult ; } // More than one DC's detected. + if ( idxDC_v.size() == 1 ) { idxDC = idxDC_v.at(0) ; } + + // Generally the "dead" cells are allowed to have negative energies (since they will be estimated by the ANN anyway). + // But all the remaining "live" ones must have positive values otherwise the logarithm fails. + for (int i=0; i<9; i++) { + if ( M3x3[i] < 0.0 && TMath::Abs(M3x3[i]) >= epsilon ) { NNResult = -2000000.0 ; return NNResult ; } + } + + // Call ANN code depending the detector region. Intermediate varibles "lnXX" are created individualy inside the switch statement + // instead of globaly outside the "if-block" to avoid the case where some cell value is zero (that would be the "dead" cell). + // + double lnLU ; double lnUU ; double lnRU ; + double lnLL ; double lnCC ; double lnRR ; + double lnLD ; double lnDD ; double lnRD ; + + // Select the case to apply the appropriate NN and return the result. + if ( idxDC == CC ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + ccNNEB* ccNNObjEB = new ccNNEB(); NNResult = TMath::Exp( ccNNObjEB->Value( 0, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete ccNNObjEB ; + + M3x3Input[CC] = NNResult ; + + } else if ( idxDC == RR ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + rrNNEB* rrNNObjEB = new rrNNEB(); NNResult = TMath::Exp( rrNNObjEB->Value( 0, lnCC, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete rrNNObjEB ; + + M3x3Input[RR] = NNResult ; + + } else if ( idxDC == LL ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + llNNEB* llNNObjEB = new llNNEB(); NNResult = TMath::Exp( llNNObjEB->Value( 0, lnCC, lnRR, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete llNNObjEB ; + + M3x3Input[LL] = NNResult ; + + } else if ( idxDC == UU ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + uuNNEB* uuNNObjEB = new uuNNEB(); NNResult = TMath::Exp( uuNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete uuNNObjEB ; + + M3x3Input[UU] = NNResult ; + + } else if ( idxDC == DD ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + ddNNEB* ddNNObjEB = new ddNNEB(); NNResult = TMath::Exp( ddNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnUU, lnRU, lnRD, lnLU, lnLD ) ) ; delete ddNNObjEB ; + + M3x3Input[DD] = NNResult ; + + } else if ( idxDC == RU ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + ruNNEB* ruNNObjEB = new ruNNEB(); NNResult = TMath::Exp( ruNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRD, lnLU, lnLD ) ) ; delete ruNNObjEB ; + + M3x3Input[RU] = NNResult ; + + } else if ( idxDC == RD ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; + + rdNNEB* rdNNObjEB = new rdNNEB(); NNResult = TMath::Exp( rdNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnLU, lnLD ) ) ; delete rdNNObjEB ; + + M3x3Input[RD] = NNResult ; + + } else if ( idxDC == LU ) { + + lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + luNNEB* luNNObjEB = new luNNEB(); NNResult = TMath::Exp( luNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLD ) ) ; delete luNNObjEB ; + + M3x3Input[LU] = NNResult ; + + } else if ( idxDC == LD ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + ldNNEB* ldNNObjEB = new ldNNEB(); NNResult = TMath::Exp( ldNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU ) ) ; delete ldNNObjEB ; + + M3x3Input[LD] = NNResult ; + + } else { + // Error + NNResult = -3000000.0; + } + + return NNResult ; +} diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc new file mode 100644 index 0000000000000..bfafde57fc443 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc @@ -0,0 +1,190 @@ +// -*- C++ -*- +// +// Package: EcalDeadChannelRecoveryAlgos +// Class: CorrectEEDeadChannelsNN +// +/**\class CorrectEEDeadChannelsNN CorrectEEDeadChannelsNN.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc + + Description: + + Implementation: + + + Return Value: 1) Normal execution returns a positive number ("double"), coresponding to the ANN estimate for the energy of the "dead" cell. + 2) Non-normal execution returns a negative number ("double") with the following meaning: + -1000000.0 Zero DC's were detected + -1000001.0 More than one DC's detected. + -2000000.0 Non-positive (i.e negative or zero) cell energy detected within at least one "live" cell + -3000000.0 Detector region provided was EB but no match with a "dead" cell case was detected + -3000001.0 Detector region provided was EE but no match with a "dead" cell case was detected + To avoid future conflicts the return values have been set to very-high unphysical values +*/ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "CorrectDeadChannelsNN.cc" code +// + +#include +#include +#include +#include +#include + +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h" + +using namespace std; + +double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { + + double NNResult ; + + // Arrangement within the M3x3Input matrix + // + // M3x3 + // ----------------------------------- + // + // + // LU UU RU 04 01 07 + // LL CC RR or 03 00 06 + // LD DD RD 05 02 08 + // + // + + + // Enumeration to switch from custom names within the 3x3 matrix. + enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; + + // Conversion between M3x3Input matrix and M5x5 matrix needed by NN: + + double M3x3[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; // This is the 3x3 around the Max Containment Crystal. + + M3x3[LU] = M3x3Input[LU]; M3x3[UU] = M3x3Input[UU]; M3x3[RU] = M3x3Input[RU]; + M3x3[LL] = M3x3Input[LL]; M3x3[CC] = M3x3Input[CC]; M3x3[RR] = M3x3Input[RR]; + M3x3[LD] = M3x3Input[LD]; M3x3[DD] = M3x3Input[DD]; M3x3[RD] = M3x3Input[RD]; + + // Find the Dead Channels inside the 3x3 matrix + std::vector idxDC_v; + + for (int i=0; i<9; i++) { + if ( TMath::Abs(M3x3[i]) < epsilon ) { idxDC_v.push_back(i) ; } + } + + // Currently EXACTLY ONE AND ONLY ONE dead cell is corrected. Return -1000000.0 if zero DC's detected and -101.0 if more than one DC's exist. + int idxDC = -1 ; + if ( idxDC_v.size() == 0 ) { NNResult = -1000000.0 ; return NNResult ; } // Zero DC's were detected + if ( idxDC_v.size() > 1 ) { NNResult = -1000001.0 ; return NNResult ; } // More than one DC's detected. + if ( idxDC_v.size() == 1 ) { idxDC = idxDC_v.at(0) ; } + + // Generally the "dead" cells are allowed to have negative energies (since they will be estimated by the ANN anyway). + // But all the remaining "live" ones must have positive values otherwise the logarithm fails. + for (int i=0; i<9; i++) { + if ( M3x3[i] < 0.0 && TMath::Abs(M3x3[i]) >= epsilon ) { NNResult = -2000000.0 ; return NNResult ; } + } + + // Call ANN code depending the detector region. Intermediate varibles "lnXX" are created individualy inside the switch statement + // instead of globaly outside the "if-block" to avoid the case where some cell value is zero (that would be the "dead" cell). + // + double lnLU ; double lnUU ; double lnRU ; + double lnLL ; double lnCC ; double lnRR ; + double lnLD ; double lnDD ; double lnRD ; + + // Select the case to apply the appropriate NN and return the result. + if ( idxDC == CC ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + ccNNEE* ccNNObjEE = new ccNNEE(); NNResult = TMath::Exp( ccNNObjEE->Value( 0, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete ccNNObjEE ; + + M3x3Input[CC] = NNResult ; + + } else if ( idxDC == RR ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + rrNNEE* rrNNObjEE = new rrNNEE(); NNResult = TMath::Exp( rrNNObjEE->Value( 0, lnCC, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete rrNNObjEE ; + + M3x3Input[RR] = NNResult ; + + } else if ( idxDC == LL ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + llNNEE* llNNObjEE = new llNNEE(); NNResult = TMath::Exp( llNNObjEE->Value( 0, lnCC, lnRR, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete llNNObjEE ; + + M3x3Input[LL] = NNResult ; + + } else if ( idxDC == UU ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + uuNNEE* uuNNObjEE = new uuNNEE(); NNResult = TMath::Exp( uuNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete uuNNObjEE ; + + M3x3Input[UU] = NNResult ; + + } else if ( idxDC == DD ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + ddNNEE* ddNNObjEE = new ddNNEE(); NNResult = TMath::Exp( ddNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnUU, lnRU, lnRD, lnLU, lnLD ) ) ; delete ddNNObjEE ; + + M3x3Input[DD] = NNResult ; + + } else if ( idxDC == RU ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + ruNNEE* ruNNObjEE = new ruNNEE(); NNResult = TMath::Exp( ruNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRD, lnLU, lnLD ) ) ; delete ruNNObjEE ; + + M3x3Input[RU] = NNResult ; + + } else if ( idxDC == RD ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; + + rdNNEE* rdNNObjEE = new rdNNEE(); NNResult = TMath::Exp( rdNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnLU, lnLD ) ) ; delete rdNNObjEE ; + + M3x3Input[RD] = NNResult ; + + } else if ( idxDC == LU ) { + + lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + luNNEE* luNNObjEE = new luNNEE(); NNResult = TMath::Exp( luNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLD ) ) ; delete luNNObjEE ; + + M3x3Input[LU] = NNResult ; + + } else if ( idxDC == LD ) { + + lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; + lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; + lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; + + ldNNEE* ldNNObjEE = new ldNNEE(); NNResult = TMath::Exp( ldNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU ) ) ; delete ldNNObjEE ; + + M3x3Input[LD] = NNResult ; + + } else { + // Error + NNResult = -3000001.0; + } + + return NNResult ; +} diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEB.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEB.cc new file mode 100644 index 0000000000000..ad6606be26b80 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEB.cc @@ -0,0 +1,69 @@ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Mon Feb 04 10:45:16 EET 2013 +// + +#include "TMath.h" + +double EBCentral(double x){ + + double vEBCentral = 0.0 ; + + if ( x <= 0.180 ) { vEBCentral = 0.0 ; } + else if ( 0.180 < x && x <= 0.300 ) { vEBCentral = ( -3267.97+53882*x-298536*x*x+555872*x*x*x)/2.19773067484200601e+03 ; } + else if ( 0.300 < x && x <= 0.450 ) { vEBCentral = ( -35768.3+ 307852*x -892325*x*x +914708*x*x*x)/2.19773067484200601e+03 ; } + else if ( 0.450 < x && x <= 0.780 ) { vEBCentral = ( 28483 -113912*x +184167*x*x -99781.8*x*x*x)/2.19773067484200601e+03 ; } + else if ( 0.780 < x && x <= 0.845 ) { vEBCentral = ( -2.49877e+07 + 9.18933e+07*x -1.12504e+08*x*x + 4.58581e+07*x*x*x)/2.19773067484200601e+03 ; } + else if ( 0.845 < x ) { vEBCentral = 0.0 ; } + else { vEBCentral = 0.0 ; } + + return vEBCentral ; + +} + +double EBDiagonal(double x){ + + double vEBDiagonal = 0.0 ; + + if ( 0.000 < x && x <= 0.010 ) { vEBDiagonal = TMath::Landau(x,7.02750e-03,2.41060e-03,1)*3.96033283438174431e+03/4.39962923475768821e+03 ; } + else if ( 0.010 < x && x <= 0.100 ) { vEBDiagonal = TMath::Landau(x,1.70472e-03,2.47564e-03,1)*8.34898553737588554e+03/4.39962923475768821e+03 ; } + else if ( 0.100 < x && x <= 0.350 ) { vEBDiagonal = (18206.7-326578*x+2.44528e+06*x*x-9.27532e+06*x*x*x+ 1.75264e+07*x*x*x*x-1.30949e+07*x*x*x*x*x)/4.39962923475768821e+03 ; } + else if ( 0.350 < x ) { vEBDiagonal = 0.0 ; } + else { vEBDiagonal = 0.0 ; } + + return vEBDiagonal ; + +} + +double EBUpDown(double x){ + + double vEBUpDown = 0.0 ; + + if ( 0.000 < x && x <= 0.005 ) { vEBUpDown = (28.5332-35350*x+4.28566e+07*x*x-2.02038e+10*x*x*x+ 3.56185e+12*x*x*x*x)/2.20315994559946967e+03 ; } + else if ( 0.005 < x && x <= 0.015 ) { vEBUpDown = TMath::Landau(x, 1.51342e-02, 3.65756e-03,1)*7.04501225670452641e+02/2.20315994559946967e+03 ; } + else if ( 0.015 < x && x <= 0.020 ) { vEBUpDown = TMath::Landau(x, 1.52460e-02, 5.04539e-03 ,1)*9.70980301933632518e+02/2.20315994559946967e+03 ; } + else if ( 0.020 < x && x <= 0.100 ) { vEBUpDown = (62436.8-2.52677e+06*x+4.92704e+07*x*x-4.95769e+08*x*x*x+ 2.48261e+09*x*x*x*x-4.89172e+09*x*x*x*x*x)/2.20315994559946967e+03 ; } + else if ( 0.100 < x && x <= 0.430 ) { vEBUpDown = ( 19976.7 - 265844*x+ 1.80629e+06*x*x -6.40378e+06*x*x*x+ 1.13017e+07*x*x*x*x -7.91581e+06*x*x*x*x*x)/2.20315994559946967e+03 ; } + else if ( 0.430 < x && x <= 0.453 ) { vEBUpDown = ( -3.78481e+06 +2.60128e+07*x -5.9519e+07*x*x +4.53408e+07*x*x*x)/2.20315994559946967e+03 ; } + else if ( 0.453 < x ) { vEBUpDown = 0.0 ; } + else { vEBUpDown = 0.0 ; } + + return vEBUpDown ; + +} + +double EBReftRight(double x){ + + double vEBReftRight = 0.0 ; + + if ( 0.000 < x && x <= 0.003 ) { vEBReftRight = (102.682+457094*x-4.34553e+08*x*x+2.59638e+11*x*x*x)/2.19081589410447168e+03 ; } + else if ( 0.003 < x && x <= 0.010 ) { vEBReftRight = TMath::Landau(x, 9.56298e-03, 2.59171e-03,1)*1.27769617491053555e+03/2.19081589410447168e+03 ; } + else if ( 0.010 < x && x <= 0.070 ) { vEBReftRight = TMath::Landau(x, -1.11570e-02 , 9.08308e-04 ,1)*3.58026004645168359e+04/2.19081589410447168e+03 ; } + else if ( 0.070 < x && x <= 0.400 ) { vEBReftRight = ( 15362.5 -230546*x +1.57249e+06*x*x -5.47903e+06*x*x*x+9.4296e+06*x*x*x*x -6.3775e+06*x*x*x*x*x)/2.19081589410447168e+03 ; } + else if ( 0.400 < x && x <= 0.440 ) { vEBReftRight = (2.3163882e+06-2.2437252e+07*x+8.1519104e+07*x*x-1.3162869e+08*x*x*x+7.9682168e+07*x*x*x*x)/2.19081589410447168e+03 ; } + else if ( 0.440 < x ) { vEBReftRight = 0.0 ; } + else { vEBReftRight = 0.0 ; } + + return vEBReftRight ; + +} diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEE.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEE.cc new file mode 100644 index 0000000000000..e0f28b9ab7882 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEE.cc @@ -0,0 +1,63 @@ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Mon Feb 04 10:45:16 EET 2013 +// + +#include "TMath.h" + +double EECentral(double x){ + + double vEECentral = 0.0 ; + + if ( x <= 0.195 ) { vEECentral = 0.0 ; } + else if ( 0.195 < x && x <= 0.440 ) { vEECentral = (-30295.4+562760*x-4.04967e+06*x*x+1.40276e+07*x*x*x-2.33108e+07*x*x*x*x+1.50243e+07*x*x*x*x*x)/9.44506089594767786e+02 ; } + else if ( 0.440 < x && x <= 0.840 ) { vEECentral = (-34683.3+274011*x-749408*x*x+895482*x*x*x-396108*x*x*x*x)/9.44506089594767786e+02 ; } + else if ( 0.840 < x && x <= 0.875 ) { vEECentral = (4.7355575e+06-1.6268056e+07*x+1.8629316e+07*x*x-7.1113915e+06*x*x*x)/9.44506089594767786e+02 ; } + else if ( 0.875 < x ) { vEECentral = 0.0 ; } + else { vEECentral = 0.0 ; } + + return vEECentral ; + +} + +double EEDiagonal(double x){ + + double vEEDiagonal = 0.0 ; + + if ( 0.000 < x && x <= 0.015 ) { vEEDiagonal = TMath::Landau(x,8.25505e-03,3.10387e-03,1)*1.68601977536835489e+03/1.86234137068993937e+03 ; } + else if ( 0.015 < x && x <= 0.150 ) { vEEDiagonal = TMath::Landau(x,-5.58560e-04,2.44735e-03,1)*4.88463235185936264e+03/1.86234137068993937e+03 ; } + else if ( 0.150 < x && x <= 0.400 ) { vEEDiagonal = (7416.66-114653*x+763877*x*x-2.57767e+06*x*x*x+4.28872e+06*x*x*x*x-2.79218e+06*x*x*x*x*x)/1.86234137068993937e+03 ; } + else if ( 0.400 < x ) { vEEDiagonal = 0.0 ; } + else { vEEDiagonal = 0.0 ; } + + return vEEDiagonal ; + +} + +double EEUpDown(double x){ + + double vEEUpDown = 0.0 ; + + if ( 0.000 < x && x <= 0.015 ) { vEEUpDown = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; } + else if ( 0.015 < x && x <= 0.100 ) { vEEUpDown = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.100 < x && x <= 0.450 ) { vEEUpDown = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.450 < x ) { vEEUpDown = 0.0 ; } + else { vEEUpDown = 0.0 ; } + + return vEEUpDown ; + +} + +double EEReftRight(double x){ + + double vEEReftRight = 0.0 ; + + if ( 0.000 < x && x <= 0.015 ) { vEEReftRight = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; } + else if ( 0.015 < x && x <= 0.100 ) { vEEReftRight = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.100 < x && x <= 0.450 ) { vEEReftRight = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.450 < x ) { vEEReftRight = 0.0 ; } + else { vEEReftRight = 0.0 ; } + + return vEEReftRight ; + +} diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc new file mode 100644 index 0000000000000..37ac44574b2fa --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc @@ -0,0 +1,344 @@ +// -*- C++ -*- +// +// Package: EcalDeadChannelRecoveryAlgos +// Class: EBDeadChannelRecoveryAlgos +// +/**\class EBDeadChannelRecoveryAlgos EBDeadChannelRecoveryAlgos.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc + + Description: + + Implementation: + +*/ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "EcalDeadChannelRecoveryAlgos.cc" code +// Feb 14 2013: Implementation of the criterion to select the "correct" max. cont. crystal. +// + + +// Geometry +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloGeometry.h" +#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" +#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapHardcodedTopology.h" +#include "Geometry/CaloTopology/interface/CaloTopology.h" +#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" +#include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" +//#include "Geometry/Vector/interface/GlobalPoint.h" + +// Reconstruction Classes +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/EcalDetId/interface/EBDetId.h" + +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEB.cc" + +#include +using namespace cms; +using namespace std; + + +EBDeadChannelRecoveryAlgos::EBDeadChannelRecoveryAlgos(const CaloTopology * theCaloTopology) +{ + // now do what ever initialization is needed + calotopo = theCaloTopology; +} + + + + +// +// member functions +// + +// ------------ method called to for each event ------------ +EcalRecHit EBDeadChannelRecoveryAlgos::correct(const EBDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut, bool* AcceptFlag) +{ + // Enumeration to switch from custom names within the 3x3 matrix. + enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; + + double NewEnergy = 0.0; + + double NewEnergy_RelMC = 0.0; + double NewEnergy_RelDC = 0.0; + + double MNxN_RelMC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; + double MNxN_RelDC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; + + double sum8 = 0.0; + + double sum8_RelMC = MakeNxNMatrice_RelMC(Id,hit_collection,MNxN_RelMC,AcceptFlag); + double sum8_RelDC = MakeNxNMatrice_RelDC(Id,hit_collection,MNxN_RelDC,AcceptFlag); + + // Only if "AcceptFlag" is true call the ANN + if ( *AcceptFlag ) { + if (algo_=="NeuralNetworks") { + if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { + + NewEnergy_RelMC = CorrectEBDeadChannelsNN(MNxN_RelMC); + NewEnergy_RelDC = CorrectEBDeadChannelsNN(MNxN_RelDC); + + // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus + // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. + // + double SumMNxN_RelMC = MNxN_RelMC[LU] + MNxN_RelMC[UU] + MNxN_RelMC[RU] + + MNxN_RelMC[LL] + MNxN_RelMC[CC] + MNxN_RelMC[RR] + + MNxN_RelMC[LD] + MNxN_RelMC[DD] + MNxN_RelMC[RD] ; + + double frMNxN_RelMC[9]; for (int i=0; i<9; i++) { frMNxN_RelMC[i] = MNxN_RelMC[i] / SumMNxN_RelMC ; } + + double prMNxN_RelMC = EBDiagonal( frMNxN_RelMC[LU] ) * EBUpDown( frMNxN_RelMC[UU] ) * EBDiagonal( frMNxN_RelMC[RU] ) * + EBReftRight( frMNxN_RelMC[LL] ) * EBCentral( frMNxN_RelMC[CC] ) * EBReftRight( frMNxN_RelMC[RR] ) * + EBDiagonal( frMNxN_RelMC[LD] ) * EBUpDown( frMNxN_RelMC[DD] ) * EBDiagonal( frMNxN_RelMC[RD] ) ; + + double SumMNxN_RelDC = MNxN_RelDC[LU] + MNxN_RelDC[UU] + MNxN_RelDC[RU] + + MNxN_RelDC[LL] + MNxN_RelDC[CC] + MNxN_RelDC[RR] + + MNxN_RelDC[LD] + MNxN_RelDC[DD] + MNxN_RelDC[RD] ; + + double frMNxN_RelDC[9]; for (int i=0; i<9; i++) { frMNxN_RelDC[i] = MNxN_RelDC[i] / SumMNxN_RelDC ; } + + double prMNxN_RelDC = EBDiagonal( frMNxN_RelDC[LU] ) * EBUpDown( frMNxN_RelDC[UU] ) * EBDiagonal( frMNxN_RelDC[RU] ) * + EBReftRight( frMNxN_RelDC[LL] ) * EBCentral( frMNxN_RelDC[CC] ) * EBReftRight( frMNxN_RelDC[RR] ) * + EBDiagonal( frMNxN_RelDC[LD] ) * EBUpDown( frMNxN_RelDC[DD] ) * EBDiagonal( frMNxN_RelDC[RD] ) ; + + if ( prMNxN_RelDC > prMNxN_RelMC ) { NewEnergy = NewEnergy_RelDC ; sum8 = sum8_RelDC ; } + if ( prMNxN_RelDC <= prMNxN_RelMC ) { NewEnergy = NewEnergy_RelMC ; sum8 = sum8_RelMC ; } + + + // If the return value of "CorrectDeadChannelsNN" is one of the followin negative values then + // it corresponds to an error condition. See "CorrectDeadChannelsNN.cc" for possible values. + if ( NewEnergy == -1000000.0 || + NewEnergy == -1000001.0 || + NewEnergy == -2000000.0 || + NewEnergy == -3000000.0 || + NewEnergy == -3000001.0 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } + } + } + } + + // Protect against non physical high values + // From the distribution of (max.cont.xtal / Sum8) we get as limit 5 (hard) and 10 (softer) + // Choose 10 as highest possible energy to be assigned to the dead channel under any scenario. + uint32_t flag = 0; + + if ( NewEnergy > 10.0 * sum8 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } + + EcalRecHit NewHit(Id,NewEnergy,0, flag); + + return NewHit; + +} + + +// ------------ MakeNxNMatrice_RelMC ------------ +double EBDeadChannelRecoveryAlgos::MakeNxNMatrice_RelMC(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { + + // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain + // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). + // Get this 5x5 and locate the Max.Contain.Crystal within. + const CaloSubdetectorTopology* topology=calotopo->getSubdetectorTopology(DetId::Ecal,EcalBarrel); + + std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" + + EBDetId EBCellMax ; // Create a null EBDetId + double EnergyMax = 0.0; + + // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy + // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. + std::vector::const_iterator theCells; + + for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { + + EBDetId EBCell = EBDetId(*theCells); + + if (!EBCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EBCell); + + if ( goS_it != hit_collection->end() && goS_it->energy() >= EnergyMax ) { + + EnergyMax = goS_it->energy(); + EBCellMax = EBCell; + + } + + } else { + + continue; + + } + + } + + // No Max.Cont.Crystal found, return back with no changes. + if ( EBCellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } + + // If the Max.Cont.Crystal found is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. + if ( EBCellMax.ieta() == 85 || EBCellMax.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the Max.Cont.Crystal as reference and get the 3x3 around it. + std::vector NxNaroundMaxCont = topology->getWindow(EBCellMax,3,3); + + // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal + bool dcIn3x3 = false ; + + std::vector::const_iterator testCell; + + for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { + + EBDetId EBtestCell = EBDetId(*testCell); + + if ( itID == EBtestCell ) { dcIn3x3 = true ; } + + } + + // If the "dead" crystal is outside the 3x3 then do nothing. + if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } + + // Define the ieta and iphi steps (zero, plus, minus) + int ietaZ = EBCellMax.ieta() ; + int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; + int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; + + int iphiZ = EBCellMax.iphi() ; + int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; + int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; + + enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; + + for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { + + EBDetId EBitCell = EBDetId(*itCells); + + if (!EBitCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EBitCell); + + if ( goS_it != hit_collection->end() ) { + + if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelMC[RU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[RR] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelMC[RD] = goS_it->energy(); } + + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelMC[UU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[CC] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelMC[DD] = goS_it->energy(); } + + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelMC[LU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[LL] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelMC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + + } + + } else { + + continue; + + } + + } + + // Get the sum of 8 + double ESUMis = 0.0 ; + + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } + + *AcceptFlag=true ; + + return ESUMis; +} + + +// ------------ MakeNxNMatrice_RelDC ------------ +double EBDeadChannelRecoveryAlgos::MakeNxNMatrice_RelDC(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelDC, bool* AcceptFlag) { + + // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. + // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate + // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. + const CaloSubdetectorTopology* topology=calotopo->getSubdetectorTopology(DetId::Ecal,EcalBarrel); + + // If the "dead" crystal is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. + if ( itID.ieta() == 85 || itID.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the "dead" crystal as reference and get the 3x3 around it. + std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); + + // Define the ieta and iphi steps (zero, plus, minus) + int ietaZ = itID.ieta() ; + int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; + int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; + + int iphiZ = itID.iphi() ; + int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; + int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; + + enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; + + for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { + + EBDetId EBitCell = EBDetId(*itCells); + + if (!EBitCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EBitCell); + + if ( goS_it != hit_collection->end() ) { + + if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelDC[RU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[RR] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelDC[RD] = goS_it->energy(); } + + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelDC[UU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[CC] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelDC[DD] = goS_it->energy(); } + + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelDC[LU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[LL] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelDC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + + } + + } else { + + continue; + + } + + } + + // Get the sum of 8 + double ESUMis = 0.0 ; + + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } + + *AcceptFlag=true ; + + return ESUMis; +} + diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc new file mode 100644 index 0000000000000..96230ccde7af8 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc @@ -0,0 +1,343 @@ +// -*- C++ -*- +// +// Package: EcalDeadChannelRecoveryAlgos +// Class: EEDeadChannelRecoveryAlgos +// +/**\class EEDeadChannelRecoveryAlgos EEDeadChannelRecoveryAlgos.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc + + Description: + + Implementation: + +*/ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "EcalDeadChannelRecoveryAlgos.cc" code +// Feb 14 2013: Implementation of the criterion to select the "correct" max. cont. crystal. +// + +// Geometry +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" +#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" +#include "Geometry/CaloGeometry/interface/CaloGeometry.h" +#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" +#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" +#include "Geometry/CaloTopology/interface/EcalEndcapHardcodedTopology.h" +#include "Geometry/CaloTopology/interface/CaloTopology.h" +#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" +#include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" +//#include "Geometry/Vector/interface/GlobalPoint.h" + +// Reconstruction Classes +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/EcalDetId/interface/EEDetId.h" + +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEE.cc" + +#include +using namespace cms; +using namespace std; + + +EEDeadChannelRecoveryAlgos::EEDeadChannelRecoveryAlgos(const CaloTopology * theCaloTopology) +{ + // now do what ever initialization is needed + calotopo = theCaloTopology; +} + + + +// +// member functions +// + +// ------------ method called to for each event ------------ +EcalRecHit EEDeadChannelRecoveryAlgos::correct(const EEDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut, bool* AcceptFlag) +{ + // Enumeration to switch from custom names within the 3x3 matrix. + enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; + + double NewEnergy = 0.0; + + double NewEnergy_RelMC = 0.0; + double NewEnergy_RelDC = 0.0; + + double MNxN_RelMC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; + double MNxN_RelDC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; + + double sum8 = 0.0; + + double sum8_RelMC = MakeNxNMatrice_RelMC(Id,hit_collection,MNxN_RelMC,AcceptFlag); + double sum8_RelDC = MakeNxNMatrice_RelDC(Id,hit_collection,MNxN_RelDC,AcceptFlag); + + // Only if "AcceptFlag" is true call the ANN + if ( *AcceptFlag ) { + if (algo_=="NeuralNetworks") { + if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { + + NewEnergy_RelMC = CorrectEEDeadChannelsNN(MNxN_RelMC); + NewEnergy_RelDC = CorrectEEDeadChannelsNN(MNxN_RelDC); + + // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus + // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. + // + double SumMNxN_RelMC = MNxN_RelMC[LU] + MNxN_RelMC[UU] + MNxN_RelMC[RU] + + MNxN_RelMC[LL] + MNxN_RelMC[CC] + MNxN_RelMC[RR] + + MNxN_RelMC[LD] + MNxN_RelMC[DD] + MNxN_RelMC[RD] ; + + double frMNxN_RelMC[9]; for (int i=0; i<9; i++) { frMNxN_RelMC[i] = MNxN_RelMC[i] / SumMNxN_RelMC ; } + + double prMNxN_RelMC = EEDiagonal( frMNxN_RelMC[LU] ) * EEUpDown( frMNxN_RelMC[UU] ) * EEDiagonal( frMNxN_RelMC[RU] ) * + EEReftRight( frMNxN_RelMC[LL] ) * EECentral( frMNxN_RelMC[CC] ) * EEReftRight( frMNxN_RelMC[RR] ) * + EEDiagonal( frMNxN_RelMC[LD] ) * EEUpDown( frMNxN_RelMC[DD] ) * EEDiagonal( frMNxN_RelMC[RD] ) ; + + double SumMNxN_RelDC = MNxN_RelDC[LU] + MNxN_RelDC[UU] + MNxN_RelDC[RU] + + MNxN_RelDC[LL] + MNxN_RelDC[CC] + MNxN_RelDC[RR] + + MNxN_RelDC[LD] + MNxN_RelDC[DD] + MNxN_RelDC[RD] ; + + double frMNxN_RelDC[9]; for (int i=0; i<9; i++) { frMNxN_RelDC[i] = MNxN_RelDC[i] / SumMNxN_RelDC ; } + + double prMNxN_RelDC = EEDiagonal( frMNxN_RelDC[LU] ) * EEUpDown( frMNxN_RelDC[UU] ) * EEDiagonal( frMNxN_RelDC[RU] ) * + EEReftRight( frMNxN_RelDC[LL] ) * EECentral( frMNxN_RelDC[CC] ) * EEReftRight( frMNxN_RelDC[RR] ) * + EEDiagonal( frMNxN_RelDC[LD] ) * EEUpDown( frMNxN_RelDC[DD] ) * EEDiagonal( frMNxN_RelDC[RD] ) ; + + if ( prMNxN_RelDC > prMNxN_RelMC ) { NewEnergy = NewEnergy_RelDC ; sum8 = sum8_RelDC ; } + if ( prMNxN_RelDC <= prMNxN_RelMC ) { NewEnergy = NewEnergy_RelMC ; sum8 = sum8_RelMC ; } + + + // If the return value of "CorrectDeadChannelsNN" is one of the followin negative values then + // it corresponds to an error condition. See "CorrectDeadChannelsNN.cc" for possible values. + if ( NewEnergy == -1000000.0 || + NewEnergy == -1000001.0 || + NewEnergy == -2000000.0 || + NewEnergy == -3000000.0 || + NewEnergy == -3000001.0 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } + } + } + } + + // Protect against non physical high values + // From the distribution of (max.cont.xtal / Sum8) we get as limit 5 (hard) and 10 (softer) + // Choose 10 as highest possible energy to be assigned to the dead channel under any scenario. + uint32_t flag = 0; + + if ( NewEnergy > 10.0 * sum8 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } + + EcalRecHit NewHit(Id,NewEnergy,0, flag); + + return NewHit; + +} + + + +// ------------ MakeNxNMatrice_RelMC ------------ +double EEDeadChannelRecoveryAlgos::MakeNxNMatrice_RelMC(EEDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { + + // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain + // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). + // Get this 5x5 and locate the Max.Contain.Crystal within. + const CaloSubdetectorTopology* topology=calotopo->getSubdetectorTopology(DetId::Ecal,EcalEndcap); + + std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" + + EEDetId EECellMax ; // Create a null EEDetId + double EnergyMax = 0.0; + + // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy + // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. + std::vector::const_iterator theCells; + + for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { + + EEDetId EECell = EEDetId(*theCells); + + if (!EECell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EECell); + + if ( goS_it != hit_collection->end() && goS_it->energy() >= EnergyMax ) { + + EnergyMax = goS_it->energy(); + EECellMax = EECell; + + } + + } else { + + continue; + + } + + } + + // No Max.Cont.Crystal found, return back with no changes. + if ( EECellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } + + // If the Max.Cont.Crystal found is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. + if ( EEDetId::isNextToRingBoundary(EECellMax) ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the Max.Cont.Crystal as reference and get the 3x3 around it. + std::vector NxNaroundMaxCont = topology->getWindow(EECellMax,3,3); + + // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal + bool dcIn3x3 = false ; + + std::vector::const_iterator testCell; + + for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { + + EEDetId EEtestCell = EEDetId(*testCell); + + if ( itID == EEtestCell ) { dcIn3x3 = true ; } + + } + + // If the "dead" crystal is outside the 3x3 then do nothing. + if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } + + // Define the ix and iy steps (zero, plus, minus) + int ixZ = EECellMax.ix() ; + int ixP = ixZ + 1 ; + int ixN = ixZ - 1 ; + + int iyZ = EECellMax.iy() ; + int iyP = iyZ + 1 ; + int iyN = iyZ - 1 ; + + enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; + + for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { + + EEDetId EEitCell = EEDetId(*itCells); + + if (!EEitCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EEitCell); + + if ( goS_it != hit_collection->end() ) { + + if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelMC[RU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelMC[RR] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelMC[RD] = goS_it->energy(); } + + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelMC[UU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelMC[CC] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelMC[DD] = goS_it->energy(); } + + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelMC[LU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelMC[LL] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelMC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + + } + + } else { + + continue; + + } + + } + + // Get the sum of 8 + double ESUMis = 0.0 ; + + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } + + *AcceptFlag=true ; + + return ESUMis; +} + + +// ------------ MakeNxNMatrice_RelDC ------------ +double EEDeadChannelRecoveryAlgos::MakeNxNMatrice_RelDC(EEDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelDC, bool* AcceptFlag) { + + // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. + // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate + // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. + const CaloSubdetectorTopology* topology=calotopo->getSubdetectorTopology(DetId::Ecal,EcalEndcap); + + // If the "dead" crystal is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. + if ( EEDetId::isNextToRingBoundary(itID) ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the "dead" crystal as reference and get the 3x3 around it. + std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); + + // Define the ix and iy steps (zero, plus, minus) + int ixZ = itID.ix() ; + int ixP = ixZ + 1 ; + int ixN = ixZ - 1 ; + + int iyZ = itID.iy() ; + int iyP = iyZ + 1 ; + int iyN = iyZ - 1 ; + + enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; + + for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { + + EEDetId EEitCell = EEDetId(*itCells); + + if (!EEitCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EEitCell); + + if ( goS_it != hit_collection->end() ) { + + if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelDC[RU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelDC[RR] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelDC[RD] = goS_it->energy(); } + + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelDC[UU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelDC[CC] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelDC[DD] = goS_it->energy(); } + + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelDC[LU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelDC[LL] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelDC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + + } + + } else { + + continue; + + } + + } + + // Get the sum of 8 + double ESUMis = 0.0 ; + + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } + + *AcceptFlag=true ; + + return ESUMis; +} + diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc deleted file mode 100644 index 27930de024585..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc +++ /dev/null @@ -1,239 +0,0 @@ -// -*- C++ -*- -// -// Package: EcalDeadChannelRecoveryAlgos -// Class: EcalDeadChannelRecoveryAlgos -// -/**\class EcalDeadChannelRecoveryAlgos EcalDeadChannelRecoveryAlgos.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Georgios Daskalakis -// Created: Thu Apr 12 17:02:06 CEST 2007 -// -// May 4th 2007 S. Beauceron : modification of MakeNxNMatrice in order to use vectors -// - - - -// Geometry -#include "Geometry/Records/interface/IdealGeometryRecord.h" -#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" -#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" -#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" -#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" -#include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" -//#include "Geometry/Vector/interface/GlobalPoint.h" - -// Reconstruction Classes -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/EcalDetId/interface/EBDetId.h" - -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectDeadChannelsClassic.cc" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectDeadChannelsNN.cc" - -#include -using namespace cms; -using namespace std; - - -EcalDeadChannelRecoveryAlgos::EcalDeadChannelRecoveryAlgos(const CaloTopology * theCaloTopology) -//EcalDeadChannelRecoveryAlgos::EcalDeadChannelRecoveryAlgos(const edm::ESHandle & theCaloTopology) -{ - //now do what ever initialization is needed - calotopo = theCaloTopology; -} - - -EcalDeadChannelRecoveryAlgos::~EcalDeadChannelRecoveryAlgos() -{ - - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) - -} - - -// -// member functions -// - -// ------------ method called to for each event ------------ -EcalRecHit EcalDeadChannelRecoveryAlgos::correct(const EBDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut) -{ - double NewEnergy=0.0; - - double MNxN[121]; - int IndDeadChannel[1]={-1}; - - double sum8 = MakeNxNMatrice(Id,hit_collection,IndDeadChannel,MNxN); - - if(algo_=="Spline"){ - - if(sum8>Sum8Cut){ - if(IndDeadChannel[0]>0)NewEnergy = CorrectDeadChannelsClassic(MNxN,Id.ieta()); - } - }else if(algo_=="NeuralNetworks"){ - if(sum8>Sum8Cut){ - if(IndDeadChannel[0]>0)NewEnergy = CorrectDeadChannelsNN(MNxN); - } - } - - // protect against non physical high values - // < sum(energy in neighbours) > = 0.8 * xtal with maximum energy - // => can choose 5 as highest possible energy to be assigned to - // the dead channel - uint32_t flag = 0; - if ( NewEnergy > 5. * sum8 ) { - NewEnergy = 0; - //flag = EcalRecHit::kDead; - } - - EcalRecHit NewHit(Id,NewEnergy,0, flag); - return NewHit; - -} - -// FIXME -- temporary backward compatibility -EcalRecHit EcalDeadChannelRecoveryAlgos::Correct(const EBDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut) -{ - return correct(Id, hit_collection, algo_, Sum8Cut); -} - -//============================================================================================================== -//============================================================================================================== -//============================================================================================================== -//============================================================================================================== - - - -double EcalDeadChannelRecoveryAlgos::MakeNxNMatrice(EBDetId itID,const EcalRecHitCollection* hit_collection, int *IndDeadChannel, double *MNxN){ - - // std::cout<<" In MakeNxNMatrice "< NxNaroundMaxCont = topology->getWindow(EBCellMax,FixedSize,FixedSize); - - double ESUMis=0.0; - int theIndex=0; - - std::vector::const_iterator itCells; - for(itCells=NxNaroundMaxCont.begin();itCellsfind(EBitCell); - if( goS_it != hit_collection->end() ) Energy=goS_it->energy(); - } - - // std::cout<<"Around DC we have eta,phi,E "<0 )ietaCorr= -1; - if((CReta * EBCellMax.ieta()) < 0 && EBCellMax.ieta()<0 )ietaCorr= 1; - if((CReta * EBCellMax.ieta()) > 0 )ietaCorr= 0; - int ieta = -( (CReta -ietaCorr) - EBCellMax.ieta() ) + int((FixedSize - 1)/2); - - int iphiCorr = 0; - if((CRphi - EBCellMax.iphi())> 50)iphiCorr= 360; - if((CRphi - EBCellMax.iphi())<-50)iphiCorr=-360; - int iphi = CRphi - EBCellMax.iphi() - iphiCorr + int((FixedSize - 1)/2); - - int MIndex = ieta+iphi*FixedSize; - if(abs(CReta)<=85) - MNxN[MIndex]=Energy; - if(EBitCell == itID)IndDeadChannel[0]= MIndex; - - - //============ - - - - - //We add up the energy in 5x5 around the MaxCont to decide if we will correct for DCs - // if(theIndex>=36 && theIndex<=40)ESUMis += Energy; - //SB: Modify to sum8 only - if(theIndex>=48 && theIndex<=50)ESUMis += Energy; - if(theIndex>=59 && theIndex<=61)ESUMis += Energy; - if(theIndex>=70 && theIndex<=72)ESUMis += Energy; - // if(theIndex>=80 && theIndex<=84)ESUMis += Energy; - theIndex++; - } - // std::cout<<"Around MaxCont Collected Energy in 5x5 is = "<< ESUMis < + + +double ccNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 1.15492)/1.68616; + input1 = (in1 - 1.14956)/1.69316; + input2 = (in2 - 1.89563)/1.49913; + input3 = (in3 - 1.90666)/1.49442; + input4 = (in4 - 0.3065)/1.46726; + input5 = (in5 - 0.318454)/1.50742; + input6 = (in6 - 0.305354)/1.51455; + input7 = (in7 - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x605af50(); + default: + return 0.; + } +} + +double ccNNEB::Value(int index, double* input) { + input0 = (input[0] - 1.15492)/1.68616; + input1 = (input[1] - 1.14956)/1.69316; + input2 = (input[2] - 1.89563)/1.49913; + input3 = (input[3] - 1.90666)/1.49442; + input4 = (input[4] - 0.3065)/1.46726; + input5 = (input[5] - 0.318454)/1.50742; + input6 = (input[6] - 0.305354)/1.51455; + input7 = (input[7] - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x605af50(); + default: + return 0.; + } +} + + +double ccNNEB::neuron0x60567d0() { + return input0; +} + +double ccNNEB::neuron0x6056b10() { + return input1; +} + +double ccNNEB::neuron0x6056e50() { + return input2; +} + +double ccNNEB::neuron0x6057190() { + return input3; +} + +double ccNNEB::neuron0x60574d0() { + return input4; +} + +double ccNNEB::neuron0x6057810() { + return input5; +} + +double ccNNEB::neuron0x6057b50() { + return input6; +} + +double ccNNEB::neuron0x6057e90() { + return input7; +} + +double ccNNEB::input0x6058300() { + double input = -0.539159; + input += synapse0x5fb71d0(); + input += synapse0x605f3d0(); + input += synapse0x60585b0(); + input += synapse0x60585f0(); + input += synapse0x6058630(); + input += synapse0x6058670(); + input += synapse0x60586b0(); + input += synapse0x60586f0(); + return input; +} + +double ccNNEB::neuron0x6058300() { + double input = input0x6058300(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x6058730() { + double input = 1.51054; + input += synapse0x6058a70(); + input += synapse0x6058ab0(); + input += synapse0x6058af0(); + input += synapse0x6058b30(); + input += synapse0x6058b70(); + input += synapse0x6058bb0(); + input += synapse0x6058bf0(); + input += synapse0x6058c30(); + return input; +} + +double ccNNEB::neuron0x6058730() { + double input = input0x6058730(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x6058c70() { + double input = -0.0379268; + input += synapse0x6058fb0(); + input += synapse0x58b5e90(); + input += synapse0x58b5ed0(); + input += synapse0x6059100(); + input += synapse0x6059140(); + input += synapse0x6059180(); + input += synapse0x60591c0(); + input += synapse0x6059200(); + return input; +} + +double ccNNEB::neuron0x6058c70() { + double input = input0x6058c70(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x6059240() { + double input = 0.463642; + input += synapse0x6059580(); + input += synapse0x60595c0(); + input += synapse0x6059600(); + input += synapse0x6059640(); + input += synapse0x6059680(); + input += synapse0x60596c0(); + input += synapse0x6059700(); + input += synapse0x6059740(); + return input; +} + +double ccNNEB::neuron0x6059240() { + double input = input0x6059240(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x6059780() { + double input = -1.54839; + input += synapse0x6059ac0(); + input += synapse0x6056700(); + input += synapse0x605f410(); + input += synapse0x58b49d0(); + input += synapse0x6058ff0(); + input += synapse0x6059030(); + input += synapse0x6059070(); + input += synapse0x60590b0(); + return input; +} + +double ccNNEB::neuron0x6059780() { + double input = input0x6059780(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x6059b00() { + double input = -1.25221; + input += synapse0x6059e40(); + input += synapse0x6059e80(); + input += synapse0x6059ec0(); + input += synapse0x6059f00(); + input += synapse0x6059f40(); + input += synapse0x6059f80(); + input += synapse0x6059fc0(); + input += synapse0x605a000(); + return input; +} + +double ccNNEB::neuron0x6059b00() { + double input = input0x6059b00(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x605a040() { + double input = -0.0674997; + input += synapse0x605a380(); + input += synapse0x605a3c0(); + input += synapse0x605a400(); + input += synapse0x605a440(); + input += synapse0x605a480(); + input += synapse0x605a4c0(); + input += synapse0x605a500(); + input += synapse0x605a540(); + return input; +} + +double ccNNEB::neuron0x605a040() { + double input = input0x605a040(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x605a580() { + double input = -2.0379; + input += synapse0x605a8c0(); + input += synapse0x605a900(); + input += synapse0x605a940(); + input += synapse0x605a980(); + input += synapse0x605a9c0(); + input += synapse0x605aa00(); + input += synapse0x605aa40(); + input += synapse0x605aa80(); + return input; +} + +double ccNNEB::neuron0x605a580() { + double input = input0x605a580(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x605aac0() { + double input = 2.45266; + input += synapse0x57a3df0(); + input += synapse0x57a3e30(); + input += synapse0x58cf7a0(); + input += synapse0x58cf7e0(); + input += synapse0x58cf820(); + input += synapse0x58cf860(); + input += synapse0x58cf8a0(); + input += synapse0x58cf8e0(); + return input; +} + +double ccNNEB::neuron0x605aac0() { + double input = input0x605aac0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x605b320() { + double input = 0.575118; + input += synapse0x605b5d0(); + input += synapse0x605b610(); + input += synapse0x605b650(); + input += synapse0x605b690(); + input += synapse0x605b6d0(); + input += synapse0x605b710(); + input += synapse0x605b750(); + input += synapse0x605b790(); + return input; +} + +double ccNNEB::neuron0x605b320() { + double input = input0x605b320(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x605b7d0() { + double input = -0.834104; + input += synapse0x605bb10(); + input += synapse0x605bb50(); + input += synapse0x605bb90(); + input += synapse0x605bbd0(); + input += synapse0x605bc10(); + input += synapse0x605bc50(); + input += synapse0x605bc90(); + input += synapse0x605bcd0(); + input += synapse0x605bd10(); + input += synapse0x605bd50(); + return input; +} + +double ccNNEB::neuron0x605b7d0() { + double input = input0x605b7d0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x605bd90() { + double input = -0.69539; + input += synapse0x605c0d0(); + input += synapse0x605c110(); + input += synapse0x605c150(); + input += synapse0x605c190(); + input += synapse0x605c1d0(); + input += synapse0x605c210(); + input += synapse0x605c250(); + input += synapse0x605c290(); + input += synapse0x605c2d0(); + input += synapse0x605c310(); + return input; +} + +double ccNNEB::neuron0x605bd90() { + double input = input0x605bd90(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x605c350() { + double input = -0.879929; + input += synapse0x605c690(); + input += synapse0x605c6d0(); + input += synapse0x605c710(); + input += synapse0x605c750(); + input += synapse0x605c790(); + input += synapse0x605c7d0(); + input += synapse0x605c810(); + input += synapse0x605c850(); + input += synapse0x605c890(); + input += synapse0x605c8d0(); + return input; +} + +double ccNNEB::neuron0x605c350() { + double input = input0x605c350(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x605c910() { + double input = 0.56029; + input += synapse0x605cc50(); + input += synapse0x605cc90(); + input += synapse0x605ccd0(); + input += synapse0x605cd10(); + input += synapse0x605cd50(); + input += synapse0x605cd90(); + input += synapse0x605cdd0(); + input += synapse0x605ce10(); + input += synapse0x605ce50(); + input += synapse0x605ce90(); + return input; +} + +double ccNNEB::neuron0x605c910() { + double input = input0x605c910(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x605ced0() { + double input = 0.386744; + input += synapse0x605d210(); + input += synapse0x605d250(); + input += synapse0x605d290(); + input += synapse0x605d2d0(); + input += synapse0x605d310(); + input += synapse0x605d350(); + input += synapse0x605d390(); + input += synapse0x605d3d0(); + input += synapse0x605d410(); + input += synapse0x605af10(); + return input; +} + +double ccNNEB::neuron0x605ced0() { + double input = input0x605ced0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEB::input0x605af50() { + double input = 0.868956; + input += synapse0x605b290(); + input += synapse0x605b2d0(); + input += synapse0x60581d0(); + input += synapse0x6058210(); + input += synapse0x6058250(); + return input; +} + +double ccNNEB::neuron0x605af50() { + double input = input0x605af50(); + return (input * 1)+0; +} + +double ccNNEB::synapse0x5fb71d0() { + return (neuron0x60567d0()*-0.0699207); +} + +double ccNNEB::synapse0x605f3d0() { + return (neuron0x6056b10()*1.41084); +} + +double ccNNEB::synapse0x60585b0() { + return (neuron0x6056e50()*0.0620302); +} + +double ccNNEB::synapse0x60585f0() { + return (neuron0x6057190()*0.0458559); +} + +double ccNNEB::synapse0x6058630() { + return (neuron0x60574d0()*0.535032); +} + +double ccNNEB::synapse0x6058670() { + return (neuron0x6057810()*0.522631); +} + +double ccNNEB::synapse0x60586b0() { + return (neuron0x6057b50()*1.0977); +} + +double ccNNEB::synapse0x60586f0() { + return (neuron0x6057e90()*0.623202); +} + +double ccNNEB::synapse0x6058a70() { + return (neuron0x60567d0()*1.58823); +} + +double ccNNEB::synapse0x6058ab0() { + return (neuron0x6056b10()*2.37636); +} + +double ccNNEB::synapse0x6058af0() { + return (neuron0x6056e50()*-0.234837); +} + +double ccNNEB::synapse0x6058b30() { + return (neuron0x6057190()*0.0246192); +} + +double ccNNEB::synapse0x6058b70() { + return (neuron0x60574d0()*-1.50138); +} + +double ccNNEB::synapse0x6058bb0() { + return (neuron0x6057810()*0.0862727); +} + +double ccNNEB::synapse0x6058bf0() { + return (neuron0x6057b50()*0.0195872); +} + +double ccNNEB::synapse0x6058c30() { + return (neuron0x6057e90()*-1.47387); +} + +double ccNNEB::synapse0x6058fb0() { + return (neuron0x60567d0()*0.795657); +} + +double ccNNEB::synapse0x58b5e90() { + return (neuron0x6056b10()*0.276677); +} + +double ccNNEB::synapse0x58b5ed0() { + return (neuron0x6056e50()*-0.0981622); +} + +double ccNNEB::synapse0x6059100() { + return (neuron0x6057190()*0.192442); +} + +double ccNNEB::synapse0x6059140() { + return (neuron0x60574d0()*0.222694); +} + +double ccNNEB::synapse0x6059180() { + return (neuron0x6057810()*1.06613); +} + +double ccNNEB::synapse0x60591c0() { + return (neuron0x6057b50()*0.514147); +} + +double ccNNEB::synapse0x6059200() { + return (neuron0x6057e90()*0.145554); +} + +double ccNNEB::synapse0x6059580() { + return (neuron0x60567d0()*0.627626); +} + +double ccNNEB::synapse0x60595c0() { + return (neuron0x6056b10()*0.437069); +} + +double ccNNEB::synapse0x6059600() { + return (neuron0x6056e50()*0.264892); +} + +double ccNNEB::synapse0x6059640() { + return (neuron0x6057190()*0.190372); +} + +double ccNNEB::synapse0x6059680() { + return (neuron0x60574d0()*-1.01744); +} + +double ccNNEB::synapse0x60596c0() { + return (neuron0x6057810()*-0.611537); +} + +double ccNNEB::synapse0x6059700() { + return (neuron0x6057b50()*-0.0684924); +} + +double ccNNEB::synapse0x6059740() { + return (neuron0x6057e90()*-0.441747); +} + +double ccNNEB::synapse0x6059ac0() { + return (neuron0x60567d0()*-0.936029); +} + +double ccNNEB::synapse0x6056700() { + return (neuron0x6056b10()*0.281874); +} + +double ccNNEB::synapse0x605f410() { + return (neuron0x6056e50()*-0.559508); +} + +double ccNNEB::synapse0x58b49d0() { + return (neuron0x6057190()*0.333256); +} + +double ccNNEB::synapse0x6058ff0() { + return (neuron0x60574d0()*0.898024); +} + +double ccNNEB::synapse0x6059030() { + return (neuron0x6057810()*0.700511); +} + +double ccNNEB::synapse0x6059070() { + return (neuron0x6057b50()*-1.07369); +} + +double ccNNEB::synapse0x60590b0() { + return (neuron0x6057e90()*-0.0370767); +} + +double ccNNEB::synapse0x6059e40() { + return (neuron0x60567d0()*0.464066); +} + +double ccNNEB::synapse0x6059e80() { + return (neuron0x6056b10()*-0.470511); +} + +double ccNNEB::synapse0x6059ec0() { + return (neuron0x6056e50()*0.165462); +} + +double ccNNEB::synapse0x6059f00() { + return (neuron0x6057190()*0.0436253); +} + +double ccNNEB::synapse0x6059f40() { + return (neuron0x60574d0()*-0.565435); +} + +double ccNNEB::synapse0x6059f80() { + return (neuron0x6057810()*0.386292); +} + +double ccNNEB::synapse0x6059fc0() { + return (neuron0x6057b50()*0.468514); +} + +double ccNNEB::synapse0x605a000() { + return (neuron0x6057e90()*-1.09823); +} + +double ccNNEB::synapse0x605a380() { + return (neuron0x60567d0()*-0.830445); +} + +double ccNNEB::synapse0x605a3c0() { + return (neuron0x6056b10()*-0.856368); +} + +double ccNNEB::synapse0x605a400() { + return (neuron0x6056e50()*-0.324607); +} + +double ccNNEB::synapse0x605a440() { + return (neuron0x6057190()*-0.479792); +} + +double ccNNEB::synapse0x605a480() { + return (neuron0x60574d0()*-0.310053); +} + +double ccNNEB::synapse0x605a4c0() { + return (neuron0x6057810()*-0.211249); +} + +double ccNNEB::synapse0x605a500() { + return (neuron0x6057b50()*-0.663044); +} + +double ccNNEB::synapse0x605a540() { + return (neuron0x6057e90()*-0.891015); +} + +double ccNNEB::synapse0x605a8c0() { + return (neuron0x60567d0()*0.380276); +} + +double ccNNEB::synapse0x605a900() { + return (neuron0x6056b10()*0.496164); +} + +double ccNNEB::synapse0x605a940() { + return (neuron0x6056e50()*-0.396836); +} + +double ccNNEB::synapse0x605a980() { + return (neuron0x6057190()*-0.67967); +} + +double ccNNEB::synapse0x605a9c0() { + return (neuron0x60574d0()*0.668008); +} + +double ccNNEB::synapse0x605aa00() { + return (neuron0x6057810()*-0.598866); +} + +double ccNNEB::synapse0x605aa40() { + return (neuron0x6057b50()*-0.646267); +} + +double ccNNEB::synapse0x605aa80() { + return (neuron0x6057e90()*0.397705); +} + +double ccNNEB::synapse0x57a3df0() { + return (neuron0x60567d0()*1.48193); +} + +double ccNNEB::synapse0x57a3e30() { + return (neuron0x6056b10()*0.140198); +} + +double ccNNEB::synapse0x58cf7a0() { + return (neuron0x6056e50()*-0.126392); +} + +double ccNNEB::synapse0x58cf7e0() { + return (neuron0x6057190()*-0.202857); +} + +double ccNNEB::synapse0x58cf820() { + return (neuron0x60574d0()*0.457037); +} + +double ccNNEB::synapse0x58cf860() { + return (neuron0x6057810()*-0.0149029); +} + +double ccNNEB::synapse0x58cf8a0() { + return (neuron0x6057b50()*-0.200188); +} + +double ccNNEB::synapse0x58cf8e0() { + return (neuron0x6057e90()*-0.131662); +} + +double ccNNEB::synapse0x605b5d0() { + return (neuron0x60567d0()*1.24678); +} + +double ccNNEB::synapse0x605b610() { + return (neuron0x6056b10()*0.100963); +} + +double ccNNEB::synapse0x605b650() { + return (neuron0x6056e50()*0.252164); +} + +double ccNNEB::synapse0x605b690() { + return (neuron0x6057190()*0.470284); +} + +double ccNNEB::synapse0x605b6d0() { + return (neuron0x60574d0()*1.31056); +} + +double ccNNEB::synapse0x605b710() { + return (neuron0x6057810()*1.2156); +} + +double ccNNEB::synapse0x605b750() { + return (neuron0x6057b50()*0.579176); +} + +double ccNNEB::synapse0x605b790() { + return (neuron0x6057e90()*0.94709); +} + +double ccNNEB::synapse0x605bb10() { + return (neuron0x6058300()*-0.207301); +} + +double ccNNEB::synapse0x605bb50() { + return (neuron0x6058730()*0.395181); +} + +double ccNNEB::synapse0x605bb90() { + return (neuron0x6058c70()*0.0484047); +} + +double ccNNEB::synapse0x605bbd0() { + return (neuron0x6059240()*-1.1885); +} + +double ccNNEB::synapse0x605bc10() { + return (neuron0x6059780()*-0.0594185); +} + +double ccNNEB::synapse0x605bc50() { + return (neuron0x6059b00()*-1.59126); +} + +double ccNNEB::synapse0x605bc90() { + return (neuron0x605a040()*-0.136816); +} + +double ccNNEB::synapse0x605bcd0() { + return (neuron0x605a580()*-0.647761); +} + +double ccNNEB::synapse0x605bd10() { + return (neuron0x605aac0()*0.974329); +} + +double ccNNEB::synapse0x605bd50() { + return (neuron0x605b320()*0.237124); +} + +double ccNNEB::synapse0x605c0d0() { + return (neuron0x6058300()*-0.306592); +} + +double ccNNEB::synapse0x605c110() { + return (neuron0x6058730()*1.53717); +} + +double ccNNEB::synapse0x605c150() { + return (neuron0x6058c70()*-0.417984); +} + +double ccNNEB::synapse0x605c190() { + return (neuron0x6059240()*-2.71232); +} + +double ccNNEB::synapse0x605c1d0() { + return (neuron0x6059780()*-1.17791); +} + +double ccNNEB::synapse0x605c210() { + return (neuron0x6059b00()*-1.59499); +} + +double ccNNEB::synapse0x605c250() { + return (neuron0x605a040()*-0.572163); +} + +double ccNNEB::synapse0x605c290() { + return (neuron0x605a580()*-1.13002); +} + +double ccNNEB::synapse0x605c2d0() { + return (neuron0x605aac0()*1.7962); +} + +double ccNNEB::synapse0x605c310() { + return (neuron0x605b320()*0.39981); +} + +double ccNNEB::synapse0x605c690() { + return (neuron0x6058300()*-0.0395236); +} + +double ccNNEB::synapse0x605c6d0() { + return (neuron0x6058730()*0.94403); +} + +double ccNNEB::synapse0x605c710() { + return (neuron0x6058c70()*-0.448583); +} + +double ccNNEB::synapse0x605c750() { + return (neuron0x6059240()*-2.71095); +} + +double ccNNEB::synapse0x605c790() { + return (neuron0x6059780()*-1.14823); +} + +double ccNNEB::synapse0x605c7d0() { + return (neuron0x6059b00()*-1.33223); +} + +double ccNNEB::synapse0x605c810() { + return (neuron0x605a040()*-0.671872); +} + +double ccNNEB::synapse0x605c850() { + return (neuron0x605a580()*-1.26958); +} + +double ccNNEB::synapse0x605c890() { + return (neuron0x605aac0()*2.30656); +} + +double ccNNEB::synapse0x605c8d0() { + return (neuron0x605b320()*-0.383468); +} + +double ccNNEB::synapse0x605cc50() { + return (neuron0x6058300()*0.146573); +} + +double ccNNEB::synapse0x605cc90() { + return (neuron0x6058730()*1.58013); +} + +double ccNNEB::synapse0x605ccd0() { + return (neuron0x6058c70()*-0.619888); +} + +double ccNNEB::synapse0x605cd10() { + return (neuron0x6059240()*0.990389); +} + +double ccNNEB::synapse0x605cd50() { + return (neuron0x6059780()*-0.785703); +} + +double ccNNEB::synapse0x605cd90() { + return (neuron0x6059b00()*-1.15902); +} + +double ccNNEB::synapse0x605cdd0() { + return (neuron0x605a040()*-0.218559); +} + +double ccNNEB::synapse0x605ce10() { + return (neuron0x605a580()*-0.805096); +} + +double ccNNEB::synapse0x605ce50() { + return (neuron0x605aac0()*1.00191); +} + +double ccNNEB::synapse0x605ce90() { + return (neuron0x605b320()*-0.73646); +} + +double ccNNEB::synapse0x605d210() { + return (neuron0x6058300()*1.10806); +} + +double ccNNEB::synapse0x605d250() { + return (neuron0x6058730()*-0.320801); +} + +double ccNNEB::synapse0x605d290() { + return (neuron0x6058c70()*0.0299629); +} + +double ccNNEB::synapse0x605d2d0() { + return (neuron0x6059240()*0.160331); +} + +double ccNNEB::synapse0x605d310() { + return (neuron0x6059780()*0.333674); +} + +double ccNNEB::synapse0x605d350() { + return (neuron0x6059b00()*0.6104); +} + +double ccNNEB::synapse0x605d390() { + return (neuron0x605a040()*-0.690923); +} + +double ccNNEB::synapse0x605d3d0() { + return (neuron0x605a580()*0.800533); +} + +double ccNNEB::synapse0x605d410() { + return (neuron0x605aac0()*-0.335794); +} + +double ccNNEB::synapse0x605af10() { + return (neuron0x605b320()*-0.00422044); +} + +double ccNNEB::synapse0x605b290() { + return (neuron0x605b7d0()*1.76016); +} + +double ccNNEB::synapse0x605b2d0() { + return (neuron0x605bd90()*3.82695); +} + +double ccNNEB::synapse0x60581d0() { + return (neuron0x605c350()*3.97341); +} + +double ccNNEB::synapse0x6058210() { + return (neuron0x605c910()*1.94878); +} + +double ccNNEB::synapse0x6058250() { + return (neuron0x605ced0()*-1.83486); +} + + + +double ddNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.13794)/1.30956; + input1 = (in1 - 1.15492)/1.68616; + input2 = (in2 - 1.14956)/1.69316; + input3 = (in3 - 1.89563)/1.49913; + input4 = (in4 - 0.3065)/1.46726; + input5 = (in5 - 0.318454)/1.50742; + input6 = (in6 - 0.305354)/1.51455; + input7 = (in7 - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x4a4af10(); + default: + return 0.; + } +} + +double ddNNEB::Value(int index, double* input) { + input0 = (input[0] - 4.13794)/1.30956; + input1 = (input[1] - 1.15492)/1.68616; + input2 = (input[2] - 1.14956)/1.69316; + input3 = (input[3] - 1.89563)/1.49913; + input4 = (input[4] - 0.3065)/1.46726; + input5 = (input[5] - 0.318454)/1.50742; + input6 = (input[6] - 0.305354)/1.51455; + input7 = (input[7] - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x4a4af10(); + default: + return 0.; + } +} + +double ddNNEB::neuron0x4a46790() { + return input0; +} + +double ddNNEB::neuron0x4a46ad0() { + return input1; +} + +double ddNNEB::neuron0x4a46e10() { + return input2; +} + +double ddNNEB::neuron0x4a47150() { + return input3; +} + +double ddNNEB::neuron0x4a47490() { + return input4; +} + +double ddNNEB::neuron0x4a477d0() { + return input5; +} + +double ddNNEB::neuron0x4a47b10() { + return input6; +} + +double ddNNEB::neuron0x4a47e50() { + return input7; +} + +double ddNNEB::input0x4a482c0() { + double input = -2.63524; + input += synapse0x49a7190(); + input += synapse0x4a4f390(); + input += synapse0x4a48570(); + input += synapse0x4a485b0(); + input += synapse0x4a485f0(); + input += synapse0x4a48630(); + input += synapse0x4a48670(); + input += synapse0x4a486b0(); + return input; +} + +double ddNNEB::neuron0x4a482c0() { + double input = input0x4a482c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a486f0() { + double input = 1.91074; + input += synapse0x4a48a30(); + input += synapse0x4a48a70(); + input += synapse0x4a48ab0(); + input += synapse0x4a48af0(); + input += synapse0x4a48b30(); + input += synapse0x4a48b70(); + input += synapse0x4a48bb0(); + input += synapse0x4a48bf0(); + return input; +} + +double ddNNEB::neuron0x4a486f0() { + double input = input0x4a486f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a48c30() { + double input = -0.128303; + input += synapse0x4a48f70(); + input += synapse0x42a5e50(); + input += synapse0x42a5e90(); + input += synapse0x4a490c0(); + input += synapse0x4a49100(); + input += synapse0x4a49140(); + input += synapse0x4a49180(); + input += synapse0x4a491c0(); + return input; +} + +double ddNNEB::neuron0x4a48c30() { + double input = input0x4a48c30(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a49200() { + double input = -0.0143879; + input += synapse0x4a49540(); + input += synapse0x4a49580(); + input += synapse0x4a495c0(); + input += synapse0x4a49600(); + input += synapse0x4a49640(); + input += synapse0x4a49680(); + input += synapse0x4a496c0(); + input += synapse0x4a49700(); + return input; +} + +double ddNNEB::neuron0x4a49200() { + double input = input0x4a49200(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a49740() { + double input = 1.50607; + input += synapse0x4a49a80(); + input += synapse0x4a466c0(); + input += synapse0x4a4f3d0(); + input += synapse0x42a4990(); + input += synapse0x4a48fb0(); + input += synapse0x4a48ff0(); + input += synapse0x4a49030(); + input += synapse0x4a49070(); + return input; +} + +double ddNNEB::neuron0x4a49740() { + double input = input0x4a49740(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a49ac0() { + double input = 1.02996; + input += synapse0x4a49e00(); + input += synapse0x4a49e40(); + input += synapse0x4a49e80(); + input += synapse0x4a49ec0(); + input += synapse0x4a49f00(); + input += synapse0x4a49f40(); + input += synapse0x4a49f80(); + input += synapse0x4a49fc0(); + return input; +} + +double ddNNEB::neuron0x4a49ac0() { + double input = input0x4a49ac0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a4a000() { + double input = 0.911485; + input += synapse0x4a4a340(); + input += synapse0x4a4a380(); + input += synapse0x4a4a3c0(); + input += synapse0x4a4a400(); + input += synapse0x4a4a440(); + input += synapse0x4a4a480(); + input += synapse0x4a4a4c0(); + input += synapse0x4a4a500(); + return input; +} + +double ddNNEB::neuron0x4a4a000() { + double input = input0x4a4a000(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a4a540() { + double input = 1.01528; + input += synapse0x4a4a880(); + input += synapse0x4a4a8c0(); + input += synapse0x4a4a900(); + input += synapse0x4a4a940(); + input += synapse0x4a4a980(); + input += synapse0x4a4a9c0(); + input += synapse0x4a4aa00(); + input += synapse0x4a4aa40(); + return input; +} + +double ddNNEB::neuron0x4a4a540() { + double input = input0x4a4a540(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a4aa80() { + double input = -1.78246; + input += synapse0x4193db0(); + input += synapse0x4193df0(); + input += synapse0x42bf760(); + input += synapse0x42bf7a0(); + input += synapse0x42bf7e0(); + input += synapse0x42bf820(); + input += synapse0x42bf860(); + input += synapse0x42bf8a0(); + return input; +} + +double ddNNEB::neuron0x4a4aa80() { + double input = input0x4a4aa80(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a4b2e0() { + double input = -0.164083; + input += synapse0x4a4b590(); + input += synapse0x4a4b5d0(); + input += synapse0x4a4b610(); + input += synapse0x4a4b650(); + input += synapse0x4a4b690(); + input += synapse0x4a4b6d0(); + input += synapse0x4a4b710(); + input += synapse0x4a4b750(); + return input; +} + +double ddNNEB::neuron0x4a4b2e0() { + double input = input0x4a4b2e0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a4b790() { + double input = -1.84156; + input += synapse0x4a4bad0(); + input += synapse0x4a4bb10(); + input += synapse0x4a4bb50(); + input += synapse0x4a4bb90(); + input += synapse0x4a4bbd0(); + input += synapse0x4a4bc10(); + input += synapse0x4a4bc50(); + input += synapse0x4a4bc90(); + input += synapse0x4a4bcd0(); + input += synapse0x4a4bd10(); + return input; +} + +double ddNNEB::neuron0x4a4b790() { + double input = input0x4a4b790(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a4bd50() { + double input = -2.55771; + input += synapse0x4a4c090(); + input += synapse0x4a4c0d0(); + input += synapse0x4a4c110(); + input += synapse0x4a4c150(); + input += synapse0x4a4c190(); + input += synapse0x4a4c1d0(); + input += synapse0x4a4c210(); + input += synapse0x4a4c250(); + input += synapse0x4a4c290(); + input += synapse0x4a4c2d0(); + return input; +} + +double ddNNEB::neuron0x4a4bd50() { + double input = input0x4a4bd50(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a4c310() { + double input = -3.54477; + input += synapse0x4a4c650(); + input += synapse0x4a4c690(); + input += synapse0x4a4c6d0(); + input += synapse0x4a4c710(); + input += synapse0x4a4c750(); + input += synapse0x4a4c790(); + input += synapse0x4a4c7d0(); + input += synapse0x4a4c810(); + input += synapse0x4a4c850(); + input += synapse0x4a4c890(); + return input; +} + +double ddNNEB::neuron0x4a4c310() { + double input = input0x4a4c310(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a4c8d0() { + double input = -1.55382; + input += synapse0x4a4cc10(); + input += synapse0x4a4cc50(); + input += synapse0x4a4cc90(); + input += synapse0x4a4ccd0(); + input += synapse0x4a4cd10(); + input += synapse0x4a4cd50(); + input += synapse0x4a4cd90(); + input += synapse0x4a4cdd0(); + input += synapse0x4a4ce10(); + input += synapse0x4a4ce50(); + return input; +} + +double ddNNEB::neuron0x4a4c8d0() { + double input = input0x4a4c8d0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a4ce90() { + double input = 1.9974; + input += synapse0x4a4d1d0(); + input += synapse0x4a4d210(); + input += synapse0x4a4d250(); + input += synapse0x4a4d290(); + input += synapse0x4a4d2d0(); + input += synapse0x4a4d310(); + input += synapse0x4a4d350(); + input += synapse0x4a4d390(); + input += synapse0x4a4d3d0(); + input += synapse0x4a4aed0(); + return input; +} + +double ddNNEB::neuron0x4a4ce90() { + double input = input0x4a4ce90(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEB::input0x4a4af10() { + double input = -1.41785; + input += synapse0x4a4b250(); + input += synapse0x4a4b290(); + input += synapse0x4a48190(); + input += synapse0x4a481d0(); + input += synapse0x4a48210(); + return input; +} + +double ddNNEB::neuron0x4a4af10() { + double input = input0x4a4af10(); + return (input * 1)+0; +} + +double ddNNEB::synapse0x49a7190() { + return (neuron0x4a46790()*0.542666); +} + +double ddNNEB::synapse0x4a4f390() { + return (neuron0x4a46ad0()*-0.41876); +} + +double ddNNEB::synapse0x4a48570() { + return (neuron0x4a46e10()*0.255798); +} + +double ddNNEB::synapse0x4a485b0() { + return (neuron0x4a47150()*-0.242769); +} + +double ddNNEB::synapse0x4a485f0() { + return (neuron0x4a47490()*0.13839); +} + +double ddNNEB::synapse0x4a48630() { + return (neuron0x4a477d0()*0.565941); +} + +double ddNNEB::synapse0x4a48670() { + return (neuron0x4a47b10()*-0.018932); +} + +double ddNNEB::synapse0x4a486b0() { + return (neuron0x4a47e50()*0.323705); +} + +double ddNNEB::synapse0x4a48a30() { + return (neuron0x4a46790()*0.656695); +} + +double ddNNEB::synapse0x4a48a70() { + return (neuron0x4a46ad0()*1.32388); +} + +double ddNNEB::synapse0x4a48ab0() { + return (neuron0x4a46e10()*-2.49611); +} + +double ddNNEB::synapse0x4a48af0() { + return (neuron0x4a47150()*-0.0410726); +} + +double ddNNEB::synapse0x4a48b30() { + return (neuron0x4a47490()*0.551725); +} + +double ddNNEB::synapse0x4a48b70() { + return (neuron0x4a477d0()*-1.76628); +} + +double ddNNEB::synapse0x4a48bb0() { + return (neuron0x4a47b10()*-0.287117); +} + +double ddNNEB::synapse0x4a48bf0() { + return (neuron0x4a47e50()*1.74831); +} + +double ddNNEB::synapse0x4a48f70() { + return (neuron0x4a46790()*3.05652); +} + +double ddNNEB::synapse0x42a5e50() { + return (neuron0x4a46ad0()*-0.10501); +} + +double ddNNEB::synapse0x42a5e90() { + return (neuron0x4a46e10()*0.267233); +} + +double ddNNEB::synapse0x4a490c0() { + return (neuron0x4a47150()*0.26929); +} + +double ddNNEB::synapse0x4a49100() { + return (neuron0x4a47490()*-0.780574); +} + +double ddNNEB::synapse0x4a49140() { + return (neuron0x4a477d0()*-1.55704); +} + +double ddNNEB::synapse0x4a49180() { + return (neuron0x4a47b10()*-0.300177); +} + +double ddNNEB::synapse0x4a491c0() { + return (neuron0x4a47e50()*-1.07422); +} + +double ddNNEB::synapse0x4a49540() { + return (neuron0x4a46790()*0.496764); +} + +double ddNNEB::synapse0x4a49580() { + return (neuron0x4a46ad0()*0.597019); +} + +double ddNNEB::synapse0x4a495c0() { + return (neuron0x4a46e10()*0.673857); +} + +double ddNNEB::synapse0x4a49600() { + return (neuron0x4a47150()*0.185765); +} + +double ddNNEB::synapse0x4a49640() { + return (neuron0x4a47490()*0.220123); +} + +double ddNNEB::synapse0x4a49680() { + return (neuron0x4a477d0()*1.37324); +} + +double ddNNEB::synapse0x4a496c0() { + return (neuron0x4a47b10()*0.598104); +} + +double ddNNEB::synapse0x4a49700() { + return (neuron0x4a47e50()*1.28393); +} + +double ddNNEB::synapse0x4a49a80() { + return (neuron0x4a46790()*1.69539); +} + +double ddNNEB::synapse0x4a466c0() { + return (neuron0x4a46ad0()*-0.403427); +} + +double ddNNEB::synapse0x4a4f3d0() { + return (neuron0x4a46e10()*0.565482); +} + +double ddNNEB::synapse0x42a4990() { + return (neuron0x4a47150()*-0.928146); +} + +double ddNNEB::synapse0x4a48fb0() { + return (neuron0x4a47490()*-0.0268804); +} + +double ddNNEB::synapse0x4a48ff0() { + return (neuron0x4a477d0()*0.0993066); +} + +double ddNNEB::synapse0x4a49030() { + return (neuron0x4a47b10()*-0.292285); +} + +double ddNNEB::synapse0x4a49070() { + return (neuron0x4a47e50()*-0.42177); +} + +double ddNNEB::synapse0x4a49e00() { + return (neuron0x4a46790()*-0.0855238); +} + +double ddNNEB::synapse0x4a49e40() { + return (neuron0x4a46ad0()*-1.21593); +} + +double ddNNEB::synapse0x4a49e80() { + return (neuron0x4a46e10()*-0.375884); +} + +double ddNNEB::synapse0x4a49ec0() { + return (neuron0x4a47150()*-0.598447); +} + +double ddNNEB::synapse0x4a49f00() { + return (neuron0x4a47490()*-0.0568257); +} + +double ddNNEB::synapse0x4a49f40() { + return (neuron0x4a477d0()*1.57924); +} + +double ddNNEB::synapse0x4a49f80() { + return (neuron0x4a47b10()*0.147867); +} + +double ddNNEB::synapse0x4a49fc0() { + return (neuron0x4a47e50()*1.38729); +} + +double ddNNEB::synapse0x4a4a340() { + return (neuron0x4a46790()*0.485434); +} + +double ddNNEB::synapse0x4a4a380() { + return (neuron0x4a46ad0()*-0.835655); +} + +double ddNNEB::synapse0x4a4a3c0() { + return (neuron0x4a46e10()*0.0218874); +} + +double ddNNEB::synapse0x4a4a400() { + return (neuron0x4a47150()*0.848471); +} + +double ddNNEB::synapse0x4a4a440() { + return (neuron0x4a47490()*-0.520038); +} + +double ddNNEB::synapse0x4a4a480() { + return (neuron0x4a477d0()*1.05246); +} + +double ddNNEB::synapse0x4a4a4c0() { + return (neuron0x4a47b10()*-0.149156); +} + +double ddNNEB::synapse0x4a4a500() { + return (neuron0x4a47e50()*-0.583154); +} + +double ddNNEB::synapse0x4a4a880() { + return (neuron0x4a46790()*-0.916327); +} + +double ddNNEB::synapse0x4a4a8c0() { + return (neuron0x4a46ad0()*0.702795); +} + +double ddNNEB::synapse0x4a4a900() { + return (neuron0x4a46e10()*0.919346); +} + +double ddNNEB::synapse0x4a4a940() { + return (neuron0x4a47150()*-0.0825796); +} + +double ddNNEB::synapse0x4a4a980() { + return (neuron0x4a47490()*-0.252398); +} + +double ddNNEB::synapse0x4a4a9c0() { + return (neuron0x4a477d0()*1.93309); +} + +double ddNNEB::synapse0x4a4aa00() { + return (neuron0x4a47b10()*0.402714); +} + +double ddNNEB::synapse0x4a4aa40() { + return (neuron0x4a47e50()*-0.705064); +} + +double ddNNEB::synapse0x4193db0() { + return (neuron0x4a46790()*0.279067); +} + +double ddNNEB::synapse0x4193df0() { + return (neuron0x4a46ad0()*2.10666); +} + +double ddNNEB::synapse0x42bf760() { + return (neuron0x4a46e10()*-1.93947); +} + +double ddNNEB::synapse0x42bf7a0() { + return (neuron0x4a47150()*0.275969); +} + +double ddNNEB::synapse0x42bf7e0() { + return (neuron0x4a47490()*-0.106968); +} + +double ddNNEB::synapse0x42bf820() { + return (neuron0x4a477d0()*-0.688045); +} + +double ddNNEB::synapse0x42bf860() { + return (neuron0x4a47b10()*-0.668713); +} + +double ddNNEB::synapse0x42bf8a0() { + return (neuron0x4a47e50()*1.05971); +} + +double ddNNEB::synapse0x4a4b590() { + return (neuron0x4a46790()*-1.40774); +} + +double ddNNEB::synapse0x4a4b5d0() { + return (neuron0x4a46ad0()*0.313147); +} + +double ddNNEB::synapse0x4a4b610() { + return (neuron0x4a46e10()*-0.734327); +} + +double ddNNEB::synapse0x4a4b650() { + return (neuron0x4a47150()*0.152364); +} + +double ddNNEB::synapse0x4a4b690() { + return (neuron0x4a47490()*0.201345); +} + +double ddNNEB::synapse0x4a4b6d0() { + return (neuron0x4a477d0()*-0.450168); +} + +double ddNNEB::synapse0x4a4b710() { + return (neuron0x4a47b10()*-0.0113884); +} + +double ddNNEB::synapse0x4a4b750() { + return (neuron0x4a47e50()*2.59905); +} + +double ddNNEB::synapse0x4a4bad0() { + return (neuron0x4a482c0()*0.516919); +} + +double ddNNEB::synapse0x4a4bb10() { + return (neuron0x4a486f0()*0.119394); +} + +double ddNNEB::synapse0x4a4bb50() { + return (neuron0x4a48c30()*-1.4767); +} + +double ddNNEB::synapse0x4a4bb90() { + return (neuron0x4a49200()*-0.0500033); +} + +double ddNNEB::synapse0x4a4bbd0() { + return (neuron0x4a49740()*0.298463); +} + +double ddNNEB::synapse0x4a4bc10() { + return (neuron0x4a49ac0()*2.45755); +} + +double ddNNEB::synapse0x4a4bc50() { + return (neuron0x4a4a000()*0.654612); +} + +double ddNNEB::synapse0x4a4bc90() { + return (neuron0x4a4a540()*0.57596); +} + +double ddNNEB::synapse0x4a4bcd0() { + return (neuron0x4a4aa80()*-1.65405); +} + +double ddNNEB::synapse0x4a4bd10() { + return (neuron0x4a4b2e0()*2.42557); +} + +double ddNNEB::synapse0x4a4c090() { + return (neuron0x4a482c0()*0.502582); +} + +double ddNNEB::synapse0x4a4c0d0() { + return (neuron0x4a486f0()*2.8062); +} + +double ddNNEB::synapse0x4a4c110() { + return (neuron0x4a48c30()*-5.0152); +} + +double ddNNEB::synapse0x4a4c150() { + return (neuron0x4a49200()*-0.479722); +} + +double ddNNEB::synapse0x4a4c190() { + return (neuron0x4a49740()*0.762427); +} + +double ddNNEB::synapse0x4a4c1d0() { + return (neuron0x4a49ac0()*0.465059); +} + +double ddNNEB::synapse0x4a4c210() { + return (neuron0x4a4a000()*1.25011); +} + +double ddNNEB::synapse0x4a4c250() { + return (neuron0x4a4a540()*0.848167); +} + +double ddNNEB::synapse0x4a4c290() { + return (neuron0x4a4aa80()*-3.38675); +} + +double ddNNEB::synapse0x4a4c2d0() { + return (neuron0x4a4b2e0()*0.890426); +} + +double ddNNEB::synapse0x4a4c650() { + return (neuron0x4a482c0()*2.11989); +} + +double ddNNEB::synapse0x4a4c690() { + return (neuron0x4a486f0()*-0.554945); +} + +double ddNNEB::synapse0x4a4c6d0() { + return (neuron0x4a48c30()*-0.633086); +} + +double ddNNEB::synapse0x4a4c710() { + return (neuron0x4a49200()*0.574811); +} + +double ddNNEB::synapse0x4a4c750() { + return (neuron0x4a49740()*0.354028); +} + +double ddNNEB::synapse0x4a4c790() { + return (neuron0x4a49ac0()*-0.156698); +} + +double ddNNEB::synapse0x4a4c7d0() { + return (neuron0x4a4a000()*2.36578); +} + +double ddNNEB::synapse0x4a4c810() { + return (neuron0x4a4a540()*0.196586); +} + +double ddNNEB::synapse0x4a4c850() { + return (neuron0x4a4aa80()*1.56175); +} + +double ddNNEB::synapse0x4a4c890() { + return (neuron0x4a4b2e0()*-0.0753345); +} + +double ddNNEB::synapse0x4a4cc10() { + return (neuron0x4a482c0()*1.1924); +} + +double ddNNEB::synapse0x4a4cc50() { + return (neuron0x4a486f0()*0.35832); +} + +double ddNNEB::synapse0x4a4cc90() { + return (neuron0x4a48c30()*-1.20353); +} + +double ddNNEB::synapse0x4a4ccd0() { + return (neuron0x4a49200()*-1.16455); +} + +double ddNNEB::synapse0x4a4cd10() { + return (neuron0x4a49740()*1.49197); +} + +double ddNNEB::synapse0x4a4cd50() { + return (neuron0x4a49ac0()*0.73065); +} + +double ddNNEB::synapse0x4a4cd90() { + return (neuron0x4a4a000()*0.00900645); +} + +double ddNNEB::synapse0x4a4cdd0() { + return (neuron0x4a4a540()*0.682976); +} + +double ddNNEB::synapse0x4a4ce10() { + return (neuron0x4a4aa80()*0.888089); +} + +double ddNNEB::synapse0x4a4ce50() { + return (neuron0x4a4b2e0()*2.13105); +} + +double ddNNEB::synapse0x4a4d1d0() { + return (neuron0x4a482c0()*-0.612113); +} + +double ddNNEB::synapse0x4a4d210() { + return (neuron0x4a486f0()*-0.686453); +} + +double ddNNEB::synapse0x4a4d250() { + return (neuron0x4a48c30()*-2.45879); +} + +double ddNNEB::synapse0x4a4d290() { + return (neuron0x4a49200()*-0.257105); +} + +double ddNNEB::synapse0x4a4d2d0() { + return (neuron0x4a49740()*-0.999997); +} + +double ddNNEB::synapse0x4a4d310() { + return (neuron0x4a49ac0()*1.33032); +} + +double ddNNEB::synapse0x4a4d350() { + return (neuron0x4a4a000()*-0.300316); +} + +double ddNNEB::synapse0x4a4d390() { + return (neuron0x4a4a540()*-0.902281); +} + +double ddNNEB::synapse0x4a4d3d0() { + return (neuron0x4a4aa80()*0.0236984); +} + +double ddNNEB::synapse0x4a4aed0() { + return (neuron0x4a4b2e0()*-0.749823); +} + +double ddNNEB::synapse0x4a4b250() { + return (neuron0x4a4b790()*2.1077); +} + +double ddNNEB::synapse0x4a4b290() { + return (neuron0x4a4bd50()*3.37063); +} + +double ddNNEB::synapse0x4a48190() { + return (neuron0x4a4c310()*4.32082); +} + +double ddNNEB::synapse0x4a481d0() { + return (neuron0x4a4c8d0()*2.21584); +} + +double ddNNEB::synapse0x4a48210() { + return (neuron0x4a4ce90()*-5.43053); +} + + +double ldNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.13794)/1.30956; + input1 = (in1 - 1.15492)/1.68616; + input2 = (in2 - 1.14956)/1.69316; + input3 = (in3 - 1.89563)/1.49913; + input4 = (in4 - 1.90666)/1.49442; + input5 = (in5 - 0.3065)/1.46726; + input6 = (in6 - 0.318454)/1.50742; + input7 = (in7 - 0.305354)/1.51455; + switch(index) { + case 0: + return neuron0x1827a010(); + default: + return 0.; + } +} + +double ldNNEB::Value(int index, double* input) { + input0 = (input[0] - 4.13794)/1.30956; + input1 = (input[1] - 1.15492)/1.68616; + input2 = (input[2] - 1.14956)/1.69316; + input3 = (input[3] - 1.89563)/1.49913; + input4 = (input[4] - 1.90666)/1.49442; + input5 = (input[5] - 0.3065)/1.46726; + input6 = (input[6] - 0.318454)/1.50742; + input7 = (input[7] - 0.305354)/1.51455; + switch(index) { + case 0: + return neuron0x1827a010(); + default: + return 0.; + } +} + +double ldNNEB::neuron0x18275890() { + return input0; +} + +double ldNNEB::neuron0x18275bd0() { + return input1; +} + +double ldNNEB::neuron0x18275f10() { + return input2; +} + +double ldNNEB::neuron0x18276250() { + return input3; +} + +double ldNNEB::neuron0x18276590() { + return input4; +} + +double ldNNEB::neuron0x182768d0() { + return input5; +} + +double ldNNEB::neuron0x18276c10() { + return input6; +} + +double ldNNEB::neuron0x18276f50() { + return input7; +} + +double ldNNEB::input0x182773c0() { + double input = -0.900178; + input += synapse0x181d6290(); + input += synapse0x1827e490(); + input += synapse0x18277670(); + input += synapse0x182776b0(); + input += synapse0x182776f0(); + input += synapse0x18277730(); + input += synapse0x18277770(); + input += synapse0x182777b0(); + return input; +} + +double ldNNEB::neuron0x182773c0() { + double input = input0x182773c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x182777f0() { + double input = 2.16276; + input += synapse0x18277b30(); + input += synapse0x18277b70(); + input += synapse0x18277bb0(); + input += synapse0x18277bf0(); + input += synapse0x18277c30(); + input += synapse0x18277c70(); + input += synapse0x18277cb0(); + input += synapse0x18277cf0(); + return input; +} + +double ldNNEB::neuron0x182777f0() { + double input = input0x182777f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x18277d30() { + double input = 0.152496; + input += synapse0x18278070(); + input += synapse0x17ad4f50(); + input += synapse0x17ad4f90(); + input += synapse0x182781c0(); + input += synapse0x18278200(); + input += synapse0x18278240(); + input += synapse0x18278280(); + input += synapse0x182782c0(); + return input; +} + +double ldNNEB::neuron0x18277d30() { + double input = input0x18277d30(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x18278300() { + double input = -0.320593; + input += synapse0x18278640(); + input += synapse0x18278680(); + input += synapse0x182786c0(); + input += synapse0x18278700(); + input += synapse0x18278740(); + input += synapse0x18278780(); + input += synapse0x182787c0(); + input += synapse0x18278800(); + return input; +} + +double ldNNEB::neuron0x18278300() { + double input = input0x18278300(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x18278840() { + double input = -0.58249; + input += synapse0x18278b80(); + input += synapse0x182757c0(); + input += synapse0x1827e4d0(); + input += synapse0x17ad3a90(); + input += synapse0x182780b0(); + input += synapse0x182780f0(); + input += synapse0x18278130(); + input += synapse0x18278170(); + return input; +} + +double ldNNEB::neuron0x18278840() { + double input = input0x18278840(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x18278bc0() { + double input = 0.173697; + input += synapse0x18278f00(); + input += synapse0x18278f40(); + input += synapse0x18278f80(); + input += synapse0x18278fc0(); + input += synapse0x18279000(); + input += synapse0x18279040(); + input += synapse0x18279080(); + input += synapse0x182790c0(); + return input; +} + +double ldNNEB::neuron0x18278bc0() { + double input = input0x18278bc0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x18279100() { + double input = -1.94555; + input += synapse0x18279440(); + input += synapse0x18279480(); + input += synapse0x182794c0(); + input += synapse0x18279500(); + input += synapse0x18279540(); + input += synapse0x18279580(); + input += synapse0x182795c0(); + input += synapse0x18279600(); + return input; +} + +double ldNNEB::neuron0x18279100() { + double input = input0x18279100(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x18279640() { + double input = 0.545632; + input += synapse0x18279980(); + input += synapse0x182799c0(); + input += synapse0x18279a00(); + input += synapse0x18279a40(); + input += synapse0x18279a80(); + input += synapse0x18279ac0(); + input += synapse0x18279b00(); + input += synapse0x18279b40(); + return input; +} + +double ldNNEB::neuron0x18279640() { + double input = input0x18279640(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x18279b80() { + double input = -0.563904; + input += synapse0x179c2eb0(); + input += synapse0x179c2ef0(); + input += synapse0x17aee860(); + input += synapse0x17aee8a0(); + input += synapse0x17aee8e0(); + input += synapse0x17aee920(); + input += synapse0x17aee960(); + input += synapse0x17aee9a0(); + return input; +} + +double ldNNEB::neuron0x18279b80() { + double input = input0x18279b80(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x1827a3e0() { + double input = 2.57453; + input += synapse0x1827a690(); + input += synapse0x1827a6d0(); + input += synapse0x1827a710(); + input += synapse0x1827a750(); + input += synapse0x1827a790(); + input += synapse0x1827a7d0(); + input += synapse0x1827a810(); + input += synapse0x1827a850(); + return input; +} + +double ldNNEB::neuron0x1827a3e0() { + double input = input0x1827a3e0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x1827a890() { + double input = 1.03566; + input += synapse0x1827abd0(); + input += synapse0x1827ac10(); + input += synapse0x1827ac50(); + input += synapse0x1827ac90(); + input += synapse0x1827acd0(); + input += synapse0x1827ad10(); + input += synapse0x1827ad50(); + input += synapse0x1827ad90(); + input += synapse0x1827add0(); + input += synapse0x1827ae10(); + return input; +} + +double ldNNEB::neuron0x1827a890() { + double input = input0x1827a890(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x1827ae50() { + double input = -0.093052; + input += synapse0x1827b190(); + input += synapse0x1827b1d0(); + input += synapse0x1827b210(); + input += synapse0x1827b250(); + input += synapse0x1827b290(); + input += synapse0x1827b2d0(); + input += synapse0x1827b310(); + input += synapse0x1827b350(); + input += synapse0x1827b390(); + input += synapse0x1827b3d0(); + return input; +} + +double ldNNEB::neuron0x1827ae50() { + double input = input0x1827ae50(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x1827b410() { + double input = 0.160093; + input += synapse0x1827b750(); + input += synapse0x1827b790(); + input += synapse0x1827b7d0(); + input += synapse0x1827b810(); + input += synapse0x1827b850(); + input += synapse0x1827b890(); + input += synapse0x1827b8d0(); + input += synapse0x1827b910(); + input += synapse0x1827b950(); + input += synapse0x1827b990(); + return input; +} + +double ldNNEB::neuron0x1827b410() { + double input = input0x1827b410(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x1827b9d0() { + double input = -0.193108; + input += synapse0x1827bd10(); + input += synapse0x1827bd50(); + input += synapse0x1827bd90(); + input += synapse0x1827bdd0(); + input += synapse0x1827be10(); + input += synapse0x1827be50(); + input += synapse0x1827be90(); + input += synapse0x1827bed0(); + input += synapse0x1827bf10(); + input += synapse0x1827bf50(); + return input; +} + +double ldNNEB::neuron0x1827b9d0() { + double input = input0x1827b9d0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x1827bf90() { + double input = -0.780892; + input += synapse0x1827c2d0(); + input += synapse0x1827c310(); + input += synapse0x1827c350(); + input += synapse0x1827c390(); + input += synapse0x1827c3d0(); + input += synapse0x1827c410(); + input += synapse0x1827c450(); + input += synapse0x1827c490(); + input += synapse0x1827c4d0(); + input += synapse0x18279fd0(); + return input; +} + +double ldNNEB::neuron0x1827bf90() { + double input = input0x1827bf90(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEB::input0x1827a010() { + double input = 3.54463; + input += synapse0x1827a350(); + input += synapse0x1827a390(); + input += synapse0x18277290(); + input += synapse0x182772d0(); + input += synapse0x18277310(); + return input; +} + +double ldNNEB::neuron0x1827a010() { + double input = input0x1827a010(); + return (input * 1)+0; +} + +double ldNNEB::synapse0x181d6290() { + return (neuron0x18275890()*0.614766); +} + +double ldNNEB::synapse0x1827e490() { + return (neuron0x18275bd0()*0.413269); +} + +double ldNNEB::synapse0x18277670() { + return (neuron0x18275f10()*-1.73024); +} + +double ldNNEB::synapse0x182776b0() { + return (neuron0x18276250()*0.00373702); +} + +double ldNNEB::synapse0x182776f0() { + return (neuron0x18276590()*0.106991); +} + +double ldNNEB::synapse0x18277730() { + return (neuron0x182768d0()*-0.449699); +} + +double ldNNEB::synapse0x18277770() { + return (neuron0x18276c10()*-0.00781349); +} + +double ldNNEB::synapse0x182777b0() { + return (neuron0x18276f50()*0.339282); +} + +double ldNNEB::synapse0x18277b30() { + return (neuron0x18275890()*0.0803725); +} + +double ldNNEB::synapse0x18277b70() { + return (neuron0x18275bd0()*-0.332201); +} + +double ldNNEB::synapse0x18277bb0() { + return (neuron0x18275f10()*-0.0784683); +} + +double ldNNEB::synapse0x18277bf0() { + return (neuron0x18276250()*-0.0932347); +} + +double ldNNEB::synapse0x18277c30() { + return (neuron0x18276590()*0.990996); +} + +double ldNNEB::synapse0x18277c70() { + return (neuron0x182768d0()*0.456115); +} + +double ldNNEB::synapse0x18277cb0() { + return (neuron0x18276c10()*-0.287584); +} + +double ldNNEB::synapse0x18277cf0() { + return (neuron0x18276f50()*-0.0594785); +} + +double ldNNEB::synapse0x18278070() { + return (neuron0x18275890()*1.15983); +} + +double ldNNEB::synapse0x17ad4f50() { + return (neuron0x18275bd0()*0.710525); +} + +double ldNNEB::synapse0x17ad4f90() { + return (neuron0x18275f10()*-0.994761); +} + +double ldNNEB::synapse0x182781c0() { + return (neuron0x18276250()*0.271231); +} + +double ldNNEB::synapse0x18278200() { + return (neuron0x18276590()*-0.140435); +} + +double ldNNEB::synapse0x18278240() { + return (neuron0x182768d0()*-0.688977); +} + +double ldNNEB::synapse0x18278280() { + return (neuron0x18276c10()*0.106436); +} + +double ldNNEB::synapse0x182782c0() { + return (neuron0x18276f50()*0.390168); +} + +double ldNNEB::synapse0x18278640() { + return (neuron0x18275890()*0.257245); +} + +double ldNNEB::synapse0x18278680() { + return (neuron0x18275bd0()*0.258381); +} + +double ldNNEB::synapse0x182786c0() { + return (neuron0x18275f10()*0.33651); +} + +double ldNNEB::synapse0x18278700() { + return (neuron0x18276250()*1.93473); +} + +double ldNNEB::synapse0x18278740() { + return (neuron0x18276590()*0.00886707); +} + +double ldNNEB::synapse0x18278780() { + return (neuron0x182768d0()*-0.527713); +} + +double ldNNEB::synapse0x182787c0() { + return (neuron0x18276c10()*0.369871); +} + +double ldNNEB::synapse0x18278800() { + return (neuron0x18276f50()*0.494573); +} + +double ldNNEB::synapse0x18278b80() { + return (neuron0x18275890()*-0.888076); +} + +double ldNNEB::synapse0x182757c0() { + return (neuron0x18275bd0()*-0.592806); +} + +double ldNNEB::synapse0x1827e4d0() { + return (neuron0x18275f10()*-1.22797); +} + +double ldNNEB::synapse0x17ad3a90() { + return (neuron0x18276250()*-0.220221); +} + +double ldNNEB::synapse0x182780b0() { + return (neuron0x18276590()*-0.481517); +} + +double ldNNEB::synapse0x182780f0() { + return (neuron0x182768d0()*-0.528706); +} + +double ldNNEB::synapse0x18278130() { + return (neuron0x18276c10()*-0.902304); +} + +double ldNNEB::synapse0x18278170() { + return (neuron0x18276f50()*-1.31047); +} + +double ldNNEB::synapse0x18278f00() { + return (neuron0x18275890()*1.18818); +} + +double ldNNEB::synapse0x18278f40() { + return (neuron0x18275bd0()*0.549287); +} + +double ldNNEB::synapse0x18278f80() { + return (neuron0x18275f10()*0.812188); +} + +double ldNNEB::synapse0x18278fc0() { + return (neuron0x18276250()*-0.692576); +} + +double ldNNEB::synapse0x18279000() { + return (neuron0x18276590()*0.0828682); +} + +double ldNNEB::synapse0x18279040() { + return (neuron0x182768d0()*0.301323); +} + +double ldNNEB::synapse0x18279080() { + return (neuron0x18276c10()*0.259526); +} + +double ldNNEB::synapse0x182790c0() { + return (neuron0x18276f50()*0.337679); +} + +double ldNNEB::synapse0x18279440() { + return (neuron0x18275890()*-1.17139); +} + +double ldNNEB::synapse0x18279480() { + return (neuron0x18275bd0()*0.410552); +} + +double ldNNEB::synapse0x182794c0() { + return (neuron0x18275f10()*0.588709); +} + +double ldNNEB::synapse0x18279500() { + return (neuron0x18276250()*0.0275081); +} + +double ldNNEB::synapse0x18279540() { + return (neuron0x18276590()*0.547308); +} + +double ldNNEB::synapse0x18279580() { + return (neuron0x182768d0()*-0.0396708); +} + +double ldNNEB::synapse0x182795c0() { + return (neuron0x18276c10()*0.0315642); +} + +double ldNNEB::synapse0x18279600() { + return (neuron0x18276f50()*0.400394); +} + +double ldNNEB::synapse0x18279980() { + return (neuron0x18275890()*-0.606966); +} + +double ldNNEB::synapse0x182799c0() { + return (neuron0x18275bd0()*1.26538); +} + +double ldNNEB::synapse0x18279a00() { + return (neuron0x18275f10()*-0.145802); +} + +double ldNNEB::synapse0x18279a40() { + return (neuron0x18276250()*0.203945); +} + +double ldNNEB::synapse0x18279a80() { + return (neuron0x18276590()*-0.376903); +} + +double ldNNEB::synapse0x18279ac0() { + return (neuron0x182768d0()*0.521134); +} + +double ldNNEB::synapse0x18279b00() { + return (neuron0x18276c10()*-0.0731846); +} + +double ldNNEB::synapse0x18279b40() { + return (neuron0x18276f50()*0.179746); +} + +double ldNNEB::synapse0x179c2eb0() { + return (neuron0x18275890()*-0.221377); +} + +double ldNNEB::synapse0x179c2ef0() { + return (neuron0x18275bd0()*0.42709); +} + +double ldNNEB::synapse0x17aee860() { + return (neuron0x18275f10()*-0.35336); +} + +double ldNNEB::synapse0x17aee8a0() { + return (neuron0x18276250()*-0.718037); +} + +double ldNNEB::synapse0x17aee8e0() { + return (neuron0x18276590()*-0.127489); +} + +double ldNNEB::synapse0x17aee920() { + return (neuron0x182768d0()*-0.662367); +} + +double ldNNEB::synapse0x17aee960() { + return (neuron0x18276c10()*0.365699); +} + +double ldNNEB::synapse0x17aee9a0() { + return (neuron0x18276f50()*-0.936714); +} + +double ldNNEB::synapse0x1827a690() { + return (neuron0x18275890()*-1.4265); +} + +double ldNNEB::synapse0x1827a6d0() { + return (neuron0x18275bd0()*-0.460301); +} + +double ldNNEB::synapse0x1827a710() { + return (neuron0x18275f10()*-0.054207); +} + +double ldNNEB::synapse0x1827a750() { + return (neuron0x18276250()*-0.122564); +} + +double ldNNEB::synapse0x1827a790() { + return (neuron0x18276590()*-0.0448578); +} + +double ldNNEB::synapse0x1827a7d0() { + return (neuron0x182768d0()*0.636673); +} + +double ldNNEB::synapse0x1827a810() { + return (neuron0x18276c10()*0.200266); +} + +double ldNNEB::synapse0x1827a850() { + return (neuron0x18276f50()*0.284904); +} + +double ldNNEB::synapse0x1827abd0() { + return (neuron0x182773c0()*-0.96263); +} + +double ldNNEB::synapse0x1827ac10() { + return (neuron0x182777f0()*5.42215); +} + +double ldNNEB::synapse0x1827ac50() { + return (neuron0x18277d30()*-1.06695); +} + +double ldNNEB::synapse0x1827ac90() { + return (neuron0x18278300()*-0.724369); +} + +double ldNNEB::synapse0x1827acd0() { + return (neuron0x18278840()*0.0415235); +} + +double ldNNEB::synapse0x1827ad10() { + return (neuron0x18278bc0()*-1.11119); +} + +double ldNNEB::synapse0x1827ad50() { + return (neuron0x18279100()*3.29088); +} + +double ldNNEB::synapse0x1827ad90() { + return (neuron0x18279640()*-3.47163); +} + +double ldNNEB::synapse0x1827add0() { + return (neuron0x18279b80()*1.96684); +} + +double ldNNEB::synapse0x1827ae10() { + return (neuron0x1827a3e0()*-5.05257); +} + +double ldNNEB::synapse0x1827b190() { + return (neuron0x182773c0()*0.169895); +} + +double ldNNEB::synapse0x1827b1d0() { + return (neuron0x182777f0()*-1.03492); +} + +double ldNNEB::synapse0x1827b210() { + return (neuron0x18277d30()*1.0047); +} + +double ldNNEB::synapse0x1827b250() { + return (neuron0x18278300()*0.541598); +} + +double ldNNEB::synapse0x1827b290() { + return (neuron0x18278840()*-0.540631); +} + +double ldNNEB::synapse0x1827b2d0() { + return (neuron0x18278bc0()*0.368238); +} + +double ldNNEB::synapse0x1827b310() { + return (neuron0x18279100()*-0.540273); +} + +double ldNNEB::synapse0x1827b350() { + return (neuron0x18279640()*1.34685); +} + +double ldNNEB::synapse0x1827b390() { + return (neuron0x18279b80()*-0.429885); +} + +double ldNNEB::synapse0x1827b3d0() { + return (neuron0x1827a3e0()*1.91775); +} + +double ldNNEB::synapse0x1827b750() { + return (neuron0x182773c0()*1.12693); +} + +double ldNNEB::synapse0x1827b790() { + return (neuron0x182777f0()*-2.70427); +} + +double ldNNEB::synapse0x1827b7d0() { + return (neuron0x18277d30()*1.87916); +} + +double ldNNEB::synapse0x1827b810() { + return (neuron0x18278300()*0.12951); +} + +double ldNNEB::synapse0x1827b850() { + return (neuron0x18278840()*0.0521041); +} + +double ldNNEB::synapse0x1827b890() { + return (neuron0x18278bc0()*-0.480644); +} + +double ldNNEB::synapse0x1827b8d0() { + return (neuron0x18279100()*-2.42394); +} + +double ldNNEB::synapse0x1827b910() { + return (neuron0x18279640()*1.85898); +} + +double ldNNEB::synapse0x1827b950() { + return (neuron0x18279b80()*-0.281259); +} + +double ldNNEB::synapse0x1827b990() { + return (neuron0x1827a3e0()*3.24442); +} + +double ldNNEB::synapse0x1827bd10() { + return (neuron0x182773c0()*-0.661399); +} + +double ldNNEB::synapse0x1827bd50() { + return (neuron0x182777f0()*0.69702); +} + +double ldNNEB::synapse0x1827bd90() { + return (neuron0x18277d30()*1.11072); +} + +double ldNNEB::synapse0x1827bdd0() { + return (neuron0x18278300()*0.36713); +} + +double ldNNEB::synapse0x1827be10() { + return (neuron0x18278840()*-0.165389); +} + +double ldNNEB::synapse0x1827be50() { + return (neuron0x18278bc0()*0.351639); +} + +double ldNNEB::synapse0x1827be90() { + return (neuron0x18279100()*0.817737); +} + +double ldNNEB::synapse0x1827bed0() { + return (neuron0x18279640()*-0.109831); +} + +double ldNNEB::synapse0x1827bf10() { + return (neuron0x18279b80()*-0.545354); +} + +double ldNNEB::synapse0x1827bf50() { + return (neuron0x1827a3e0()*-0.635203); +} + +double ldNNEB::synapse0x1827c2d0() { + return (neuron0x182773c0()*1.57996); +} + +double ldNNEB::synapse0x1827c310() { + return (neuron0x182777f0()*-1.28325); +} + +double ldNNEB::synapse0x1827c350() { + return (neuron0x18277d30()*-1.39606); +} + +double ldNNEB::synapse0x1827c390() { + return (neuron0x18278300()*-0.0116294); +} + +double ldNNEB::synapse0x1827c3d0() { + return (neuron0x18278840()*-0.373634); +} + +double ldNNEB::synapse0x1827c410() { + return (neuron0x18278bc0()*0.015702); +} + +double ldNNEB::synapse0x1827c450() { + return (neuron0x18279100()*-1.86785); +} + +double ldNNEB::synapse0x1827c490() { + return (neuron0x18279640()*0.902913); +} + +double ldNNEB::synapse0x1827c4d0() { + return (neuron0x18279b80()*-0.959895); +} + +double ldNNEB::synapse0x18279fd0() { + return (neuron0x1827a3e0()*2.46191); +} + +double ldNNEB::synapse0x1827a350() { + return (neuron0x1827a890()*-0.0487259); +} + +double ldNNEB::synapse0x1827a390() { + return (neuron0x1827ae50()*0.655329); +} + +double ldNNEB::synapse0x18277290() { + return (neuron0x1827b410()*-4.96624); +} + +double ldNNEB::synapse0x182772d0() { + return (neuron0x1827b9d0()*4.81781); +} + +double ldNNEB::synapse0x18277310() { + return (neuron0x1827bf90()*-4.50754); +} + + + +double llNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.13794)/1.30956; + input1 = (in1 - 1.15492)/1.68616; + input2 = (in2 - 1.89563)/1.49913; + input3 = (in3 - 1.90666)/1.49442; + input4 = (in4 - 0.3065)/1.46726; + input5 = (in5 - 0.318454)/1.50742; + input6 = (in6 - 0.305354)/1.51455; + input7 = (in7 - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x2f8ff90(); + default: + return 0.; + } +} + +double llNNEB::Value(int index, double* input) { + input0 = (input[0] - 4.13794)/1.30956; + input1 = (input[1] - 1.15492)/1.68616; + input2 = (input[2] - 1.89563)/1.49913; + input3 = (input[3] - 1.90666)/1.49442; + input4 = (input[4] - 0.3065)/1.46726; + input5 = (input[5] - 0.318454)/1.50742; + input6 = (input[6] - 0.305354)/1.51455; + input7 = (input[7] - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x2f8ff90(); + default: + return 0.; + } +} + +double llNNEB::neuron0x2f8b810() { + return input0; +} + +double llNNEB::neuron0x2f8bb50() { + return input1; +} + +double llNNEB::neuron0x2f8be90() { + return input2; +} + +double llNNEB::neuron0x2f8c1d0() { + return input3; +} + +double llNNEB::neuron0x2f8c510() { + return input4; +} + +double llNNEB::neuron0x2f8c850() { + return input5; +} + +double llNNEB::neuron0x2f8cb90() { + return input6; +} + +double llNNEB::neuron0x2f8ced0() { + return input7; +} + +double llNNEB::input0x2f8d340() { + double input = -0.0926358; + input += synapse0x2eec210(); + input += synapse0x2f94410(); + input += synapse0x2f8d5f0(); + input += synapse0x2f8d630(); + input += synapse0x2f8d670(); + input += synapse0x2f8d6b0(); + input += synapse0x2f8d6f0(); + input += synapse0x2f8d730(); + return input; +} + +double llNNEB::neuron0x2f8d340() { + double input = input0x2f8d340(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f8d770() { + double input = -0.565862; + input += synapse0x2f8dab0(); + input += synapse0x2f8daf0(); + input += synapse0x2f8db30(); + input += synapse0x2f8db70(); + input += synapse0x2f8dbb0(); + input += synapse0x2f8dbf0(); + input += synapse0x2f8dc30(); + input += synapse0x2f8dc70(); + return input; +} + +double llNNEB::neuron0x2f8d770() { + double input = input0x2f8d770(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f8dcb0() { + double input = 0.115237; + input += synapse0x2f8dff0(); + input += synapse0x27eaed0(); + input += synapse0x27eaf10(); + input += synapse0x2f8e140(); + input += synapse0x2f8e180(); + input += synapse0x2f8e1c0(); + input += synapse0x2f8e200(); + input += synapse0x2f8e240(); + return input; +} + +double llNNEB::neuron0x2f8dcb0() { + double input = input0x2f8dcb0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f8e280() { + double input = 0.890509; + input += synapse0x2f8e5c0(); + input += synapse0x2f8e600(); + input += synapse0x2f8e640(); + input += synapse0x2f8e680(); + input += synapse0x2f8e6c0(); + input += synapse0x2f8e700(); + input += synapse0x2f8e740(); + input += synapse0x2f8e780(); + return input; +} + +double llNNEB::neuron0x2f8e280() { + double input = input0x2f8e280(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f8e7c0() { + double input = 0.775207; + input += synapse0x2f8eb00(); + input += synapse0x2f8b740(); + input += synapse0x2f94450(); + input += synapse0x27e9a10(); + input += synapse0x2f8e030(); + input += synapse0x2f8e070(); + input += synapse0x2f8e0b0(); + input += synapse0x2f8e0f0(); + return input; +} + +double llNNEB::neuron0x2f8e7c0() { + double input = input0x2f8e7c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f8eb40() { + double input = 0.230515; + input += synapse0x2f8ee80(); + input += synapse0x2f8eec0(); + input += synapse0x2f8ef00(); + input += synapse0x2f8ef40(); + input += synapse0x2f8ef80(); + input += synapse0x2f8efc0(); + input += synapse0x2f8f000(); + input += synapse0x2f8f040(); + return input; +} + +double llNNEB::neuron0x2f8eb40() { + double input = input0x2f8eb40(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f8f080() { + double input = 0.862616; + input += synapse0x2f8f3c0(); + input += synapse0x2f8f400(); + input += synapse0x2f8f440(); + input += synapse0x2f8f480(); + input += synapse0x2f8f4c0(); + input += synapse0x2f8f500(); + input += synapse0x2f8f540(); + input += synapse0x2f8f580(); + return input; +} + +double llNNEB::neuron0x2f8f080() { + double input = input0x2f8f080(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f8f5c0() { + double input = -0.332968; + input += synapse0x2f8f900(); + input += synapse0x2f8f940(); + input += synapse0x2f8f980(); + input += synapse0x2f8f9c0(); + input += synapse0x2f8fa00(); + input += synapse0x2f8fa40(); + input += synapse0x2f8fa80(); + input += synapse0x2f8fac0(); + return input; +} + +double llNNEB::neuron0x2f8f5c0() { + double input = input0x2f8f5c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f8fb00() { + double input = 0.082267; + input += synapse0x26d8e30(); + input += synapse0x26d8e70(); + input += synapse0x28047e0(); + input += synapse0x2804820(); + input += synapse0x2804860(); + input += synapse0x28048a0(); + input += synapse0x28048e0(); + input += synapse0x2804920(); + return input; +} + +double llNNEB::neuron0x2f8fb00() { + double input = input0x2f8fb00(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f90360() { + double input = -0.304636; + input += synapse0x2f90610(); + input += synapse0x2f90650(); + input += synapse0x2f90690(); + input += synapse0x2f906d0(); + input += synapse0x2f90710(); + input += synapse0x2f90750(); + input += synapse0x2f90790(); + input += synapse0x2f907d0(); + return input; +} + +double llNNEB::neuron0x2f90360() { + double input = input0x2f90360(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f90810() { + double input = -0.0916165; + input += synapse0x2f90b50(); + input += synapse0x2f90b90(); + input += synapse0x2f90bd0(); + input += synapse0x2f90c10(); + input += synapse0x2f90c50(); + input += synapse0x2f90c90(); + input += synapse0x2f90cd0(); + input += synapse0x2f90d10(); + input += synapse0x2f90d50(); + input += synapse0x2f90d90(); + return input; +} + +double llNNEB::neuron0x2f90810() { + double input = input0x2f90810(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f90dd0() { + double input = -0.443607; + input += synapse0x2f91110(); + input += synapse0x2f91150(); + input += synapse0x2f91190(); + input += synapse0x2f911d0(); + input += synapse0x2f91210(); + input += synapse0x2f91250(); + input += synapse0x2f91290(); + input += synapse0x2f912d0(); + input += synapse0x2f91310(); + input += synapse0x2f91350(); + return input; +} + +double llNNEB::neuron0x2f90dd0() { + double input = input0x2f90dd0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f91390() { + double input = -0.00521054; + input += synapse0x2f916d0(); + input += synapse0x2f91710(); + input += synapse0x2f91750(); + input += synapse0x2f91790(); + input += synapse0x2f917d0(); + input += synapse0x2f91810(); + input += synapse0x2f91850(); + input += synapse0x2f91890(); + input += synapse0x2f918d0(); + input += synapse0x2f91910(); + return input; +} + +double llNNEB::neuron0x2f91390() { + double input = input0x2f91390(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f91950() { + double input = -0.446475; + input += synapse0x2f91c90(); + input += synapse0x2f91cd0(); + input += synapse0x2f91d10(); + input += synapse0x2f91d50(); + input += synapse0x2f91d90(); + input += synapse0x2f91dd0(); + input += synapse0x2f91e10(); + input += synapse0x2f91e50(); + input += synapse0x2f91e90(); + input += synapse0x2f91ed0(); + return input; +} + +double llNNEB::neuron0x2f91950() { + double input = input0x2f91950(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f91f10() { + double input = 2.12019; + input += synapse0x2f92250(); + input += synapse0x2f92290(); + input += synapse0x2f922d0(); + input += synapse0x2f92310(); + input += synapse0x2f92350(); + input += synapse0x2f92390(); + input += synapse0x2f923d0(); + input += synapse0x2f92410(); + input += synapse0x2f92450(); + input += synapse0x2f8ff50(); + return input; +} + +double llNNEB::neuron0x2f91f10() { + double input = input0x2f91f10(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEB::input0x2f8ff90() { + double input = 2.9809; + input += synapse0x2f902d0(); + input += synapse0x2f90310(); + input += synapse0x2f8d210(); + input += synapse0x2f8d250(); + input += synapse0x2f8d290(); + return input; +} + +double llNNEB::neuron0x2f8ff90() { + double input = input0x2f8ff90(); + return (input * 1)+0; +} + +double llNNEB::synapse0x2eec210() { + return (neuron0x2f8b810()*1.18802); +} + +double llNNEB::synapse0x2f94410() { + return (neuron0x2f8bb50()*0.697943); +} + +double llNNEB::synapse0x2f8d5f0() { + return (neuron0x2f8be90()*1.29077); +} + +double llNNEB::synapse0x2f8d630() { + return (neuron0x2f8c1d0()*0.974011); +} + +double llNNEB::synapse0x2f8d670() { + return (neuron0x2f8c510()*0.531372); +} + +double llNNEB::synapse0x2f8d6b0() { + return (neuron0x2f8c850()*0.81473); +} + +double llNNEB::synapse0x2f8d6f0() { + return (neuron0x2f8cb90()*2.01243); +} + +double llNNEB::synapse0x2f8d730() { + return (neuron0x2f8ced0()*2.38963); +} + +double llNNEB::synapse0x2f8dab0() { + return (neuron0x2f8b810()*-0.925515); +} + +double llNNEB::synapse0x2f8daf0() { + return (neuron0x2f8bb50()*0.478754); +} + +double llNNEB::synapse0x2f8db30() { + return (neuron0x2f8be90()*-0.187566); +} + +double llNNEB::synapse0x2f8db70() { + return (neuron0x2f8c1d0()*0.794948); +} + +double llNNEB::synapse0x2f8dbb0() { + return (neuron0x2f8c510()*0.174207); +} + +double llNNEB::synapse0x2f8dbf0() { + return (neuron0x2f8c850()*0.30047); +} + +double llNNEB::synapse0x2f8dc30() { + return (neuron0x2f8cb90()*1.05822); +} + +double llNNEB::synapse0x2f8dc70() { + return (neuron0x2f8ced0()*0.192867); +} + +double llNNEB::synapse0x2f8dff0() { + return (neuron0x2f8b810()*2.4499); +} + +double llNNEB::synapse0x27eaed0() { + return (neuron0x2f8bb50()*0.382343); +} + +double llNNEB::synapse0x27eaf10() { + return (neuron0x2f8be90()*1.60773); +} + +double llNNEB::synapse0x2f8e140() { + return (neuron0x2f8c1d0()*1.90051); +} + +double llNNEB::synapse0x2f8e180() { + return (neuron0x2f8c510()*1.52519); +} + +double llNNEB::synapse0x2f8e1c0() { + return (neuron0x2f8c850()*1.13771); +} + +double llNNEB::synapse0x2f8e200() { + return (neuron0x2f8cb90()*3.64255); +} + +double llNNEB::synapse0x2f8e240() { + return (neuron0x2f8ced0()*3.49626); +} + +double llNNEB::synapse0x2f8e5c0() { + return (neuron0x2f8b810()*1.23427); +} + +double llNNEB::synapse0x2f8e600() { + return (neuron0x2f8bb50()*-0.0519786); +} + +double llNNEB::synapse0x2f8e640() { + return (neuron0x2f8be90()*0.211897); +} + +double llNNEB::synapse0x2f8e680() { + return (neuron0x2f8c1d0()*0.200567); +} + +double llNNEB::synapse0x2f8e6c0() { + return (neuron0x2f8c510()*-0.23557); +} + +double llNNEB::synapse0x2f8e700() { + return (neuron0x2f8c850()*-0.27122); +} + +double llNNEB::synapse0x2f8e740() { + return (neuron0x2f8cb90()*-0.403843); +} + +double llNNEB::synapse0x2f8e780() { + return (neuron0x2f8ced0()*-0.44644); +} + +double llNNEB::synapse0x2f8eb00() { + return (neuron0x2f8b810()*1.95955); +} + +double llNNEB::synapse0x2f8b740() { + return (neuron0x2f8bb50()*0.227203); +} + +double llNNEB::synapse0x2f94450() { + return (neuron0x2f8be90()*1.08097); +} + +double llNNEB::synapse0x27e9a10() { + return (neuron0x2f8c1d0()*1.31399); +} + +double llNNEB::synapse0x2f8e030() { + return (neuron0x2f8c510()*0.807464); +} + +double llNNEB::synapse0x2f8e070() { + return (neuron0x2f8c850()*0.5526); +} + +double llNNEB::synapse0x2f8e0b0() { + return (neuron0x2f8cb90()*1.54524); +} + +double llNNEB::synapse0x2f8e0f0() { + return (neuron0x2f8ced0()*1.25477); +} + +double llNNEB::synapse0x2f8ee80() { + return (neuron0x2f8b810()*1.00016); +} + +double llNNEB::synapse0x2f8eec0() { + return (neuron0x2f8bb50()*-0.29655); +} + +double llNNEB::synapse0x2f8ef00() { + return (neuron0x2f8be90()*-1.64098); +} + +double llNNEB::synapse0x2f8ef40() { + return (neuron0x2f8c1d0()*0.598756); +} + +double llNNEB::synapse0x2f8ef80() { + return (neuron0x2f8c510()*-0.255078); +} + +double llNNEB::synapse0x2f8efc0() { + return (neuron0x2f8c850()*-0.350156); +} + +double llNNEB::synapse0x2f8f000() { + return (neuron0x2f8cb90()*0.872753); +} + +double llNNEB::synapse0x2f8f040() { + return (neuron0x2f8ced0()*0.2515); +} + +double llNNEB::synapse0x2f8f3c0() { + return (neuron0x2f8b810()*2.0049); +} + +double llNNEB::synapse0x2f8f400() { + return (neuron0x2f8bb50()*-0.538494); +} + +double llNNEB::synapse0x2f8f440() { + return (neuron0x2f8be90()*0.457742); +} + +double llNNEB::synapse0x2f8f480() { + return (neuron0x2f8c1d0()*0.681461); +} + +double llNNEB::synapse0x2f8f4c0() { + return (neuron0x2f8c510()*-0.64671); +} + +double llNNEB::synapse0x2f8f500() { + return (neuron0x2f8c850()*-0.655839); +} + +double llNNEB::synapse0x2f8f540() { + return (neuron0x2f8cb90()*-0.9445); +} + +double llNNEB::synapse0x2f8f580() { + return (neuron0x2f8ced0()*-1.16369); +} + +double llNNEB::synapse0x2f8f900() { + return (neuron0x2f8b810()*-0.307722); +} + +double llNNEB::synapse0x2f8f940() { + return (neuron0x2f8bb50()*0.00796732); +} + +double llNNEB::synapse0x2f8f980() { + return (neuron0x2f8be90()*-0.182972); +} + +double llNNEB::synapse0x2f8f9c0() { + return (neuron0x2f8c1d0()*-0.619658); +} + +double llNNEB::synapse0x2f8fa00() { + return (neuron0x2f8c510()*-0.597408); +} + +double llNNEB::synapse0x2f8fa40() { + return (neuron0x2f8c850()*-0.0893563); +} + +double llNNEB::synapse0x2f8fa80() { + return (neuron0x2f8cb90()*-1.37406); +} + +double llNNEB::synapse0x2f8fac0() { + return (neuron0x2f8ced0()*-1.96252); +} + +double llNNEB::synapse0x26d8e30() { + return (neuron0x2f8b810()*-2.49165); +} + +double llNNEB::synapse0x26d8e70() { + return (neuron0x2f8bb50()*-1.00368); +} + +double llNNEB::synapse0x28047e0() { + return (neuron0x2f8be90()*-1.71502); +} + +double llNNEB::synapse0x2804820() { + return (neuron0x2f8c1d0()*-1.38569); +} + +double llNNEB::synapse0x2804860() { + return (neuron0x2f8c510()*-0.972498); +} + +double llNNEB::synapse0x28048a0() { + return (neuron0x2f8c850()*-0.694178); +} + +double llNNEB::synapse0x28048e0() { + return (neuron0x2f8cb90()*-3.13402); +} + +double llNNEB::synapse0x2804920() { + return (neuron0x2f8ced0()*-4.05429); +} + +double llNNEB::synapse0x2f90610() { + return (neuron0x2f8b810()*0.952673); +} + +double llNNEB::synapse0x2f90650() { + return (neuron0x2f8bb50()*0.573276); +} + +double llNNEB::synapse0x2f90690() { + return (neuron0x2f8be90()*0.0479708); +} + +double llNNEB::synapse0x2f906d0() { + return (neuron0x2f8c1d0()*0.290278); +} + +double llNNEB::synapse0x2f90710() { + return (neuron0x2f8c510()*-0.130862); +} + +double llNNEB::synapse0x2f90750() { + return (neuron0x2f8c850()*-0.196606); +} + +double llNNEB::synapse0x2f90790() { + return (neuron0x2f8cb90()*-0.94221); +} + +double llNNEB::synapse0x2f907d0() { + return (neuron0x2f8ced0()*-1.11217); +} + +double llNNEB::synapse0x2f90b50() { + return (neuron0x2f8d340()*2.23731); +} + +double llNNEB::synapse0x2f90b90() { + return (neuron0x2f8d770()*-4.23388); +} + +double llNNEB::synapse0x2f90bd0() { + return (neuron0x2f8dcb0()*0.512447); +} + +double llNNEB::synapse0x2f90c10() { + return (neuron0x2f8e280()*1.72921); +} + +double llNNEB::synapse0x2f90c50() { + return (neuron0x2f8e7c0()*2.99858); +} + +double llNNEB::synapse0x2f90c90() { + return (neuron0x2f8eb40()*3.37404); +} + +double llNNEB::synapse0x2f90cd0() { + return (neuron0x2f8f080()*-6.86377); +} + +double llNNEB::synapse0x2f90d10() { + return (neuron0x2f8f5c0()*0.238987); +} + +double llNNEB::synapse0x2f90d50() { + return (neuron0x2f8fb00()*3.94311); +} + +double llNNEB::synapse0x2f90d90() { + return (neuron0x2f90360()*-3.95507); +} + +double llNNEB::synapse0x2f91110() { + return (neuron0x2f8d340()*0.029347); +} + +double llNNEB::synapse0x2f91150() { + return (neuron0x2f8d770()*1.85203); +} + +double llNNEB::synapse0x2f91190() { + return (neuron0x2f8dcb0()*-0.249941); +} + +double llNNEB::synapse0x2f911d0() { + return (neuron0x2f8e280()*1.14122); +} + +double llNNEB::synapse0x2f91210() { + return (neuron0x2f8e7c0()*-0.0270421); +} + +double llNNEB::synapse0x2f91250() { + return (neuron0x2f8eb40()*-0.581733); +} + +double llNNEB::synapse0x2f91290() { + return (neuron0x2f8f080()*-0.693613); +} + +double llNNEB::synapse0x2f912d0() { + return (neuron0x2f8f5c0()*-0.351173); +} + +double llNNEB::synapse0x2f91310() { + return (neuron0x2f8fb00()*-0.4098); +} + +double llNNEB::synapse0x2f91350() { + return (neuron0x2f90360()*0.0447752); +} + +double llNNEB::synapse0x2f916d0() { + return (neuron0x2f8d340()*1.47129); +} + +double llNNEB::synapse0x2f91710() { + return (neuron0x2f8d770()*-3.90508); +} + +double llNNEB::synapse0x2f91750() { + return (neuron0x2f8dcb0()*0.767496); +} + +double llNNEB::synapse0x2f91790() { + return (neuron0x2f8e280()*1.01144); +} + +double llNNEB::synapse0x2f917d0() { + return (neuron0x2f8e7c0()*1.74916); +} + +double llNNEB::synapse0x2f91810() { + return (neuron0x2f8eb40()*2.63845); +} + +double llNNEB::synapse0x2f91850() { + return (neuron0x2f8f080()*-6.46134); +} + +double llNNEB::synapse0x2f91890() { + return (neuron0x2f8f5c0()*0.771541); +} + +double llNNEB::synapse0x2f918d0() { + return (neuron0x2f8fb00()*3.16939); +} + +double llNNEB::synapse0x2f91910() { + return (neuron0x2f90360()*-5.83595); +} + +double llNNEB::synapse0x2f91c90() { + return (neuron0x2f8d340()*1.43372); +} + +double llNNEB::synapse0x2f91cd0() { + return (neuron0x2f8d770()*-1.89272); +} + +double llNNEB::synapse0x2f91d10() { + return (neuron0x2f8dcb0()*0.428573); +} + +double llNNEB::synapse0x2f91d50() { + return (neuron0x2f8e280()*1.57341); +} + +double llNNEB::synapse0x2f91d90() { + return (neuron0x2f8e7c0()*1.82221); +} + +double llNNEB::synapse0x2f91dd0() { + return (neuron0x2f8eb40()*1.58248); +} + +double llNNEB::synapse0x2f91e10() { + return (neuron0x2f8f080()*-3.14869); +} + +double llNNEB::synapse0x2f91e50() { + return (neuron0x2f8f5c0()*-0.0304965); +} + +double llNNEB::synapse0x2f91e90() { + return (neuron0x2f8fb00()*1.75882); +} + +double llNNEB::synapse0x2f91ed0() { + return (neuron0x2f90360()*-2.44213); +} + +double llNNEB::synapse0x2f92250() { + return (neuron0x2f8d340()*0.707172); +} + +double llNNEB::synapse0x2f92290() { + return (neuron0x2f8d770()*0.393115); +} + +double llNNEB::synapse0x2f922d0() { + return (neuron0x2f8dcb0()*-0.0246247); +} + +double llNNEB::synapse0x2f92310() { + return (neuron0x2f8e280()*-5.06829); +} + +double llNNEB::synapse0x2f92350() { + return (neuron0x2f8e7c0()*-0.0752881); +} + +double llNNEB::synapse0x2f92390() { + return (neuron0x2f8eb40()*-0.515807); +} + +double llNNEB::synapse0x2f923d0() { + return (neuron0x2f8f080()*1.03079); +} + +double llNNEB::synapse0x2f92410() { + return (neuron0x2f8f5c0()*-0.35588); +} + +double llNNEB::synapse0x2f92450() { + return (neuron0x2f8fb00()*0.37701); +} + +double llNNEB::synapse0x2f8ff50() { + return (neuron0x2f90360()*1.99131); +} + +double llNNEB::synapse0x2f902d0() { + return (neuron0x2f90810()*-0.700239); +} + +double llNNEB::synapse0x2f90310() { + return (neuron0x2f90dd0()*4.15526); +} + +double llNNEB::synapse0x2f8d210() { + return (neuron0x2f91390()*2.92611); +} + +double llNNEB::synapse0x2f8d250() { + return (neuron0x2f91950()*0.738438); +} + +double llNNEB::synapse0x2f8d290() { + return (neuron0x2f91f10()*-7.41024); +} + +double luNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.13794)/1.30956; + input1 = (in1 - 1.15492)/1.68616; + input2 = (in2 - 1.14956)/1.69316; + input3 = (in3 - 1.89563)/1.49913; + input4 = (in4 - 1.90666)/1.49442; + input5 = (in5 - 0.3065)/1.46726; + input6 = (in6 - 0.318454)/1.50742; + input7 = (in7 - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x10fdc050(); + default: + return 0.; + } +} + +double luNNEB::Value(int index, double* input) { + input0 = (input[0] - 4.13794)/1.30956; + input1 = (input[1] - 1.15492)/1.68616; + input2 = (input[2] - 1.14956)/1.69316; + input3 = (input[3] - 1.89563)/1.49913; + input4 = (input[4] - 1.90666)/1.49442; + input5 = (input[5] - 0.3065)/1.46726; + input6 = (input[6] - 0.318454)/1.50742; + input7 = (input[7] - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x10fdc050(); + default: + return 0.; + } +} + +double luNNEB::neuron0x10fd78d0() { + return input0; +} + +double luNNEB::neuron0x10fd7c10() { + return input1; +} + +double luNNEB::neuron0x10fd7f50() { + return input2; +} + +double luNNEB::neuron0x10fd8290() { + return input3; +} + +double luNNEB::neuron0x10fd85d0() { + return input4; +} + +double luNNEB::neuron0x10fd8910() { + return input5; +} + +double luNNEB::neuron0x10fd8c50() { + return input6; +} + +double luNNEB::neuron0x10fd8f90() { + return input7; +} + +double luNNEB::input0x10fd9400() { + double input = -0.482263; + input += synapse0x10f382d0(); + input += synapse0x10fe04d0(); + input += synapse0x10fd96b0(); + input += synapse0x10fd96f0(); + input += synapse0x10fd9730(); + input += synapse0x10fd9770(); + input += synapse0x10fd97b0(); + input += synapse0x10fd97f0(); + return input; +} + +double luNNEB::neuron0x10fd9400() { + double input = input0x10fd9400(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fd9830() { + double input = 0.47095; + input += synapse0x10fd9b70(); + input += synapse0x10fd9bb0(); + input += synapse0x10fd9bf0(); + input += synapse0x10fd9c30(); + input += synapse0x10fd9c70(); + input += synapse0x10fd9cb0(); + input += synapse0x10fd9cf0(); + input += synapse0x10fd9d30(); + return input; +} + +double luNNEB::neuron0x10fd9830() { + double input = input0x10fd9830(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fd9d70() { + double input = -0.263786; + input += synapse0x10fda0b0(); + input += synapse0x10836f90(); + input += synapse0x10836fd0(); + input += synapse0x10fda200(); + input += synapse0x10fda240(); + input += synapse0x10fda280(); + input += synapse0x10fda2c0(); + input += synapse0x10fda300(); + return input; +} + +double luNNEB::neuron0x10fd9d70() { + double input = input0x10fd9d70(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fda340() { + double input = -2.45341; + input += synapse0x10fda680(); + input += synapse0x10fda6c0(); + input += synapse0x10fda700(); + input += synapse0x10fda740(); + input += synapse0x10fda780(); + input += synapse0x10fda7c0(); + input += synapse0x10fda800(); + input += synapse0x10fda840(); + return input; +} + +double luNNEB::neuron0x10fda340() { + double input = input0x10fda340(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fda880() { + double input = -0.186997; + input += synapse0x10fdabc0(); + input += synapse0x10fd7800(); + input += synapse0x10fe0510(); + input += synapse0x10835ad0(); + input += synapse0x10fda0f0(); + input += synapse0x10fda130(); + input += synapse0x10fda170(); + input += synapse0x10fda1b0(); + return input; +} + +double luNNEB::neuron0x10fda880() { + double input = input0x10fda880(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fdac00() { + double input = 1.98839; + input += synapse0x10fdaf40(); + input += synapse0x10fdaf80(); + input += synapse0x10fdafc0(); + input += synapse0x10fdb000(); + input += synapse0x10fdb040(); + input += synapse0x10fdb080(); + input += synapse0x10fdb0c0(); + input += synapse0x10fdb100(); + return input; +} + +double luNNEB::neuron0x10fdac00() { + double input = input0x10fdac00(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fdb140() { + double input = -1.00701; + input += synapse0x10fdb480(); + input += synapse0x10fdb4c0(); + input += synapse0x10fdb500(); + input += synapse0x10fdb540(); + input += synapse0x10fdb580(); + input += synapse0x10fdb5c0(); + input += synapse0x10fdb600(); + input += synapse0x10fdb640(); + return input; +} + +double luNNEB::neuron0x10fdb140() { + double input = input0x10fdb140(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fdb680() { + double input = -0.560147; + input += synapse0x10fdb9c0(); + input += synapse0x10fdba00(); + input += synapse0x10fdba40(); + input += synapse0x10fdba80(); + input += synapse0x10fdbac0(); + input += synapse0x10fdbb00(); + input += synapse0x10fdbb40(); + input += synapse0x10fdbb80(); + return input; +} + +double luNNEB::neuron0x10fdb680() { + double input = input0x10fdb680(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fdbbc0() { + double input = -0.721986; + input += synapse0x10724ef0(); + input += synapse0x10724f30(); + input += synapse0x108508a0(); + input += synapse0x108508e0(); + input += synapse0x10850920(); + input += synapse0x10850960(); + input += synapse0x108509a0(); + input += synapse0x108509e0(); + return input; +} + +double luNNEB::neuron0x10fdbbc0() { + double input = input0x10fdbbc0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fdc420() { + double input = -0.736728; + input += synapse0x10fdc6d0(); + input += synapse0x10fdc710(); + input += synapse0x10fdc750(); + input += synapse0x10fdc790(); + input += synapse0x10fdc7d0(); + input += synapse0x10fdc810(); + input += synapse0x10fdc850(); + input += synapse0x10fdc890(); + return input; +} + +double luNNEB::neuron0x10fdc420() { + double input = input0x10fdc420(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fdc8d0() { + double input = 0.481603; + input += synapse0x10fdcc10(); + input += synapse0x10fdcc50(); + input += synapse0x10fdcc90(); + input += synapse0x10fdccd0(); + input += synapse0x10fdcd10(); + input += synapse0x10fdcd50(); + input += synapse0x10fdcd90(); + input += synapse0x10fdcdd0(); + input += synapse0x10fdce10(); + input += synapse0x10fdce50(); + return input; +} + +double luNNEB::neuron0x10fdc8d0() { + double input = input0x10fdc8d0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fdce90() { + double input = 0.390999; + input += synapse0x10fdd1d0(); + input += synapse0x10fdd210(); + input += synapse0x10fdd250(); + input += synapse0x10fdd290(); + input += synapse0x10fdd2d0(); + input += synapse0x10fdd310(); + input += synapse0x10fdd350(); + input += synapse0x10fdd390(); + input += synapse0x10fdd3d0(); + input += synapse0x10fdd410(); + return input; +} + +double luNNEB::neuron0x10fdce90() { + double input = input0x10fdce90(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fdd450() { + double input = -0.566348; + input += synapse0x10fdd790(); + input += synapse0x10fdd7d0(); + input += synapse0x10fdd810(); + input += synapse0x10fdd850(); + input += synapse0x10fdd890(); + input += synapse0x10fdd8d0(); + input += synapse0x10fdd910(); + input += synapse0x10fdd950(); + input += synapse0x10fdd990(); + input += synapse0x10fdd9d0(); + return input; +} + +double luNNEB::neuron0x10fdd450() { + double input = input0x10fdd450(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fdda10() { + double input = 0.577951; + input += synapse0x10fddd50(); + input += synapse0x10fddd90(); + input += synapse0x10fdddd0(); + input += synapse0x10fdde10(); + input += synapse0x10fdde50(); + input += synapse0x10fdde90(); + input += synapse0x10fdded0(); + input += synapse0x10fddf10(); + input += synapse0x10fddf50(); + input += synapse0x10fddf90(); + return input; +} + +double luNNEB::neuron0x10fdda10() { + double input = input0x10fdda10(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fddfd0() { + double input = -0.372479; + input += synapse0x10fde310(); + input += synapse0x10fde350(); + input += synapse0x10fde390(); + input += synapse0x10fde3d0(); + input += synapse0x10fde410(); + input += synapse0x10fde450(); + input += synapse0x10fde490(); + input += synapse0x10fde4d0(); + input += synapse0x10fde510(); + input += synapse0x10fdc010(); + return input; +} + +double luNNEB::neuron0x10fddfd0() { + double input = input0x10fddfd0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEB::input0x10fdc050() { + double input = 4.72312; + input += synapse0x10fdc390(); + input += synapse0x10fdc3d0(); + input += synapse0x10fd92d0(); + input += synapse0x10fd9310(); + input += synapse0x10fd9350(); + return input; +} + +double luNNEB::neuron0x10fdc050() { + double input = input0x10fdc050(); + return (input * 1)+0; +} + +double luNNEB::synapse0x10f382d0() { + return (neuron0x10fd78d0()*0.162147); +} + +double luNNEB::synapse0x10fe04d0() { + return (neuron0x10fd7c10()*0.461803); +} + +double luNNEB::synapse0x10fd96b0() { + return (neuron0x10fd7f50()*-1.37936); +} + +double luNNEB::synapse0x10fd96f0() { + return (neuron0x10fd8290()*-0.202747); +} + +double luNNEB::synapse0x10fd9730() { + return (neuron0x10fd85d0()*-0.0631962); +} + +double luNNEB::synapse0x10fd9770() { + return (neuron0x10fd8910()*-0.0559553); +} + +double luNNEB::synapse0x10fd97b0() { + return (neuron0x10fd8c50()*-0.328558); +} + +double luNNEB::synapse0x10fd97f0() { + return (neuron0x10fd8f90()*0.20233); +} + +double luNNEB::synapse0x10fd9b70() { + return (neuron0x10fd78d0()*2.65087); +} + +double luNNEB::synapse0x10fd9bb0() { + return (neuron0x10fd7c10()*-1.28916); +} + +double luNNEB::synapse0x10fd9bf0() { + return (neuron0x10fd7f50()*0.0722316); +} + +double luNNEB::synapse0x10fd9c30() { + return (neuron0x10fd8290()*0.40294); +} + +double luNNEB::synapse0x10fd9c70() { + return (neuron0x10fd85d0()*0.403065); +} + +double luNNEB::synapse0x10fd9cb0() { + return (neuron0x10fd8910()*0.325961); +} + +double luNNEB::synapse0x10fd9cf0() { + return (neuron0x10fd8c50()*-1.24393); +} + +double luNNEB::synapse0x10fd9d30() { + return (neuron0x10fd8f90()*0.0787346); +} + +double luNNEB::synapse0x10fda0b0() { + return (neuron0x10fd78d0()*1.33716); +} + +double luNNEB::synapse0x10836f90() { + return (neuron0x10fd7c10()*1.12612); +} + +double luNNEB::synapse0x10836fd0() { + return (neuron0x10fd7f50()*2.05235); +} + +double luNNEB::synapse0x10fda200() { + return (neuron0x10fd8290()*1.23352); +} + +double luNNEB::synapse0x10fda240() { + return (neuron0x10fd85d0()*0.750904); +} + +double luNNEB::synapse0x10fda280() { + return (neuron0x10fd8910()*1.041); +} + +double luNNEB::synapse0x10fda2c0() { + return (neuron0x10fd8c50()*0.647542); +} + +double luNNEB::synapse0x10fda300() { + return (neuron0x10fd8f90()*1.34407); +} + +double luNNEB::synapse0x10fda680() { + return (neuron0x10fd78d0()*-0.265954); +} + +double luNNEB::synapse0x10fda6c0() { + return (neuron0x10fd7c10()*0.289035); +} + +double luNNEB::synapse0x10fda700() { + return (neuron0x10fd7f50()*1.06486); +} + +double luNNEB::synapse0x10fda740() { + return (neuron0x10fd8290()*-1.19126); +} + +double luNNEB::synapse0x10fda780() { + return (neuron0x10fd85d0()*-0.03881); +} + +double luNNEB::synapse0x10fda7c0() { + return (neuron0x10fd8910()*0.233711); +} + +double luNNEB::synapse0x10fda800() { + return (neuron0x10fd8c50()*-0.349635); +} + +double luNNEB::synapse0x10fda840() { + return (neuron0x10fd8f90()*-0.0842293); +} + +double luNNEB::synapse0x10fdabc0() { + return (neuron0x10fd78d0()*-1.35044); +} + +double luNNEB::synapse0x10fd7800() { + return (neuron0x10fd7c10()*-0.879086); +} + +double luNNEB::synapse0x10fe0510() { + return (neuron0x10fd7f50()*-1.33893); +} + +double luNNEB::synapse0x10835ad0() { + return (neuron0x10fd8290()*-1.55637); +} + +double luNNEB::synapse0x10fda0f0() { + return (neuron0x10fd85d0()*0.0523866); +} + +double luNNEB::synapse0x10fda130() { + return (neuron0x10fd8910()*-0.793344); +} + +double luNNEB::synapse0x10fda170() { + return (neuron0x10fd8c50()*-0.73362); +} + +double luNNEB::synapse0x10fda1b0() { + return (neuron0x10fd8f90()*-0.531828); +} + +double luNNEB::synapse0x10fdaf40() { + return (neuron0x10fd78d0()*1.17694); +} + +double luNNEB::synapse0x10fdaf80() { + return (neuron0x10fd7c10()*0.323671); +} + +double luNNEB::synapse0x10fdafc0() { + return (neuron0x10fd7f50()*-0.781744); +} + +double luNNEB::synapse0x10fdb000() { + return (neuron0x10fd8290()*-0.713545); +} + +double luNNEB::synapse0x10fdb040() { + return (neuron0x10fd85d0()*0.464629); +} + +double luNNEB::synapse0x10fdb080() { + return (neuron0x10fd8910()*0.0100201); +} + +double luNNEB::synapse0x10fdb0c0() { + return (neuron0x10fd8c50()*0.0764805); +} + +double luNNEB::synapse0x10fdb100() { + return (neuron0x10fd8f90()*-0.451934); +} + +double luNNEB::synapse0x10fdb480() { + return (neuron0x10fd78d0()*0.893002); +} + +double luNNEB::synapse0x10fdb4c0() { + return (neuron0x10fd7c10()*0.512438); +} + +double luNNEB::synapse0x10fdb500() { + return (neuron0x10fd7f50()*0.199848); +} + +double luNNEB::synapse0x10fdb540() { + return (neuron0x10fd8290()*-0.0643325); +} + +double luNNEB::synapse0x10fdb580() { + return (neuron0x10fd85d0()*0.0574431); +} + +double luNNEB::synapse0x10fdb5c0() { + return (neuron0x10fd8910()*0.00360423); +} + +double luNNEB::synapse0x10fdb600() { + return (neuron0x10fd8c50()*-0.758948); +} + +double luNNEB::synapse0x10fdb640() { + return (neuron0x10fd8f90()*-0.0799728); +} + +double luNNEB::synapse0x10fdb9c0() { + return (neuron0x10fd78d0()*-3.16954); +} + +double luNNEB::synapse0x10fdba00() { + return (neuron0x10fd7c10()*-1.53585); +} + +double luNNEB::synapse0x10fdba40() { + return (neuron0x10fd7f50()*-4.1974); +} + +double luNNEB::synapse0x10fdba80() { + return (neuron0x10fd8290()*-3.48157); +} + +double luNNEB::synapse0x10fdbac0() { + return (neuron0x10fd85d0()*-1.96283); +} + +double luNNEB::synapse0x10fdbb00() { + return (neuron0x10fd8910()*-2.29231); +} + +double luNNEB::synapse0x10fdbb40() { + return (neuron0x10fd8c50()*-1.23163); +} + +double luNNEB::synapse0x10fdbb80() { + return (neuron0x10fd8f90()*-2.98389); +} + +double luNNEB::synapse0x10724ef0() { + return (neuron0x10fd78d0()*-1.35246); +} + +double luNNEB::synapse0x10724f30() { + return (neuron0x10fd7c10()*0.840469); +} + +double luNNEB::synapse0x108508a0() { + return (neuron0x10fd7f50()*-1.29467); +} + +double luNNEB::synapse0x108508e0() { + return (neuron0x10fd8290()*-0.735558); +} + +double luNNEB::synapse0x10850920() { + return (neuron0x10fd85d0()*0.0368447); +} + +double luNNEB::synapse0x10850960() { + return (neuron0x10fd8910()*0.407403); +} + +double luNNEB::synapse0x108509a0() { + return (neuron0x10fd8c50()*-0.414209); +} + +double luNNEB::synapse0x108509e0() { + return (neuron0x10fd8f90()*-0.606965); +} + +double luNNEB::synapse0x10fdc6d0() { + return (neuron0x10fd78d0()*0.46383); +} + +double luNNEB::synapse0x10fdc710() { + return (neuron0x10fd7c10()*1.2554); +} + +double luNNEB::synapse0x10fdc750() { + return (neuron0x10fd7f50()*0.178097); +} + +double luNNEB::synapse0x10fdc790() { + return (neuron0x10fd8290()*0.49485); +} + +double luNNEB::synapse0x10fdc7d0() { + return (neuron0x10fd85d0()*0.191809); +} + +double luNNEB::synapse0x10fdc810() { + return (neuron0x10fd8910()*-0.0236312); +} + +double luNNEB::synapse0x10fdc850() { + return (neuron0x10fd8c50()*-0.0430808); +} + +double luNNEB::synapse0x10fdc890() { + return (neuron0x10fd8f90()*1.10224); +} + +double luNNEB::synapse0x10fdcc10() { + return (neuron0x10fd9400()*-3.072); +} + +double luNNEB::synapse0x10fdcc50() { + return (neuron0x10fd9830()*1.9901); +} + +double luNNEB::synapse0x10fdcc90() { + return (neuron0x10fd9d70()*-0.337279); +} + +double luNNEB::synapse0x10fdccd0() { + return (neuron0x10fda340()*-1.69344); +} + +double luNNEB::synapse0x10fdcd10() { + return (neuron0x10fda880()*1.27032); +} + +double luNNEB::synapse0x10fdcd50() { + return (neuron0x10fdac00()*-1.50811); +} + +double luNNEB::synapse0x10fdcd90() { + return (neuron0x10fdb140()*4.59316); +} + +double luNNEB::synapse0x10fdcdd0() { + return (neuron0x10fdb680()*-0.19978); +} + +double luNNEB::synapse0x10fdce10() { + return (neuron0x10fdbbc0()*2.61239); +} + +double luNNEB::synapse0x10fdce50() { + return (neuron0x10fdc420()*4.132); +} + +double luNNEB::synapse0x10fdd1d0() { + return (neuron0x10fd9400()*-1.53604); +} + +double luNNEB::synapse0x10fdd210() { + return (neuron0x10fd9830()*0.946982); +} + +double luNNEB::synapse0x10fdd250() { + return (neuron0x10fd9d70()*-0.291547); +} + +double luNNEB::synapse0x10fdd290() { + return (neuron0x10fda340()*-1.67342); +} + +double luNNEB::synapse0x10fdd2d0() { + return (neuron0x10fda880()*-0.206261); +} + +double luNNEB::synapse0x10fdd310() { + return (neuron0x10fdac00()*-0.889833); +} + +double luNNEB::synapse0x10fdd350() { + return (neuron0x10fdb140()*1.5124); +} + +double luNNEB::synapse0x10fdd390() { + return (neuron0x10fdb680()*-0.112377); +} + +double luNNEB::synapse0x10fdd3d0() { + return (neuron0x10fdbbc0()*-0.15154); +} + +double luNNEB::synapse0x10fdd410() { + return (neuron0x10fdc420()*-0.219815); +} + +double luNNEB::synapse0x10fdd790() { + return (neuron0x10fd9400()*0.953703); +} + +double luNNEB::synapse0x10fdd7d0() { + return (neuron0x10fd9830()*-0.0869858); +} + +double luNNEB::synapse0x10fdd810() { + return (neuron0x10fd9d70()*-0.203974); +} + +double luNNEB::synapse0x10fdd850() { + return (neuron0x10fda340()*0.593883); +} + +double luNNEB::synapse0x10fdd890() { + return (neuron0x10fda880()*-0.368326); +} + +double luNNEB::synapse0x10fdd8d0() { + return (neuron0x10fdac00()*0.86465); +} + +double luNNEB::synapse0x10fdd910() { + return (neuron0x10fdb140()*-1.45982); +} + +double luNNEB::synapse0x10fdd950() { + return (neuron0x10fdb680()*0.0559001); +} + +double luNNEB::synapse0x10fdd990() { + return (neuron0x10fdbbc0()*-1.13586); +} + +double luNNEB::synapse0x10fdd9d0() { + return (neuron0x10fdc420()*-1.47209); +} + +double luNNEB::synapse0x10fddd50() { + return (neuron0x10fd9400()*-4.16288); +} + +double luNNEB::synapse0x10fddd90() { + return (neuron0x10fd9830()*0.670889); +} + +double luNNEB::synapse0x10fdddd0() { + return (neuron0x10fd9d70()*-1.31031); +} + +double luNNEB::synapse0x10fdde10() { + return (neuron0x10fda340()*-0.339257); +} + +double luNNEB::synapse0x10fdde50() { + return (neuron0x10fda880()*2.24316); +} + +double luNNEB::synapse0x10fdde90() { + return (neuron0x10fdac00()*-1.00384); +} + +double luNNEB::synapse0x10fdded0() { + return (neuron0x10fdb140()*3.56398); +} + +double luNNEB::synapse0x10fddf10() { + return (neuron0x10fdb680()*0.835351); +} + +double luNNEB::synapse0x10fddf50() { + return (neuron0x10fdbbc0()*3.77029); +} + +double luNNEB::synapse0x10fddf90() { + return (neuron0x10fdc420()*3.42921); +} + +double luNNEB::synapse0x10fde310() { + return (neuron0x10fd9400()*3.06253); +} + +double luNNEB::synapse0x10fde350() { + return (neuron0x10fd9830()*1.96367); +} + +double luNNEB::synapse0x10fde390() { + return (neuron0x10fd9d70()*-0.293902); +} + +double luNNEB::synapse0x10fde3d0() { + return (neuron0x10fda340()*1.84213); +} + +double luNNEB::synapse0x10fde410() { + return (neuron0x10fda880()*0.259737); +} + +double luNNEB::synapse0x10fde450() { + return (neuron0x10fdac00()*2.22645); +} + +double luNNEB::synapse0x10fde490() { + return (neuron0x10fdb140()*-2.77222); +} + +double luNNEB::synapse0x10fde4d0() { + return (neuron0x10fdb680()*-0.297916); +} + +double luNNEB::synapse0x10fde510() { + return (neuron0x10fdbbc0()*-0.219784); +} + +double luNNEB::synapse0x10fdc010() { + return (neuron0x10fdc420()*-0.502024); +} + +double luNNEB::synapse0x10fdc390() { + return (neuron0x10fdc8d0()*2.88626); +} + +double luNNEB::synapse0x10fdc3d0() { + return (neuron0x10fdce90()*3.92546); +} + +double luNNEB::synapse0x10fd92d0() { + return (neuron0x10fdd450()*-0.55782); +} + +double luNNEB::synapse0x10fd9310() { + return (neuron0x10fdda10()*-0.59229); +} + +double luNNEB::synapse0x10fd9350() { + return (neuron0x10fddfd0()*-8.44197); +} + +double rdNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.13794)/1.30956; + input1 = (in1 - 1.15492)/1.68616; + input2 = (in2 - 1.14956)/1.69316; + input3 = (in3 - 1.89563)/1.49913; + input4 = (in4 - 1.90666)/1.49442; + input5 = (in5 - 0.3065)/1.46726; + input6 = (in6 - 0.305354)/1.51455; + input7 = (in7 - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x14ac00d0(); + default: + return 0.; + } +} + +double rdNNEB::Value(int index, double* input) { + input0 = (input[0] - 4.13794)/1.30956; + input1 = (input[1] - 1.15492)/1.68616; + input2 = (input[2] - 1.14956)/1.69316; + input3 = (input[3] - 1.89563)/1.49913; + input4 = (input[4] - 1.90666)/1.49442; + input5 = (input[5] - 0.3065)/1.46726; + input6 = (input[6] - 0.305354)/1.51455; + input7 = (input[7] - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x14ac00d0(); + default: + return 0.; + } +} + +double rdNNEB::neuron0x14abb950() { + return input0; +} + +double rdNNEB::neuron0x14abbc90() { + return input1; +} + +double rdNNEB::neuron0x14abbfd0() { + return input2; +} + +double rdNNEB::neuron0x14abc310() { + return input3; +} + +double rdNNEB::neuron0x14abc650() { + return input4; +} + +double rdNNEB::neuron0x14abc990() { + return input5; +} + +double rdNNEB::neuron0x14abccd0() { + return input6; +} + +double rdNNEB::neuron0x14abd010() { + return input7; +} + +double rdNNEB::input0x14abd480() { + double input = 2.42798; + input += synapse0x14a1c350(); + input += synapse0x14ac4550(); + input += synapse0x14abd730(); + input += synapse0x14abd770(); + input += synapse0x14abd7b0(); + input += synapse0x14abd7f0(); + input += synapse0x14abd830(); + input += synapse0x14abd870(); + return input; +} + +double rdNNEB::neuron0x14abd480() { + double input = input0x14abd480(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14abd8b0() { + double input = -0.411164; + input += synapse0x14abdbf0(); + input += synapse0x14abdc30(); + input += synapse0x14abdc70(); + input += synapse0x14abdcb0(); + input += synapse0x14abdcf0(); + input += synapse0x14abdd30(); + input += synapse0x14abdd70(); + input += synapse0x14abddb0(); + return input; +} + +double rdNNEB::neuron0x14abd8b0() { + double input = input0x14abd8b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14abddf0() { + double input = 1.80772; + input += synapse0x14abe130(); + input += synapse0x1431b010(); + input += synapse0x1431b050(); + input += synapse0x14abe280(); + input += synapse0x14abe2c0(); + input += synapse0x14abe300(); + input += synapse0x14abe340(); + input += synapse0x14abe380(); + return input; +} + +double rdNNEB::neuron0x14abddf0() { + double input = input0x14abddf0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14abe3c0() { + double input = 0.642085; + input += synapse0x14abe700(); + input += synapse0x14abe740(); + input += synapse0x14abe780(); + input += synapse0x14abe7c0(); + input += synapse0x14abe800(); + input += synapse0x14abe840(); + input += synapse0x14abe880(); + input += synapse0x14abe8c0(); + return input; +} + +double rdNNEB::neuron0x14abe3c0() { + double input = input0x14abe3c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14abe900() { + double input = 1.10385; + input += synapse0x14abec40(); + input += synapse0x14abb880(); + input += synapse0x14ac4590(); + input += synapse0x14319b50(); + input += synapse0x14abe170(); + input += synapse0x14abe1b0(); + input += synapse0x14abe1f0(); + input += synapse0x14abe230(); + return input; +} + +double rdNNEB::neuron0x14abe900() { + double input = input0x14abe900(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14abec80() { + double input = 1.58604; + input += synapse0x14abefc0(); + input += synapse0x14abf000(); + input += synapse0x14abf040(); + input += synapse0x14abf080(); + input += synapse0x14abf0c0(); + input += synapse0x14abf100(); + input += synapse0x14abf140(); + input += synapse0x14abf180(); + return input; +} + +double rdNNEB::neuron0x14abec80() { + double input = input0x14abec80(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14abf1c0() { + double input = -0.249532; + input += synapse0x14abf500(); + input += synapse0x14abf540(); + input += synapse0x14abf580(); + input += synapse0x14abf5c0(); + input += synapse0x14abf600(); + input += synapse0x14abf640(); + input += synapse0x14abf680(); + input += synapse0x14abf6c0(); + return input; +} + +double rdNNEB::neuron0x14abf1c0() { + double input = input0x14abf1c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14abf700() { + double input = 0.976559; + input += synapse0x14abfa40(); + input += synapse0x14abfa80(); + input += synapse0x14abfac0(); + input += synapse0x14abfb00(); + input += synapse0x14abfb40(); + input += synapse0x14abfb80(); + input += synapse0x14abfbc0(); + input += synapse0x14abfc00(); + return input; +} + +double rdNNEB::neuron0x14abf700() { + double input = input0x14abf700(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14abfc40() { + double input = -1.43635; + input += synapse0x14208f70(); + input += synapse0x14208fb0(); + input += synapse0x14334920(); + input += synapse0x14334960(); + input += synapse0x143349a0(); + input += synapse0x143349e0(); + input += synapse0x14334a20(); + input += synapse0x14334a60(); + return input; +} + +double rdNNEB::neuron0x14abfc40() { + double input = input0x14abfc40(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14ac04a0() { + double input = -0.127806; + input += synapse0x14ac0750(); + input += synapse0x14ac0790(); + input += synapse0x14ac07d0(); + input += synapse0x14ac0810(); + input += synapse0x14ac0850(); + input += synapse0x14ac0890(); + input += synapse0x14ac08d0(); + input += synapse0x14ac0910(); + return input; +} + +double rdNNEB::neuron0x14ac04a0() { + double input = input0x14ac04a0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14ac0950() { + double input = 0.455212; + input += synapse0x14ac0c90(); + input += synapse0x14ac0cd0(); + input += synapse0x14ac0d10(); + input += synapse0x14ac0d50(); + input += synapse0x14ac0d90(); + input += synapse0x14ac0dd0(); + input += synapse0x14ac0e10(); + input += synapse0x14ac0e50(); + input += synapse0x14ac0e90(); + input += synapse0x14ac0ed0(); + return input; +} + +double rdNNEB::neuron0x14ac0950() { + double input = input0x14ac0950(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14ac0f10() { + double input = -0.695286; + input += synapse0x14ac1250(); + input += synapse0x14ac1290(); + input += synapse0x14ac12d0(); + input += synapse0x14ac1310(); + input += synapse0x14ac1350(); + input += synapse0x14ac1390(); + input += synapse0x14ac13d0(); + input += synapse0x14ac1410(); + input += synapse0x14ac1450(); + input += synapse0x14ac1490(); + return input; +} + +double rdNNEB::neuron0x14ac0f10() { + double input = input0x14ac0f10(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14ac14d0() { + double input = -0.580753; + input += synapse0x14ac1810(); + input += synapse0x14ac1850(); + input += synapse0x14ac1890(); + input += synapse0x14ac18d0(); + input += synapse0x14ac1910(); + input += synapse0x14ac1950(); + input += synapse0x14ac1990(); + input += synapse0x14ac19d0(); + input += synapse0x14ac1a10(); + input += synapse0x14ac1a50(); + return input; +} + +double rdNNEB::neuron0x14ac14d0() { + double input = input0x14ac14d0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14ac1a90() { + double input = 0.49098; + input += synapse0x14ac1dd0(); + input += synapse0x14ac1e10(); + input += synapse0x14ac1e50(); + input += synapse0x14ac1e90(); + input += synapse0x14ac1ed0(); + input += synapse0x14ac1f10(); + input += synapse0x14ac1f50(); + input += synapse0x14ac1f90(); + input += synapse0x14ac1fd0(); + input += synapse0x14ac2010(); + return input; +} + +double rdNNEB::neuron0x14ac1a90() { + double input = input0x14ac1a90(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14ac2050() { + double input = -0.0961925; + input += synapse0x14ac2390(); + input += synapse0x14ac23d0(); + input += synapse0x14ac2410(); + input += synapse0x14ac2450(); + input += synapse0x14ac2490(); + input += synapse0x14ac24d0(); + input += synapse0x14ac2510(); + input += synapse0x14ac2550(); + input += synapse0x14ac2590(); + input += synapse0x14ac0090(); + return input; +} + +double rdNNEB::neuron0x14ac2050() { + double input = input0x14ac2050(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEB::input0x14ac00d0() { + double input = 1.63819; + input += synapse0x14ac0410(); + input += synapse0x14ac0450(); + input += synapse0x14abd350(); + input += synapse0x14abd390(); + input += synapse0x14abd3d0(); + return input; +} + +double rdNNEB::neuron0x14ac00d0() { + double input = input0x14ac00d0(); + return (input * 1)+0; +} + +double rdNNEB::synapse0x14a1c350() { + return (neuron0x14abb950()*-0.216406); +} + +double rdNNEB::synapse0x14ac4550() { + return (neuron0x14abbc90()*-0.420975); +} + +double rdNNEB::synapse0x14abd730() { + return (neuron0x14abbfd0()*-0.56903); +} + +double rdNNEB::synapse0x14abd770() { + return (neuron0x14abc310()*0.170109); +} + +double rdNNEB::synapse0x14abd7b0() { + return (neuron0x14abc650()*1.72569); +} + +double rdNNEB::synapse0x14abd7f0() { + return (neuron0x14abc990()*-0.141621); +} + +double rdNNEB::synapse0x14abd830() { + return (neuron0x14abccd0()*0.258394); +} + +double rdNNEB::synapse0x14abd870() { + return (neuron0x14abd010()*-0.0122614); +} + +double rdNNEB::synapse0x14abdbf0() { + return (neuron0x14abb950()*1.14533); +} + +double rdNNEB::synapse0x14abdc30() { + return (neuron0x14abbc90()*-0.415792); +} + +double rdNNEB::synapse0x14abdc70() { + return (neuron0x14abbfd0()*-0.661272); +} + +double rdNNEB::synapse0x14abdcb0() { + return (neuron0x14abc310()*0.0745773); +} + +double rdNNEB::synapse0x14abdcf0() { + return (neuron0x14abc650()*-0.0324746); +} + +double rdNNEB::synapse0x14abdd30() { + return (neuron0x14abc990()*0.0664283); +} + +double rdNNEB::synapse0x14abdd70() { + return (neuron0x14abccd0()*-1.67815); +} + +double rdNNEB::synapse0x14abddb0() { + return (neuron0x14abd010()*0.343732); +} + +double rdNNEB::synapse0x14abe130() { + return (neuron0x14abb950()*1.70759); +} + +double rdNNEB::synapse0x1431b010() { + return (neuron0x14abbc90()*-0.829353); +} + +double rdNNEB::synapse0x1431b050() { + return (neuron0x14abbfd0()*0.728579); +} + +double rdNNEB::synapse0x14abe280() { + return (neuron0x14abc310()*0.608541); +} + +double rdNNEB::synapse0x14abe2c0() { + return (neuron0x14abc650()*-0.991141); +} + +double rdNNEB::synapse0x14abe300() { + return (neuron0x14abc990()*-0.397236); +} + +double rdNNEB::synapse0x14abe340() { + return (neuron0x14abccd0()*-0.505365); +} + +double rdNNEB::synapse0x14abe380() { + return (neuron0x14abd010()*0.0697281); +} + +double rdNNEB::synapse0x14abe700() { + return (neuron0x14abb950()*-0.606239); +} + +double rdNNEB::synapse0x14abe740() { + return (neuron0x14abbc90()*1.85788); +} + +double rdNNEB::synapse0x14abe780() { + return (neuron0x14abbfd0()*-0.0541781); +} + +double rdNNEB::synapse0x14abe7c0() { + return (neuron0x14abc310()*-0.156056); +} + +double rdNNEB::synapse0x14abe800() { + return (neuron0x14abc650()*-0.511695); +} + +double rdNNEB::synapse0x14abe840() { + return (neuron0x14abc990()*-0.0604903); +} + +double rdNNEB::synapse0x14abe880() { + return (neuron0x14abccd0()*0.296835); +} + +double rdNNEB::synapse0x14abe8c0() { + return (neuron0x14abd010()*0.151318); +} + +double rdNNEB::synapse0x14abec40() { + return (neuron0x14abb950()*0.45892); +} + +double rdNNEB::synapse0x14abb880() { + return (neuron0x14abbc90()*-0.113319); +} + +double rdNNEB::synapse0x14ac4590() { + return (neuron0x14abbfd0()*-0.0432273); +} + +double rdNNEB::synapse0x14319b50() { + return (neuron0x14abc310()*-1.20745); +} + +double rdNNEB::synapse0x14abe170() { + return (neuron0x14abc650()*-0.414526); +} + +double rdNNEB::synapse0x14abe1b0() { + return (neuron0x14abc990()*0.388562); +} + +double rdNNEB::synapse0x14abe1f0() { + return (neuron0x14abccd0()*0.581199); +} + +double rdNNEB::synapse0x14abe230() { + return (neuron0x14abd010()*-0.242221); +} + +double rdNNEB::synapse0x14abefc0() { + return (neuron0x14abb950()*-1.53883); +} + +double rdNNEB::synapse0x14abf000() { + return (neuron0x14abbc90()*-0.0712372); +} + +double rdNNEB::synapse0x14abf040() { + return (neuron0x14abbfd0()*-0.00473586); +} + +double rdNNEB::synapse0x14abf080() { + return (neuron0x14abc310()*0.202715); +} + +double rdNNEB::synapse0x14abf0c0() { + return (neuron0x14abc650()*0.403952); +} + +double rdNNEB::synapse0x14abf100() { + return (neuron0x14abc990()*0.306872); +} + +double rdNNEB::synapse0x14abf140() { + return (neuron0x14abccd0()*0.256241); +} + +double rdNNEB::synapse0x14abf180() { + return (neuron0x14abd010()*0.203546); +} + +double rdNNEB::synapse0x14abf500() { + return (neuron0x14abb950()*0.749902); +} + +double rdNNEB::synapse0x14abf540() { + return (neuron0x14abbc90()*0.186212); +} + +double rdNNEB::synapse0x14abf580() { + return (neuron0x14abbfd0()*0.641923); +} + +double rdNNEB::synapse0x14abf5c0() { + return (neuron0x14abc310()*0.0616216); +} + +double rdNNEB::synapse0x14abf600() { + return (neuron0x14abc650()*0.0547814); +} + +double rdNNEB::synapse0x14abf640() { + return (neuron0x14abc990()*0.150325); +} + +double rdNNEB::synapse0x14abf680() { + return (neuron0x14abccd0()*-0.037531); +} + +double rdNNEB::synapse0x14abf6c0() { + return (neuron0x14abd010()*0.00331658); +} + +double rdNNEB::synapse0x14abfa40() { + return (neuron0x14abb950()*-0.0260585); +} + +double rdNNEB::synapse0x14abfa80() { + return (neuron0x14abbc90()*0.243857); +} + +double rdNNEB::synapse0x14abfac0() { + return (neuron0x14abbfd0()*0.556623); +} + +double rdNNEB::synapse0x14abfb00() { + return (neuron0x14abc310()*0.786342); +} + +double rdNNEB::synapse0x14abfb40() { + return (neuron0x14abc650()*-1.22138); +} + +double rdNNEB::synapse0x14abfb80() { + return (neuron0x14abc990()*-0.180283); +} + +double rdNNEB::synapse0x14abfbc0() { + return (neuron0x14abccd0()*-0.557386); +} + +double rdNNEB::synapse0x14abfc00() { + return (neuron0x14abd010()*0.194623); +} + +double rdNNEB::synapse0x14208f70() { + return (neuron0x14abb950()*-0.560909); +} + +double rdNNEB::synapse0x14208fb0() { + return (neuron0x14abbc90()*0.618483); +} + +double rdNNEB::synapse0x14334920() { + return (neuron0x14abbfd0()*1.56332); +} + +double rdNNEB::synapse0x14334960() { + return (neuron0x14abc310()*-0.543328); +} + +double rdNNEB::synapse0x143349a0() { + return (neuron0x14abc650()*-0.183581); +} + +double rdNNEB::synapse0x143349e0() { + return (neuron0x14abc990()*0.7814); +} + +double rdNNEB::synapse0x14334a20() { + return (neuron0x14abccd0()*-0.104609); +} + +double rdNNEB::synapse0x14334a60() { + return (neuron0x14abd010()*-0.376717); +} + +double rdNNEB::synapse0x14ac0750() { + return (neuron0x14abb950()*-1.3224); +} + +double rdNNEB::synapse0x14ac0790() { + return (neuron0x14abbc90()*0.05359); +} + +double rdNNEB::synapse0x14ac07d0() { + return (neuron0x14abbfd0()*0.682048); +} + +double rdNNEB::synapse0x14ac0810() { + return (neuron0x14abc310()*-0.249621); +} + +double rdNNEB::synapse0x14ac0850() { + return (neuron0x14abc650()*-0.0417721); +} + +double rdNNEB::synapse0x14ac0890() { + return (neuron0x14abc990()*0.099426); +} + +double rdNNEB::synapse0x14ac08d0() { + return (neuron0x14abccd0()*0.417192); +} + +double rdNNEB::synapse0x14ac0910() { + return (neuron0x14abd010()*0.23391); +} + +double rdNNEB::synapse0x14ac0c90() { + return (neuron0x14abd480()*0.0948073); +} + +double rdNNEB::synapse0x14ac0cd0() { + return (neuron0x14abd8b0()*-1.02893); +} + +double rdNNEB::synapse0x14ac0d10() { + return (neuron0x14abddf0()*-0.509918); +} + +double rdNNEB::synapse0x14ac0d50() { + return (neuron0x14abe3c0()*0.867766); +} + +double rdNNEB::synapse0x14ac0d90() { + return (neuron0x14abe900()*0.664667); +} + +double rdNNEB::synapse0x14ac0dd0() { + return (neuron0x14abec80()*0.659037); +} + +double rdNNEB::synapse0x14ac0e10() { + return (neuron0x14abf1c0()*-1.63301); +} + +double rdNNEB::synapse0x14ac0e50() { + return (neuron0x14abf700()*0.626759); +} + +double rdNNEB::synapse0x14ac0e90() { + return (neuron0x14abfc40()*-0.251753); +} + +double rdNNEB::synapse0x14ac0ed0() { + return (neuron0x14ac04a0()*1.72268); +} + +double rdNNEB::synapse0x14ac1250() { + return (neuron0x14abd480()*0.86684); +} + +double rdNNEB::synapse0x14ac1290() { + return (neuron0x14abd8b0()*-0.228328); +} + +double rdNNEB::synapse0x14ac12d0() { + return (neuron0x14abddf0()*-2.27991); +} + +double rdNNEB::synapse0x14ac1310() { + return (neuron0x14abe3c0()*2.19628); +} + +double rdNNEB::synapse0x14ac1350() { + return (neuron0x14abe900()*-1.12465); +} + +double rdNNEB::synapse0x14ac1390() { + return (neuron0x14abec80()*-2.69582); +} + +double rdNNEB::synapse0x14ac13d0() { + return (neuron0x14abf1c0()*0.388994); +} + +double rdNNEB::synapse0x14ac1410() { + return (neuron0x14abf700()*-1.59652); +} + +double rdNNEB::synapse0x14ac1450() { + return (neuron0x14abfc40()*1.86835); +} + +double rdNNEB::synapse0x14ac1490() { + return (neuron0x14ac04a0()*1.49056); +} + +double rdNNEB::synapse0x14ac1810() { + return (neuron0x14abd480()*-0.290069); +} + +double rdNNEB::synapse0x14ac1850() { + return (neuron0x14abd8b0()*-0.803451); +} + +double rdNNEB::synapse0x14ac1890() { + return (neuron0x14abddf0()*0.00307815); +} + +double rdNNEB::synapse0x14ac18d0() { + return (neuron0x14abe3c0()*-0.777897); +} + +double rdNNEB::synapse0x14ac1910() { + return (neuron0x14abe900()*-0.291359); +} + +double rdNNEB::synapse0x14ac1950() { + return (neuron0x14abec80()*0.501869); +} + +double rdNNEB::synapse0x14ac1990() { + return (neuron0x14abf1c0()*0.991883); +} + +double rdNNEB::synapse0x14ac19d0() { + return (neuron0x14abf700()*-0.601744); +} + +double rdNNEB::synapse0x14ac1a10() { + return (neuron0x14abfc40()*-0.705386); +} + +double rdNNEB::synapse0x14ac1a50() { + return (neuron0x14ac04a0()*-1.02517); +} + +double rdNNEB::synapse0x14ac1dd0() { + return (neuron0x14abd480()*1.05875); +} + +double rdNNEB::synapse0x14ac1e10() { + return (neuron0x14abd8b0()*0.0280678); +} + +double rdNNEB::synapse0x14ac1e50() { + return (neuron0x14abddf0()*0.310589); +} + +double rdNNEB::synapse0x14ac1e90() { + return (neuron0x14abe3c0()*0.950605); +} + +double rdNNEB::synapse0x14ac1ed0() { + return (neuron0x14abe900()*-0.141197); +} + +double rdNNEB::synapse0x14ac1f10() { + return (neuron0x14abec80()*-0.781974); +} + +double rdNNEB::synapse0x14ac1f50() { + return (neuron0x14abf1c0()*1.51498); +} + +double rdNNEB::synapse0x14ac1f90() { + return (neuron0x14abf700()*-0.23685); +} + +double rdNNEB::synapse0x14ac1fd0() { + return (neuron0x14abfc40()*0.881958); +} + +double rdNNEB::synapse0x14ac2010() { + return (neuron0x14ac04a0()*-0.707959); +} + +double rdNNEB::synapse0x14ac2390() { + return (neuron0x14abd480()*-1.16238); +} + +double rdNNEB::synapse0x14ac23d0() { + return (neuron0x14abd8b0()*-0.98238); +} + +double rdNNEB::synapse0x14ac2410() { + return (neuron0x14abddf0()*1.1459); +} + +double rdNNEB::synapse0x14ac2450() { + return (neuron0x14abe3c0()*-1.25397); +} + +double rdNNEB::synapse0x14ac2490() { + return (neuron0x14abe900()*1.4953); +} + +double rdNNEB::synapse0x14ac24d0() { + return (neuron0x14abec80()*1.63361); +} + +double rdNNEB::synapse0x14ac2510() { + return (neuron0x14abf1c0()*-0.665746); +} + +double rdNNEB::synapse0x14ac2550() { + return (neuron0x14abf700()*0.569317); +} + +double rdNNEB::synapse0x14ac2590() { + return (neuron0x14abfc40()*-0.375751); +} + +double rdNNEB::synapse0x14ac0090() { + return (neuron0x14ac04a0()*-0.472168); +} + +double rdNNEB::synapse0x14ac0410() { + return (neuron0x14ac0950()*-2.71126); +} + +double rdNNEB::synapse0x14ac0450() { + return (neuron0x14ac0f10()*5.31703); +} + +double rdNNEB::synapse0x14abd350() { + return (neuron0x14ac14d0()*0.943595); +} + +double rdNNEB::synapse0x14abd390() { + return (neuron0x14ac1a90()*4.36333); +} + +double rdNNEB::synapse0x14abd3d0() { + return (neuron0x14ac2050()*-4.62187); +} + + +double rrNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.13794)/1.30956; + input1 = (in1 - 1.14956)/1.69316; + input2 = (in2 - 1.89563)/1.49913; + input3 = (in3 - 1.90666)/1.49442; + input4 = (in4 - 0.3065)/1.46726; + input5 = (in5 - 0.318454)/1.50742; + input6 = (in6 - 0.305354)/1.51455; + input7 = (in7 - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0xb0b3110(); + default: + return 0.; + } +} + +double rrNNEB::Value(int index, double* input) { + input0 = (input[0] - 4.13794)/1.30956; + input1 = (input[1] - 1.14956)/1.69316; + input2 = (input[2] - 1.89563)/1.49913; + input3 = (input[3] - 1.90666)/1.49442; + input4 = (input[4] - 0.3065)/1.46726; + input5 = (input[5] - 0.318454)/1.50742; + input6 = (input[6] - 0.305354)/1.51455; + input7 = (input[7] - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0xb0b3110(); + default: + return 0.; + } +} + +double rrNNEB::neuron0xb0ae990() { + return input0; +} + +double rrNNEB::neuron0xb0aecd0() { + return input1; +} + +double rrNNEB::neuron0xb0af010() { + return input2; +} + +double rrNNEB::neuron0xb0af350() { + return input3; +} + +double rrNNEB::neuron0xb0af690() { + return input4; +} + +double rrNNEB::neuron0xb0af9d0() { + return input5; +} + +double rrNNEB::neuron0xb0afd10() { + return input6; +} + +double rrNNEB::neuron0xb0b0050() { + return input7; +} + +double rrNNEB::input0xb0b04c0() { + double input = 1.16126; + input += synapse0xb00f390(); + input += synapse0xb0b7590(); + input += synapse0xb0b0770(); + input += synapse0xb0b07b0(); + input += synapse0xb0b07f0(); + input += synapse0xb0b0830(); + input += synapse0xb0b0870(); + input += synapse0xb0b08b0(); + return input; +} + +double rrNNEB::neuron0xb0b04c0() { + double input = input0xb0b04c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b08f0() { + double input = 0.288451; + input += synapse0xb0b0c30(); + input += synapse0xb0b0c70(); + input += synapse0xb0b0cb0(); + input += synapse0xb0b0cf0(); + input += synapse0xb0b0d30(); + input += synapse0xb0b0d70(); + input += synapse0xb0b0db0(); + input += synapse0xb0b0df0(); + return input; +} + +double rrNNEB::neuron0xb0b08f0() { + double input = input0xb0b08f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b0e30() { + double input = 0.390796; + input += synapse0xb0b1170(); + input += synapse0xa90e050(); + input += synapse0xa90e090(); + input += synapse0xb0b12c0(); + input += synapse0xb0b1300(); + input += synapse0xb0b1340(); + input += synapse0xb0b1380(); + input += synapse0xb0b13c0(); + return input; +} + +double rrNNEB::neuron0xb0b0e30() { + double input = input0xb0b0e30(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b1400() { + double input = -0.706336; + input += synapse0xb0b1740(); + input += synapse0xb0b1780(); + input += synapse0xb0b17c0(); + input += synapse0xb0b1800(); + input += synapse0xb0b1840(); + input += synapse0xb0b1880(); + input += synapse0xb0b18c0(); + input += synapse0xb0b1900(); + return input; +} + +double rrNNEB::neuron0xb0b1400() { + double input = input0xb0b1400(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b1940() { + double input = -1.43078; + input += synapse0xb0b1c80(); + input += synapse0xb0ae8c0(); + input += synapse0xb0b75d0(); + input += synapse0xa90cb90(); + input += synapse0xb0b11b0(); + input += synapse0xb0b11f0(); + input += synapse0xb0b1230(); + input += synapse0xb0b1270(); + return input; +} + +double rrNNEB::neuron0xb0b1940() { + double input = input0xb0b1940(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b1cc0() { + double input = 0.686351; + input += synapse0xb0b2000(); + input += synapse0xb0b2040(); + input += synapse0xb0b2080(); + input += synapse0xb0b20c0(); + input += synapse0xb0b2100(); + input += synapse0xb0b2140(); + input += synapse0xb0b2180(); + input += synapse0xb0b21c0(); + return input; +} + +double rrNNEB::neuron0xb0b1cc0() { + double input = input0xb0b1cc0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b2200() { + double input = 1.51256; + input += synapse0xb0b2540(); + input += synapse0xb0b2580(); + input += synapse0xb0b25c0(); + input += synapse0xb0b2600(); + input += synapse0xb0b2640(); + input += synapse0xb0b2680(); + input += synapse0xb0b26c0(); + input += synapse0xb0b2700(); + return input; +} + +double rrNNEB::neuron0xb0b2200() { + double input = input0xb0b2200(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b2740() { + double input = 0.163221; + input += synapse0xb0b2a80(); + input += synapse0xb0b2ac0(); + input += synapse0xb0b2b00(); + input += synapse0xb0b2b40(); + input += synapse0xb0b2b80(); + input += synapse0xb0b2bc0(); + input += synapse0xb0b2c00(); + input += synapse0xb0b2c40(); + return input; +} + +double rrNNEB::neuron0xb0b2740() { + double input = input0xb0b2740(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b2c80() { + double input = 0.103629; + input += synapse0xa7fbfb0(); + input += synapse0xa7fbff0(); + input += synapse0xa927960(); + input += synapse0xa9279a0(); + input += synapse0xa9279e0(); + input += synapse0xa927a20(); + input += synapse0xa927a60(); + input += synapse0xa927aa0(); + return input; +} + +double rrNNEB::neuron0xb0b2c80() { + double input = input0xb0b2c80(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b34e0() { + double input = 1.15988; + input += synapse0xb0b3790(); + input += synapse0xb0b37d0(); + input += synapse0xb0b3810(); + input += synapse0xb0b3850(); + input += synapse0xb0b3890(); + input += synapse0xb0b38d0(); + input += synapse0xb0b3910(); + input += synapse0xb0b3950(); + return input; +} + +double rrNNEB::neuron0xb0b34e0() { + double input = input0xb0b34e0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b3990() { + double input = 0.596451; + input += synapse0xb0b3cd0(); + input += synapse0xb0b3d10(); + input += synapse0xb0b3d50(); + input += synapse0xb0b3d90(); + input += synapse0xb0b3dd0(); + input += synapse0xb0b3e10(); + input += synapse0xb0b3e50(); + input += synapse0xb0b3e90(); + input += synapse0xb0b3ed0(); + input += synapse0xb0b3f10(); + return input; +} + +double rrNNEB::neuron0xb0b3990() { + double input = input0xb0b3990(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b3f50() { + double input = -0.30359; + input += synapse0xb0b4290(); + input += synapse0xb0b42d0(); + input += synapse0xb0b4310(); + input += synapse0xb0b4350(); + input += synapse0xb0b4390(); + input += synapse0xb0b43d0(); + input += synapse0xb0b4410(); + input += synapse0xb0b4450(); + input += synapse0xb0b4490(); + input += synapse0xb0b44d0(); + return input; +} + +double rrNNEB::neuron0xb0b3f50() { + double input = input0xb0b3f50(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b4510() { + double input = 0.0520657; + input += synapse0xb0b4850(); + input += synapse0xb0b4890(); + input += synapse0xb0b48d0(); + input += synapse0xb0b4910(); + input += synapse0xb0b4950(); + input += synapse0xb0b4990(); + input += synapse0xb0b49d0(); + input += synapse0xb0b4a10(); + input += synapse0xb0b4a50(); + input += synapse0xb0b4a90(); + return input; +} + +double rrNNEB::neuron0xb0b4510() { + double input = input0xb0b4510(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b4ad0() { + double input = -0.196957; + input += synapse0xb0b4e10(); + input += synapse0xb0b4e50(); + input += synapse0xb0b4e90(); + input += synapse0xb0b4ed0(); + input += synapse0xb0b4f10(); + input += synapse0xb0b4f50(); + input += synapse0xb0b4f90(); + input += synapse0xb0b4fd0(); + input += synapse0xb0b5010(); + input += synapse0xb0b5050(); + return input; +} + +double rrNNEB::neuron0xb0b4ad0() { + double input = input0xb0b4ad0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b5090() { + double input = -0.692853; + input += synapse0xb0b53d0(); + input += synapse0xb0b5410(); + input += synapse0xb0b5450(); + input += synapse0xb0b5490(); + input += synapse0xb0b54d0(); + input += synapse0xb0b5510(); + input += synapse0xb0b5550(); + input += synapse0xb0b5590(); + input += synapse0xb0b55d0(); + input += synapse0xb0b30d0(); + return input; +} + +double rrNNEB::neuron0xb0b5090() { + double input = input0xb0b5090(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEB::input0xb0b3110() { + double input = -5.05639; + input += synapse0xb0b3450(); + input += synapse0xb0b3490(); + input += synapse0xb0b0390(); + input += synapse0xb0b03d0(); + input += synapse0xb0b0410(); + return input; +} + +double rrNNEB::neuron0xb0b3110() { + double input = input0xb0b3110(); + return (input * 1)+0; +} + +double rrNNEB::synapse0xb00f390() { + return (neuron0xb0ae990()*0.605152); +} + +double rrNNEB::synapse0xb0b7590() { + return (neuron0xb0aecd0()*-0.0922336); +} + +double rrNNEB::synapse0xb0b0770() { + return (neuron0xb0af010()*0.149301); +} + +double rrNNEB::synapse0xb0b07b0() { + return (neuron0xb0af350()*0.0738282); +} + +double rrNNEB::synapse0xb0b07f0() { + return (neuron0xb0af690()*-0.352642); +} + +double rrNNEB::synapse0xb0b0830() { + return (neuron0xb0af9d0()*0.0919073); +} + +double rrNNEB::synapse0xb0b0870() { + return (neuron0xb0afd10()*-0.750544); +} + +double rrNNEB::synapse0xb0b08b0() { + return (neuron0xb0b0050()*-0.880366); +} + +double rrNNEB::synapse0xb0b0c30() { + return (neuron0xb0ae990()*1.36946); +} + +double rrNNEB::synapse0xb0b0c70() { + return (neuron0xb0aecd0()*2.02988); +} + +double rrNNEB::synapse0xb0b0cb0() { + return (neuron0xb0af010()*0.455045); +} + +double rrNNEB::synapse0xb0b0cf0() { + return (neuron0xb0af350()*0.449721); +} + +double rrNNEB::synapse0xb0b0d30() { + return (neuron0xb0af690()*-2.14025); +} + +double rrNNEB::synapse0xb0b0d70() { + return (neuron0xb0af9d0()*-1.43845); +} + +double rrNNEB::synapse0xb0b0db0() { + return (neuron0xb0afd10()*-0.384525); +} + +double rrNNEB::synapse0xb0b0df0() { + return (neuron0xb0b0050()*-0.370368); +} + +double rrNNEB::synapse0xb0b1170() { + return (neuron0xb0ae990()*-1.38509); +} + +double rrNNEB::synapse0xa90e050() { + return (neuron0xb0aecd0()*0.276106); +} + +double rrNNEB::synapse0xa90e090() { + return (neuron0xb0af010()*-0.356619); +} + +double rrNNEB::synapse0xb0b12c0() { + return (neuron0xb0af350()*-0.0844072); +} + +double rrNNEB::synapse0xb0b1300() { + return (neuron0xb0af690()*0.207364); +} + +double rrNNEB::synapse0xb0b1340() { + return (neuron0xb0af9d0()*0.672194); +} + +double rrNNEB::synapse0xb0b1380() { + return (neuron0xb0afd10()*0.320889); +} + +double rrNNEB::synapse0xb0b13c0() { + return (neuron0xb0b0050()*0.134055); +} + +double rrNNEB::synapse0xb0b1740() { + return (neuron0xb0ae990()*0.127745); +} + +double rrNNEB::synapse0xb0b1780() { + return (neuron0xb0aecd0()*-0.324372); +} + +double rrNNEB::synapse0xb0b17c0() { + return (neuron0xb0af010()*0.227847); +} + +double rrNNEB::synapse0xb0b1800() { + return (neuron0xb0af350()*0.307894); +} + +double rrNNEB::synapse0xb0b1840() { + return (neuron0xb0af690()*-0.718459); +} + +double rrNNEB::synapse0xb0b1880() { + return (neuron0xb0af9d0()*0.513562); +} + +double rrNNEB::synapse0xb0b18c0() { + return (neuron0xb0afd10()*0.140791); +} + +double rrNNEB::synapse0xb0b1900() { + return (neuron0xb0b0050()*0.177697); +} + +double rrNNEB::synapse0xb0b1c80() { + return (neuron0xb0ae990()*-0.825028); +} + +double rrNNEB::synapse0xb0ae8c0() { + return (neuron0xb0aecd0()*-0.543806); +} + +double rrNNEB::synapse0xb0b75d0() { + return (neuron0xb0af010()*1.0514); +} + +double rrNNEB::synapse0xa90cb90() { + return (neuron0xb0af350()*0.223959); +} + +double rrNNEB::synapse0xb0b11b0() { + return (neuron0xb0af690()*-1.47321); +} + +double rrNNEB::synapse0xb0b11f0() { + return (neuron0xb0af9d0()*1.05252); +} + +double rrNNEB::synapse0xb0b1230() { + return (neuron0xb0afd10()*0.195496); +} + +double rrNNEB::synapse0xb0b1270() { + return (neuron0xb0b0050()*0.184128); +} + +double rrNNEB::synapse0xb0b2000() { + return (neuron0xb0ae990()*0.720829); +} + +double rrNNEB::synapse0xb0b2040() { + return (neuron0xb0aecd0()*0.724649); +} + +double rrNNEB::synapse0xb0b2080() { + return (neuron0xb0af010()*0.995317); +} + +double rrNNEB::synapse0xb0b20c0() { + return (neuron0xb0af350()*1.3153); +} + +double rrNNEB::synapse0xb0b2100() { + return (neuron0xb0af690()*-0.703115); +} + +double rrNNEB::synapse0xb0b2140() { + return (neuron0xb0af9d0()*-1.02371); +} + +double rrNNEB::synapse0xb0b2180() { + return (neuron0xb0afd10()*0.102528); +} + +double rrNNEB::synapse0xb0b21c0() { + return (neuron0xb0b0050()*0.012124); +} + +double rrNNEB::synapse0xb0b2540() { + return (neuron0xb0ae990()*-0.20377); +} + +double rrNNEB::synapse0xb0b2580() { + return (neuron0xb0aecd0()*0.174654); +} + +double rrNNEB::synapse0xb0b25c0() { + return (neuron0xb0af010()*0.00425452); +} + +double rrNNEB::synapse0xb0b2600() { + return (neuron0xb0af350()*-0.153449); +} + +double rrNNEB::synapse0xb0b2640() { + return (neuron0xb0af690()*0.859321); +} + +double rrNNEB::synapse0xb0b2680() { + return (neuron0xb0af9d0()*0.878773); +} + +double rrNNEB::synapse0xb0b26c0() { + return (neuron0xb0afd10()*-0.393275); +} + +double rrNNEB::synapse0xb0b2700() { + return (neuron0xb0b0050()*-0.673188); +} + +double rrNNEB::synapse0xb0b2a80() { + return (neuron0xb0ae990()*0.541441); +} + +double rrNNEB::synapse0xb0b2ac0() { + return (neuron0xb0aecd0()*0.265352); +} + +double rrNNEB::synapse0xb0b2b00() { + return (neuron0xb0af010()*-1.66637); +} + +double rrNNEB::synapse0xb0b2b40() { + return (neuron0xb0af350()*-0.211802); +} + +double rrNNEB::synapse0xb0b2b80() { + return (neuron0xb0af690()*0.570811); +} + +double rrNNEB::synapse0xb0b2bc0() { + return (neuron0xb0af9d0()*1.19751); +} + +double rrNNEB::synapse0xb0b2c00() { + return (neuron0xb0afd10()*-0.280904); +} + +double rrNNEB::synapse0xb0b2c40() { + return (neuron0xb0b0050()*-0.12274); +} + +double rrNNEB::synapse0xa7fbfb0() { + return (neuron0xb0ae990()*4.05102); +} + +double rrNNEB::synapse0xa7fbff0() { + return (neuron0xb0aecd0()*-0.875368); +} + +double rrNNEB::synapse0xa927960() { + return (neuron0xb0af010()*1.21106); +} + +double rrNNEB::synapse0xa9279a0() { + return (neuron0xb0af350()*0.0400104); +} + +double rrNNEB::synapse0xa9279e0() { + return (neuron0xb0af690()*-2.51356); +} + +double rrNNEB::synapse0xa927a20() { + return (neuron0xb0af9d0()*-1.47699); +} + +double rrNNEB::synapse0xa927a60() { + return (neuron0xb0afd10()*-0.787877); +} + +double rrNNEB::synapse0xa927aa0() { + return (neuron0xb0b0050()*-0.402396); +} + +double rrNNEB::synapse0xb0b3790() { + return (neuron0xb0ae990()*-0.0941635); +} + +double rrNNEB::synapse0xb0b37d0() { + return (neuron0xb0aecd0()*0.15048); +} + +double rrNNEB::synapse0xb0b3810() { + return (neuron0xb0af010()*1.18917); +} + +double rrNNEB::synapse0xb0b3850() { + return (neuron0xb0af350()*-1.94427); +} + +double rrNNEB::synapse0xb0b3890() { + return (neuron0xb0af690()*-0.783299); +} + +double rrNNEB::synapse0xb0b38d0() { + return (neuron0xb0af9d0()*1.74181); +} + +double rrNNEB::synapse0xb0b3910() { + return (neuron0xb0afd10()*0.0131229); +} + +double rrNNEB::synapse0xb0b3950() { + return (neuron0xb0b0050()*-0.212452); +} + +double rrNNEB::synapse0xb0b3cd0() { + return (neuron0xb0b04c0()*-1.31458); +} + +double rrNNEB::synapse0xb0b3d10() { + return (neuron0xb0b08f0()*-1.47201); +} + +double rrNNEB::synapse0xb0b3d50() { + return (neuron0xb0b0e30()*-2.1513); +} + +double rrNNEB::synapse0xb0b3d90() { + return (neuron0xb0b1400()*0.611078); +} + +double rrNNEB::synapse0xb0b3dd0() { + return (neuron0xb0b1940()*-0.932359); +} + +double rrNNEB::synapse0xb0b3e10() { + return (neuron0xb0b1cc0()*-0.271423); +} + +double rrNNEB::synapse0xb0b3e50() { + return (neuron0xb0b2200()*1.84772); +} + +double rrNNEB::synapse0xb0b3e90() { + return (neuron0xb0b2740()*0.0107637); +} + +double rrNNEB::synapse0xb0b3ed0() { + return (neuron0xb0b2c80()*0.161287); +} + +double rrNNEB::synapse0xb0b3f10() { + return (neuron0xb0b34e0()*0.544009); +} + +double rrNNEB::synapse0xb0b4290() { + return (neuron0xb0b04c0()*-1.58107); +} + +double rrNNEB::synapse0xb0b42d0() { + return (neuron0xb0b08f0()*-0.50392); +} + +double rrNNEB::synapse0xb0b4310() { + return (neuron0xb0b0e30()*-0.850074); +} + +double rrNNEB::synapse0xb0b4350() { + return (neuron0xb0b1400()*1.62414); +} + +double rrNNEB::synapse0xb0b4390() { + return (neuron0xb0b1940()*0.379895); +} + +double rrNNEB::synapse0xb0b43d0() { + return (neuron0xb0b1cc0()*-0.421928); +} + +double rrNNEB::synapse0xb0b4410() { + return (neuron0xb0b2200()*1.94032); +} + +double rrNNEB::synapse0xb0b4450() { + return (neuron0xb0b2740()*0.40022); +} + +double rrNNEB::synapse0xb0b4490() { + return (neuron0xb0b2c80()*-0.381851); +} + +double rrNNEB::synapse0xb0b44d0() { + return (neuron0xb0b34e0()*-0.213928); +} + +double rrNNEB::synapse0xb0b4850() { + return (neuron0xb0b04c0()*-0.875178); +} + +double rrNNEB::synapse0xb0b4890() { + return (neuron0xb0b08f0()*0.763808); +} + +double rrNNEB::synapse0xb0b48d0() { + return (neuron0xb0b0e30()*-2.06516); +} + +double rrNNEB::synapse0xb0b4910() { + return (neuron0xb0b1400()*2.18368); +} + +double rrNNEB::synapse0xb0b4950() { + return (neuron0xb0b1940()*-0.676228); +} + +double rrNNEB::synapse0xb0b4990() { + return (neuron0xb0b1cc0()*0.936987); +} + +double rrNNEB::synapse0xb0b49d0() { + return (neuron0xb0b2200()*1.28271); +} + +double rrNNEB::synapse0xb0b4a10() { + return (neuron0xb0b2740()*0.279625); +} + +double rrNNEB::synapse0xb0b4a50() { + return (neuron0xb0b2c80()*0.277457); +} + +double rrNNEB::synapse0xb0b4a90() { + return (neuron0xb0b34e0()*0.203106); +} + +double rrNNEB::synapse0xb0b4e10() { + return (neuron0xb0b04c0()*-0.448124); +} + +double rrNNEB::synapse0xb0b4e50() { + return (neuron0xb0b08f0()*-0.367835); +} + +double rrNNEB::synapse0xb0b4e90() { + return (neuron0xb0b0e30()*-0.670159); +} + +double rrNNEB::synapse0xb0b4ed0() { + return (neuron0xb0b1400()*0.927953); +} + +double rrNNEB::synapse0xb0b4f10() { + return (neuron0xb0b1940()*-0.04733); +} + +double rrNNEB::synapse0xb0b4f50() { + return (neuron0xb0b1cc0()*-0.508311); +} + +double rrNNEB::synapse0xb0b4f90() { + return (neuron0xb0b2200()*0.804349); +} + +double rrNNEB::synapse0xb0b4fd0() { + return (neuron0xb0b2740()*0.480625); +} + +double rrNNEB::synapse0xb0b5010() { + return (neuron0xb0b2c80()*0.187565); +} + +double rrNNEB::synapse0xb0b5050() { + return (neuron0xb0b34e0()*-0.588078); +} + +double rrNNEB::synapse0xb0b53d0() { + return (neuron0xb0b04c0()*-1.98538); +} + +double rrNNEB::synapse0xb0b5410() { + return (neuron0xb0b08f0()*-2.25635); +} + +double rrNNEB::synapse0xb0b5450() { + return (neuron0xb0b0e30()*0.363142); +} + +double rrNNEB::synapse0xb0b5490() { + return (neuron0xb0b1400()*0.689364); +} + +double rrNNEB::synapse0xb0b54d0() { + return (neuron0xb0b1940()*-2.41042); +} + +double rrNNEB::synapse0xb0b5510() { + return (neuron0xb0b1cc0()*-0.94643); +} + +double rrNNEB::synapse0xb0b5550() { + return (neuron0xb0b2200()*-0.166018); +} + +double rrNNEB::synapse0xb0b5590() { + return (neuron0xb0b2740()*1.13809); +} + +double rrNNEB::synapse0xb0b55d0() { + return (neuron0xb0b2c80()*-2.84646); +} + +double rrNNEB::synapse0xb0b30d0() { + return (neuron0xb0b34e0()*2.69381); +} + +double rrNNEB::synapse0xb0b3450() { + return (neuron0xb0b3990()*2.7719); +} + +double rrNNEB::synapse0xb0b3490() { + return (neuron0xb0b3f50()*3.24816); +} + +double rrNNEB::synapse0xb0b0390() { + return (neuron0xb0b4510()*4.16451); +} + +double rrNNEB::synapse0xb0b03d0() { + return (neuron0xb0b4ad0()*1.17779); +} + +double rrNNEB::synapse0xb0b0410() { + return (neuron0xb0b5090()*3.92439); +} + +double ruNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.13794)/1.30956; + input1 = (in1 - 1.15492)/1.68616; + input2 = (in2 - 1.14956)/1.69316; + input3 = (in3 - 1.89563)/1.49913; + input4 = (in4 - 1.90666)/1.49442; + input5 = (in5 - 0.318454)/1.50742; + input6 = (in6 - 0.305354)/1.51455; + input7 = (in7 - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0xc536fd0(); + default: + return 0.; + } +} + +double ruNNEB::Value(int index, double* input) { + input0 = (input[0] - 4.13794)/1.30956; + input1 = (input[1] - 1.15492)/1.68616; + input2 = (input[2] - 1.14956)/1.69316; + input3 = (input[3] - 1.89563)/1.49913; + input4 = (input[4] - 1.90666)/1.49442; + input5 = (input[5] - 0.318454)/1.50742; + input6 = (input[6] - 0.305354)/1.51455; + input7 = (input[7] - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0xc536fd0(); + default: + return 0.; + } +} + +double ruNNEB::neuron0xc532850() { + return input0; +} + +double ruNNEB::neuron0xc532b90() { + return input1; +} + +double ruNNEB::neuron0xc532ed0() { + return input2; +} + +double ruNNEB::neuron0xc533210() { + return input3; +} + +double ruNNEB::neuron0xc533550() { + return input4; +} + +double ruNNEB::neuron0xc533890() { + return input5; +} + +double ruNNEB::neuron0xc533bd0() { + return input6; +} + +double ruNNEB::neuron0xc533f10() { + return input7; +} + +double ruNNEB::input0xc534380() { + double input = 1.45945; + input += synapse0xc493250(); + input += synapse0xc53b450(); + input += synapse0xc534630(); + input += synapse0xc534670(); + input += synapse0xc5346b0(); + input += synapse0xc5346f0(); + input += synapse0xc534730(); + input += synapse0xc534770(); + return input; +} + +double ruNNEB::neuron0xc534380() { + double input = input0xc534380(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc5347b0() { + double input = 2.06722; + input += synapse0xc534af0(); + input += synapse0xc534b30(); + input += synapse0xc534b70(); + input += synapse0xc534bb0(); + input += synapse0xc534bf0(); + input += synapse0xc534c30(); + input += synapse0xc534c70(); + input += synapse0xc534cb0(); + return input; +} + +double ruNNEB::neuron0xc5347b0() { + double input = input0xc5347b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc534cf0() { + double input = -0.660232; + input += synapse0xc535030(); + input += synapse0xbd91f10(); + input += synapse0xbd91f50(); + input += synapse0xc535180(); + input += synapse0xc5351c0(); + input += synapse0xc535200(); + input += synapse0xc535240(); + input += synapse0xc535280(); + return input; +} + +double ruNNEB::neuron0xc534cf0() { + double input = input0xc534cf0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc5352c0() { + double input = -0.124235; + input += synapse0xc535600(); + input += synapse0xc535640(); + input += synapse0xc535680(); + input += synapse0xc5356c0(); + input += synapse0xc535700(); + input += synapse0xc535740(); + input += synapse0xc535780(); + input += synapse0xc5357c0(); + return input; +} + +double ruNNEB::neuron0xc5352c0() { + double input = input0xc5352c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc535800() { + double input = 1.07315; + input += synapse0xc535b40(); + input += synapse0xc532780(); + input += synapse0xc53b490(); + input += synapse0xbd90a50(); + input += synapse0xc535070(); + input += synapse0xc5350b0(); + input += synapse0xc5350f0(); + input += synapse0xc535130(); + return input; +} + +double ruNNEB::neuron0xc535800() { + double input = input0xc535800(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc535b80() { + double input = -0.607245; + input += synapse0xc535ec0(); + input += synapse0xc535f00(); + input += synapse0xc535f40(); + input += synapse0xc535f80(); + input += synapse0xc535fc0(); + input += synapse0xc536000(); + input += synapse0xc536040(); + input += synapse0xc536080(); + return input; +} + +double ruNNEB::neuron0xc535b80() { + double input = input0xc535b80(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc5360c0() { + double input = 0.389523; + input += synapse0xc536400(); + input += synapse0xc536440(); + input += synapse0xc536480(); + input += synapse0xc5364c0(); + input += synapse0xc536500(); + input += synapse0xc536540(); + input += synapse0xc536580(); + input += synapse0xc5365c0(); + return input; +} + +double ruNNEB::neuron0xc5360c0() { + double input = input0xc5360c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc536600() { + double input = -2.57324; + input += synapse0xc536940(); + input += synapse0xc536980(); + input += synapse0xc5369c0(); + input += synapse0xc536a00(); + input += synapse0xc536a40(); + input += synapse0xc536a80(); + input += synapse0xc536ac0(); + input += synapse0xc536b00(); + return input; +} + +double ruNNEB::neuron0xc536600() { + double input = input0xc536600(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc536b40() { + double input = -1.05451; + input += synapse0xbc7fe70(); + input += synapse0xbc7feb0(); + input += synapse0xbdab820(); + input += synapse0xbdab860(); + input += synapse0xbdab8a0(); + input += synapse0xbdab8e0(); + input += synapse0xbdab920(); + input += synapse0xbdab960(); + return input; +} + +double ruNNEB::neuron0xc536b40() { + double input = input0xc536b40(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc5373a0() { + double input = 0.758507; + input += synapse0xc537650(); + input += synapse0xc537690(); + input += synapse0xc5376d0(); + input += synapse0xc537710(); + input += synapse0xc537750(); + input += synapse0xc537790(); + input += synapse0xc5377d0(); + input += synapse0xc537810(); + return input; +} + +double ruNNEB::neuron0xc5373a0() { + double input = input0xc5373a0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc537850() { + double input = -0.2328; + input += synapse0xc537b90(); + input += synapse0xc537bd0(); + input += synapse0xc537c10(); + input += synapse0xc537c50(); + input += synapse0xc537c90(); + input += synapse0xc537cd0(); + input += synapse0xc537d10(); + input += synapse0xc537d50(); + input += synapse0xc537d90(); + input += synapse0xc537dd0(); + return input; +} + +double ruNNEB::neuron0xc537850() { + double input = input0xc537850(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc537e10() { + double input = 0.0236358; + input += synapse0xc538150(); + input += synapse0xc538190(); + input += synapse0xc5381d0(); + input += synapse0xc538210(); + input += synapse0xc538250(); + input += synapse0xc538290(); + input += synapse0xc5382d0(); + input += synapse0xc538310(); + input += synapse0xc538350(); + input += synapse0xc538390(); + return input; +} + +double ruNNEB::neuron0xc537e10() { + double input = input0xc537e10(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc5383d0() { + double input = 0.155914; + input += synapse0xc538710(); + input += synapse0xc538750(); + input += synapse0xc538790(); + input += synapse0xc5387d0(); + input += synapse0xc538810(); + input += synapse0xc538850(); + input += synapse0xc538890(); + input += synapse0xc5388d0(); + input += synapse0xc538910(); + input += synapse0xc538950(); + return input; +} + +double ruNNEB::neuron0xc5383d0() { + double input = input0xc5383d0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc538990() { + double input = -0.295368; + input += synapse0xc538cd0(); + input += synapse0xc538d10(); + input += synapse0xc538d50(); + input += synapse0xc538d90(); + input += synapse0xc538dd0(); + input += synapse0xc538e10(); + input += synapse0xc538e50(); + input += synapse0xc538e90(); + input += synapse0xc538ed0(); + input += synapse0xc538f10(); + return input; +} + +double ruNNEB::neuron0xc538990() { + double input = input0xc538990(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc538f50() { + double input = 0.132164; + input += synapse0xc539290(); + input += synapse0xc5392d0(); + input += synapse0xc539310(); + input += synapse0xc539350(); + input += synapse0xc539390(); + input += synapse0xc5393d0(); + input += synapse0xc539410(); + input += synapse0xc539450(); + input += synapse0xc539490(); + input += synapse0xc536f90(); + return input; +} + +double ruNNEB::neuron0xc538f50() { + double input = input0xc538f50(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEB::input0xc536fd0() { + double input = -2.06837; + input += synapse0xc537310(); + input += synapse0xc537350(); + input += synapse0xc534250(); + input += synapse0xc534290(); + input += synapse0xc5342d0(); + return input; +} + +double ruNNEB::neuron0xc536fd0() { + double input = input0xc536fd0(); + return (input * 1)+0; +} + +double ruNNEB::synapse0xc493250() { + return (neuron0xc532850()*-0.0701012); +} + +double ruNNEB::synapse0xc53b450() { + return (neuron0xc532b90()*-0.66992); +} + +double ruNNEB::synapse0xc534630() { + return (neuron0xc532ed0()*-0.640978); +} + +double ruNNEB::synapse0xc534670() { + return (neuron0xc533210()*1.0476); +} + +double ruNNEB::synapse0xc5346b0() { + return (neuron0xc533550()*-0.211549); +} + +double ruNNEB::synapse0xc5346f0() { + return (neuron0xc533890()*0.604938); +} + +double ruNNEB::synapse0xc534730() { + return (neuron0xc533bd0()*-0.48798); +} + +double ruNNEB::synapse0xc534770() { + return (neuron0xc533f10()*0.379182); +} + +double ruNNEB::synapse0xc534af0() { + return (neuron0xc532850()*-1.1129); +} + +double ruNNEB::synapse0xc534b30() { + return (neuron0xc532b90()*-0.682829); +} + +double ruNNEB::synapse0xc534b70() { + return (neuron0xc532ed0()*-0.341504); +} + +double ruNNEB::synapse0xc534bb0() { + return (neuron0xc533210()*0.49885); +} + +double ruNNEB::synapse0xc534bf0() { + return (neuron0xc533550()*0.812563); +} + +double ruNNEB::synapse0xc534c30() { + return (neuron0xc533890()*0.346436); +} + +double ruNNEB::synapse0xc534c70() { + return (neuron0xc533bd0()*0.112762); +} + +double ruNNEB::synapse0xc534cb0() { + return (neuron0xc533f10()*-0.00576687); +} + +double ruNNEB::synapse0xc535030() { + return (neuron0xc532850()*0.905371); +} + +double ruNNEB::synapse0xbd91f10() { + return (neuron0xc532b90()*-0.081892); +} + +double ruNNEB::synapse0xbd91f50() { + return (neuron0xc532ed0()*-1.43722); +} + +double ruNNEB::synapse0xc535180() { + return (neuron0xc533210()*0.822035); +} + +double ruNNEB::synapse0xc5351c0() { + return (neuron0xc533550()*0.0800306); +} + +double ruNNEB::synapse0xc535200() { + return (neuron0xc533890()*-0.25427); +} + +double ruNNEB::synapse0xc535240() { + return (neuron0xc533bd0()*-0.147545); +} + +double ruNNEB::synapse0xc535280() { + return (neuron0xc533f10()*-0.713625); +} + +double ruNNEB::synapse0xc535600() { + return (neuron0xc532850()*-0.0268293); +} + +double ruNNEB::synapse0xc535640() { + return (neuron0xc532b90()*0.136042); +} + +double ruNNEB::synapse0xc535680() { + return (neuron0xc532ed0()*-0.152346); +} + +double ruNNEB::synapse0xc5356c0() { + return (neuron0xc533210()*-0.0287884); +} + +double ruNNEB::synapse0xc535700() { + return (neuron0xc533550()*0.120797); +} + +double ruNNEB::synapse0xc535740() { + return (neuron0xc533890()*-0.63162); +} + +double ruNNEB::synapse0xc535780() { + return (neuron0xc533bd0()*1.03652); +} + +double ruNNEB::synapse0xc5357c0() { + return (neuron0xc533f10()*0.725806); +} + +double ruNNEB::synapse0xc535b40() { + return (neuron0xc532850()*0.259529); +} + +double ruNNEB::synapse0xc532780() { + return (neuron0xc532b90()*-0.096735); +} + +double ruNNEB::synapse0xc53b490() { + return (neuron0xc532ed0()*-1.03728); +} + +double ruNNEB::synapse0xbd90a50() { + return (neuron0xc533210()*-0.130331); +} + +double ruNNEB::synapse0xc535070() { + return (neuron0xc533550()*-0.665413); +} + +double ruNNEB::synapse0xc5350b0() { + return (neuron0xc533890()*-0.0465597); +} + +double ruNNEB::synapse0xc5350f0() { + return (neuron0xc533bd0()*0.125835); +} + +double ruNNEB::synapse0xc535130() { + return (neuron0xc533f10()*0.903114); +} + +double ruNNEB::synapse0xc535ec0() { + return (neuron0xc532850()*-0.493811); +} + +double ruNNEB::synapse0xc535f00() { + return (neuron0xc532b90()*0.104356); +} + +double ruNNEB::synapse0xc535f40() { + return (neuron0xc532ed0()*-0.57549); +} + +double ruNNEB::synapse0xc535f80() { + return (neuron0xc533210()*-0.0153415); +} + +double ruNNEB::synapse0xc535fc0() { + return (neuron0xc533550()*0.0543057); +} + +double ruNNEB::synapse0xc536000() { + return (neuron0xc533890()*-0.549977); +} + +double ruNNEB::synapse0xc536040() { + return (neuron0xc533bd0()*-0.461156); +} + +double ruNNEB::synapse0xc536080() { + return (neuron0xc533f10()*0.0203922); +} + +double ruNNEB::synapse0xc536400() { + return (neuron0xc532850()*0.234716); +} + +double ruNNEB::synapse0xc536440() { + return (neuron0xc532b90()*0.651407); +} + +double ruNNEB::synapse0xc536480() { + return (neuron0xc532ed0()*-0.214669); +} + +double ruNNEB::synapse0xc5364c0() { + return (neuron0xc533210()*-0.160465); +} + +double ruNNEB::synapse0xc536500() { + return (neuron0xc533550()*0.0914841); +} + +double ruNNEB::synapse0xc536540() { + return (neuron0xc533890()*-0.74246); +} + +double ruNNEB::synapse0xc536580() { + return (neuron0xc533bd0()*0.583625); +} + +double ruNNEB::synapse0xc5365c0() { + return (neuron0xc533f10()*0.198533); +} + +double ruNNEB::synapse0xc536940() { + return (neuron0xc532850()*-1.40039); +} + +double ruNNEB::synapse0xc536980() { + return (neuron0xc532b90()*0.724146); +} + +double ruNNEB::synapse0xc5369c0() { + return (neuron0xc532ed0()*-0.179277); +} + +double ruNNEB::synapse0xc536a00() { + return (neuron0xc533210()*1.00082); +} + +double ruNNEB::synapse0xc536a40() { + return (neuron0xc533550()*-0.468151); +} + +double ruNNEB::synapse0xc536a80() { + return (neuron0xc533890()*0.551447); +} + +double ruNNEB::synapse0xc536ac0() { + return (neuron0xc533bd0()*-0.236782); +} + +double ruNNEB::synapse0xc536b00() { + return (neuron0xc533f10()*0.378075); +} + +double ruNNEB::synapse0xbc7fe70() { + return (neuron0xc532850()*0.35642); +} + +double ruNNEB::synapse0xbc7feb0() { + return (neuron0xc532b90()*-1.68175); +} + +double ruNNEB::synapse0xbdab820() { + return (neuron0xc532ed0()*0.779485); +} + +double ruNNEB::synapse0xbdab860() { + return (neuron0xc533210()*0.371443); +} + +double ruNNEB::synapse0xbdab8a0() { + return (neuron0xc533550()*0.162279); +} + +double ruNNEB::synapse0xbdab8e0() { + return (neuron0xc533890()*0.24014); +} + +double ruNNEB::synapse0xbdab920() { + return (neuron0xc533bd0()*-0.283817); +} + +double ruNNEB::synapse0xbdab960() { + return (neuron0xc533f10()*-0.482751); +} + +double ruNNEB::synapse0xc537650() { + return (neuron0xc532850()*-0.762919); +} + +double ruNNEB::synapse0xc537690() { + return (neuron0xc532b90()*0.18839); +} + +double ruNNEB::synapse0xc5376d0() { + return (neuron0xc532ed0()*-0.829236); +} + +double ruNNEB::synapse0xc537710() { + return (neuron0xc533210()*0.463294); +} + +double ruNNEB::synapse0xc537750() { + return (neuron0xc533550()*-0.169371); +} + +double ruNNEB::synapse0xc537790() { + return (neuron0xc533890()*0.171274); +} + +double ruNNEB::synapse0xc5377d0() { + return (neuron0xc533bd0()*-0.195367); +} + +double ruNNEB::synapse0xc537810() { + return (neuron0xc533f10()*0.276946); +} + +double ruNNEB::synapse0xc537b90() { + return (neuron0xc534380()*0.89148); +} + +double ruNNEB::synapse0xc537bd0() { + return (neuron0xc5347b0()*-1.36244); +} + +double ruNNEB::synapse0xc537c10() { + return (neuron0xc534cf0()*1.21674); +} + +double ruNNEB::synapse0xc537c50() { + return (neuron0xc5352c0()*0.396925); +} + +double ruNNEB::synapse0xc537c90() { + return (neuron0xc535800()*-1.70521); +} + +double ruNNEB::synapse0xc537cd0() { + return (neuron0xc535b80()*-0.232645); +} + +double ruNNEB::synapse0xc537d10() { + return (neuron0xc5360c0()*0.674072); +} + +double ruNNEB::synapse0xc537d50() { + return (neuron0xc536600()*1.33276); +} + +double ruNNEB::synapse0xc537d90() { + return (neuron0xc536b40()*-1.47118); +} + +double ruNNEB::synapse0xc537dd0() { + return (neuron0xc5373a0()*-1.54233); +} + +double ruNNEB::synapse0xc538150() { + return (neuron0xc534380()*1.01373); +} + +double ruNNEB::synapse0xc538190() { + return (neuron0xc5347b0()*-0.704411); +} + +double ruNNEB::synapse0xc5381d0() { + return (neuron0xc534cf0()*0.465801); +} + +double ruNNEB::synapse0xc538210() { + return (neuron0xc5352c0()*-0.566637); +} + +double ruNNEB::synapse0xc538250() { + return (neuron0xc535800()*-0.699478); +} + +double ruNNEB::synapse0xc538290() { + return (neuron0xc535b80()*-0.39378); +} + +double ruNNEB::synapse0xc5382d0() { + return (neuron0xc5360c0()*0.895162); +} + +double ruNNEB::synapse0xc538310() { + return (neuron0xc536600()*0.890616); +} + +double ruNNEB::synapse0xc538350() { + return (neuron0xc536b40()*-0.417674); +} + +double ruNNEB::synapse0xc538390() { + return (neuron0xc5373a0()*-0.425274); +} + +double ruNNEB::synapse0xc538710() { + return (neuron0xc534380()*0.916152); +} + +double ruNNEB::synapse0xc538750() { + return (neuron0xc5347b0()*-0.55573); +} + +double ruNNEB::synapse0xc538790() { + return (neuron0xc534cf0()*0.523426); +} + +double ruNNEB::synapse0xc5387d0() { + return (neuron0xc5352c0()*-0.803919); +} + +double ruNNEB::synapse0xc538810() { + return (neuron0xc535800()*-0.730321); +} + +double ruNNEB::synapse0xc538850() { + return (neuron0xc535b80()*-0.496462); +} + +double ruNNEB::synapse0xc538890() { + return (neuron0xc5360c0()*0.818055); +} + +double ruNNEB::synapse0xc5388d0() { + return (neuron0xc536600()*1.25811); +} + +double ruNNEB::synapse0xc538910() { + return (neuron0xc536b40()*-0.496195); +} + +double ruNNEB::synapse0xc538950() { + return (neuron0xc5373a0()*-0.769757); +} + +double ruNNEB::synapse0xc538cd0() { + return (neuron0xc534380()*-1.67636); +} + +double ruNNEB::synapse0xc538d10() { + return (neuron0xc5347b0()*-0.0178184); +} + +double ruNNEB::synapse0xc538d50() { + return (neuron0xc534cf0()*0.0371507); +} + +double ruNNEB::synapse0xc538d90() { + return (neuron0xc5352c0()*0.104829); +} + +double ruNNEB::synapse0xc538dd0() { + return (neuron0xc535800()*1.10022); +} + +double ruNNEB::synapse0xc538e10() { + return (neuron0xc535b80()*0.300674); +} + +double ruNNEB::synapse0xc538e50() { + return (neuron0xc5360c0()*-1.27645); +} + +double ruNNEB::synapse0xc538e90() { + return (neuron0xc536600()*-0.661545); +} + +double ruNNEB::synapse0xc538ed0() { + return (neuron0xc536b40()*0.600524); +} + +double ruNNEB::synapse0xc538f10() { + return (neuron0xc5373a0()*1.10324); +} + +double ruNNEB::synapse0xc539290() { + return (neuron0xc534380()*0.342316); +} + +double ruNNEB::synapse0xc5392d0() { + return (neuron0xc5347b0()*-0.856519); +} + +double ruNNEB::synapse0xc539310() { + return (neuron0xc534cf0()*0.525865); +} + +double ruNNEB::synapse0xc539350() { + return (neuron0xc5352c0()*0.121581); +} + +double ruNNEB::synapse0xc539390() { + return (neuron0xc535800()*-1.23787); +} + +double ruNNEB::synapse0xc5393d0() { + return (neuron0xc535b80()*-0.166805); +} + +double ruNNEB::synapse0xc539410() { + return (neuron0xc5360c0()*-0.190686); +} + +double ruNNEB::synapse0xc539450() { + return (neuron0xc536600()*0.687436); +} + +double ruNNEB::synapse0xc539490() { + return (neuron0xc536b40()*-0.671269); +} + +double ruNNEB::synapse0xc536f90() { + return (neuron0xc5373a0()*-1.17779); +} + +double ruNNEB::synapse0xc537310() { + return (neuron0xc537850()*4.14555); +} + +double ruNNEB::synapse0xc537350() { + return (neuron0xc537e10()*3.50214); +} + +double ruNNEB::synapse0xc534250() { + return (neuron0xc5383d0()*4.58479); +} + +double ruNNEB::synapse0xc534290() { + return (neuron0xc538990()*-3.61183); +} + +double ruNNEB::synapse0xc5342d0() { + return (neuron0xc538f50()*0.901646); +} + +double uuNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.13794)/1.30956; + input1 = (in1 - 1.15492)/1.68616; + input2 = (in2 - 1.14956)/1.69316; + input3 = (in3 - 1.90666)/1.49442; + input4 = (in4 - 0.3065)/1.46726; + input5 = (in5 - 0.318454)/1.50742; + input6 = (in6 - 0.305354)/1.51455; + input7 = (in7 - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x215a5090(); + default: + return 0.; + } +} + +double uuNNEB::Value(int index, double* input) { + input0 = (input[0] - 4.13794)/1.30956; + input1 = (input[1] - 1.15492)/1.68616; + input2 = (input[2] - 1.14956)/1.69316; + input3 = (input[3] - 1.90666)/1.49442; + input4 = (input[4] - 0.3065)/1.46726; + input5 = (input[5] - 0.318454)/1.50742; + input6 = (input[6] - 0.305354)/1.51455; + input7 = (input[7] - 0.31183)/1.46928; + switch(index) { + case 0: + return neuron0x215a5090(); + default: + return 0.; + } +} + +double uuNNEB::neuron0x215a0910() { + return input0; +} + +double uuNNEB::neuron0x215a0c50() { + return input1; +} + +double uuNNEB::neuron0x215a0f90() { + return input2; +} + +double uuNNEB::neuron0x215a12d0() { + return input3; +} + +double uuNNEB::neuron0x215a1610() { + return input4; +} + +double uuNNEB::neuron0x215a1950() { + return input5; +} + +double uuNNEB::neuron0x215a1c90() { + return input6; +} + +double uuNNEB::neuron0x215a1fd0() { + return input7; +} + +double uuNNEB::input0x215a2440() { + double input = -3.46668; + input += synapse0x21501310(); + input += synapse0x215a9510(); + input += synapse0x215a26f0(); + input += synapse0x215a2730(); + input += synapse0x215a2770(); + input += synapse0x215a27b0(); + input += synapse0x215a27f0(); + input += synapse0x215a2830(); + return input; +} + +double uuNNEB::neuron0x215a2440() { + double input = input0x215a2440(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a2870() { + double input = -0.216712; + input += synapse0x215a2bb0(); + input += synapse0x215a2bf0(); + input += synapse0x215a2c30(); + input += synapse0x215a2c70(); + input += synapse0x215a2cb0(); + input += synapse0x215a2cf0(); + input += synapse0x215a2d30(); + input += synapse0x215a2d70(); + return input; +} + +double uuNNEB::neuron0x215a2870() { + double input = input0x215a2870(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a2db0() { + double input = -1.25069; + input += synapse0x215a30f0(); + input += synapse0x20dfffd0(); + input += synapse0x20e00010(); + input += synapse0x215a3240(); + input += synapse0x215a3280(); + input += synapse0x215a32c0(); + input += synapse0x215a3300(); + input += synapse0x215a3340(); + return input; +} + +double uuNNEB::neuron0x215a2db0() { + double input = input0x215a2db0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a3380() { + double input = 0.164265; + input += synapse0x215a36c0(); + input += synapse0x215a3700(); + input += synapse0x215a3740(); + input += synapse0x215a3780(); + input += synapse0x215a37c0(); + input += synapse0x215a3800(); + input += synapse0x215a3840(); + input += synapse0x215a3880(); + return input; +} + +double uuNNEB::neuron0x215a3380() { + double input = input0x215a3380(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a38c0() { + double input = 1.20615; + input += synapse0x215a3c00(); + input += synapse0x215a0840(); + input += synapse0x215a9550(); + input += synapse0x20dfeb10(); + input += synapse0x215a3130(); + input += synapse0x215a3170(); + input += synapse0x215a31b0(); + input += synapse0x215a31f0(); + return input; +} + +double uuNNEB::neuron0x215a38c0() { + double input = input0x215a38c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a3c40() { + double input = -1.00109; + input += synapse0x215a3f80(); + input += synapse0x215a3fc0(); + input += synapse0x215a4000(); + input += synapse0x215a4040(); + input += synapse0x215a4080(); + input += synapse0x215a40c0(); + input += synapse0x215a4100(); + input += synapse0x215a4140(); + return input; +} + +double uuNNEB::neuron0x215a3c40() { + double input = input0x215a3c40(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a4180() { + double input = -1.43638; + input += synapse0x215a44c0(); + input += synapse0x215a4500(); + input += synapse0x215a4540(); + input += synapse0x215a4580(); + input += synapse0x215a45c0(); + input += synapse0x215a4600(); + input += synapse0x215a4640(); + input += synapse0x215a4680(); + return input; +} + +double uuNNEB::neuron0x215a4180() { + double input = input0x215a4180(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a46c0() { + double input = 1.30954; + input += synapse0x215a4a00(); + input += synapse0x215a4a40(); + input += synapse0x215a4a80(); + input += synapse0x215a4ac0(); + input += synapse0x215a4b00(); + input += synapse0x215a4b40(); + input += synapse0x215a4b80(); + input += synapse0x215a4bc0(); + return input; +} + +double uuNNEB::neuron0x215a46c0() { + double input = input0x215a46c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a4c00() { + double input = -0.75568; + input += synapse0x20cedf30(); + input += synapse0x20cedf70(); + input += synapse0x20e198e0(); + input += synapse0x20e19920(); + input += synapse0x20e19960(); + input += synapse0x20e199a0(); + input += synapse0x20e199e0(); + input += synapse0x20e19a20(); + return input; +} + +double uuNNEB::neuron0x215a4c00() { + double input = input0x215a4c00(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a5460() { + double input = 0.349564; + input += synapse0x215a5710(); + input += synapse0x215a5750(); + input += synapse0x215a5790(); + input += synapse0x215a57d0(); + input += synapse0x215a5810(); + input += synapse0x215a5850(); + input += synapse0x215a5890(); + input += synapse0x215a58d0(); + return input; +} + +double uuNNEB::neuron0x215a5460() { + double input = input0x215a5460(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a5910() { + double input = -2.54272; + input += synapse0x215a5c50(); + input += synapse0x215a5c90(); + input += synapse0x215a5cd0(); + input += synapse0x215a5d10(); + input += synapse0x215a5d50(); + input += synapse0x215a5d90(); + input += synapse0x215a5dd0(); + input += synapse0x215a5e10(); + input += synapse0x215a5e50(); + input += synapse0x215a5e90(); + return input; +} + +double uuNNEB::neuron0x215a5910() { + double input = input0x215a5910(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a5ed0() { + double input = -1.6243; + input += synapse0x215a6210(); + input += synapse0x215a6250(); + input += synapse0x215a6290(); + input += synapse0x215a62d0(); + input += synapse0x215a6310(); + input += synapse0x215a6350(); + input += synapse0x215a6390(); + input += synapse0x215a63d0(); + input += synapse0x215a6410(); + input += synapse0x215a6450(); + return input; +} + +double uuNNEB::neuron0x215a5ed0() { + double input = input0x215a5ed0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a6490() { + double input = -2.41565; + input += synapse0x215a67d0(); + input += synapse0x215a6810(); + input += synapse0x215a6850(); + input += synapse0x215a6890(); + input += synapse0x215a68d0(); + input += synapse0x215a6910(); + input += synapse0x215a6950(); + input += synapse0x215a6990(); + input += synapse0x215a69d0(); + input += synapse0x215a6a10(); + return input; +} + +double uuNNEB::neuron0x215a6490() { + double input = input0x215a6490(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a6a50() { + double input = 1.3051; + input += synapse0x215a6d90(); + input += synapse0x215a6dd0(); + input += synapse0x215a6e10(); + input += synapse0x215a6e50(); + input += synapse0x215a6e90(); + input += synapse0x215a6ed0(); + input += synapse0x215a6f10(); + input += synapse0x215a6f50(); + input += synapse0x215a6f90(); + input += synapse0x215a6fd0(); + return input; +} + +double uuNNEB::neuron0x215a6a50() { + double input = input0x215a6a50(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a7010() { + double input = -0.872798; + input += synapse0x215a7350(); + input += synapse0x215a7390(); + input += synapse0x215a73d0(); + input += synapse0x215a7410(); + input += synapse0x215a7450(); + input += synapse0x215a7490(); + input += synapse0x215a74d0(); + input += synapse0x215a7510(); + input += synapse0x215a7550(); + input += synapse0x215a5050(); + return input; +} + +double uuNNEB::neuron0x215a7010() { + double input = input0x215a7010(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEB::input0x215a5090() { + double input = -0.827423; + input += synapse0x215a53d0(); + input += synapse0x215a5410(); + input += synapse0x215a2310(); + input += synapse0x215a2350(); + input += synapse0x215a2390(); + return input; +} + +double uuNNEB::neuron0x215a5090() { + double input = input0x215a5090(); + return (input * 1)+0; +} + +double uuNNEB::synapse0x21501310() { + return (neuron0x215a0910()*1.44277); +} + +double uuNNEB::synapse0x215a9510() { + return (neuron0x215a0c50()*-0.602439); +} + +double uuNNEB::synapse0x215a26f0() { + return (neuron0x215a0f90()*-0.664344); +} + +double uuNNEB::synapse0x215a2730() { + return (neuron0x215a12d0()*0.259659); +} + +double uuNNEB::synapse0x215a2770() { + return (neuron0x215a1610()*0.521977); +} + +double uuNNEB::synapse0x215a27b0() { + return (neuron0x215a1950()*-0.139725); +} + +double uuNNEB::synapse0x215a27f0() { + return (neuron0x215a1c90()*0.462369); +} + +double uuNNEB::synapse0x215a2830() { + return (neuron0x215a1fd0()*-0.144491); +} + +double uuNNEB::synapse0x215a2bb0() { + return (neuron0x215a0910()*-0.690881); +} + +double uuNNEB::synapse0x215a2bf0() { + return (neuron0x215a0c50()*3.00857); +} + +double uuNNEB::synapse0x215a2c30() { + return (neuron0x215a0f90()*0.584154); +} + +double uuNNEB::synapse0x215a2c70() { + return (neuron0x215a12d0()*-0.443833); +} + +double uuNNEB::synapse0x215a2cb0() { + return (neuron0x215a1610()*-1.12004); +} + +double uuNNEB::synapse0x215a2cf0() { + return (neuron0x215a1950()*0.385117); +} + +double uuNNEB::synapse0x215a2d30() { + return (neuron0x215a1c90()*0.828344); +} + +double uuNNEB::synapse0x215a2d70() { + return (neuron0x215a1fd0()*0.0518985); +} + +double uuNNEB::synapse0x215a30f0() { + return (neuron0x215a0910()*2.46324); +} + +double uuNNEB::synapse0x20dfffd0() { + return (neuron0x215a0c50()*-1.27957); +} + +double uuNNEB::synapse0x20e00010() { + return (neuron0x215a0f90()*1.52325); +} + +double uuNNEB::synapse0x215a3240() { + return (neuron0x215a12d0()*0.324036); +} + +double uuNNEB::synapse0x215a3280() { + return (neuron0x215a1610()*-0.772301); +} + +double uuNNEB::synapse0x215a32c0() { + return (neuron0x215a1950()*-0.288646); +} + +double uuNNEB::synapse0x215a3300() { + return (neuron0x215a1c90()*-1.59626); +} + +double uuNNEB::synapse0x215a3340() { + return (neuron0x215a1fd0()*-0.333816); +} + +double uuNNEB::synapse0x215a36c0() { + return (neuron0x215a0910()*-0.775788); +} + +double uuNNEB::synapse0x215a3700() { + return (neuron0x215a0c50()*-0.33891); +} + +double uuNNEB::synapse0x215a3740() { + return (neuron0x215a0f90()*0.413686); +} + +double uuNNEB::synapse0x215a3780() { + return (neuron0x215a12d0()*-0.103716); +} + +double uuNNEB::synapse0x215a37c0() { + return (neuron0x215a1610()*2.59851); +} + +double uuNNEB::synapse0x215a3800() { + return (neuron0x215a1950()*-0.0130854); +} + +double uuNNEB::synapse0x215a3840() { + return (neuron0x215a1c90()*-0.428691); +} + +double uuNNEB::synapse0x215a3880() { + return (neuron0x215a1fd0()*-0.0479283); +} + +double uuNNEB::synapse0x215a3c00() { + return (neuron0x215a0910()*-2.37794); +} + +double uuNNEB::synapse0x215a0840() { + return (neuron0x215a0c50()*-1.41136); +} + +double uuNNEB::synapse0x215a9550() { + return (neuron0x215a0f90()*2.07387); +} + +double uuNNEB::synapse0x20dfeb10() { + return (neuron0x215a12d0()*-0.30988); +} + +double uuNNEB::synapse0x215a3130() { + return (neuron0x215a1610()*1.91446); +} + +double uuNNEB::synapse0x215a3170() { + return (neuron0x215a1950()*-0.220708); +} + +double uuNNEB::synapse0x215a31b0() { + return (neuron0x215a1c90()*-0.809622); +} + +double uuNNEB::synapse0x215a31f0() { + return (neuron0x215a1fd0()*1.13641); +} + +double uuNNEB::synapse0x215a3f80() { + return (neuron0x215a0910()*2.03498); +} + +double uuNNEB::synapse0x215a3fc0() { + return (neuron0x215a0c50()*1.50096); +} + +double uuNNEB::synapse0x215a4000() { + return (neuron0x215a0f90()*-0.0779476); +} + +double uuNNEB::synapse0x215a4040() { + return (neuron0x215a12d0()*-1.07668); +} + +double uuNNEB::synapse0x215a4080() { + return (neuron0x215a1610()*-1.85923); +} + +double uuNNEB::synapse0x215a40c0() { + return (neuron0x215a1950()*-1.04043); +} + +double uuNNEB::synapse0x215a4100() { + return (neuron0x215a1c90()*0.36375); +} + +double uuNNEB::synapse0x215a4140() { + return (neuron0x215a1fd0()*-0.367085); +} + +double uuNNEB::synapse0x215a44c0() { + return (neuron0x215a0910()*-0.727066); +} + +double uuNNEB::synapse0x215a4500() { + return (neuron0x215a0c50()*-1.0188); +} + +double uuNNEB::synapse0x215a4540() { + return (neuron0x215a0f90()*0.468547); +} + +double uuNNEB::synapse0x215a4580() { + return (neuron0x215a12d0()*-0.405341); +} + +double uuNNEB::synapse0x215a45c0() { + return (neuron0x215a1610()*1.12725); +} + +double uuNNEB::synapse0x215a4600() { + return (neuron0x215a1950()*-0.0173553); +} + +double uuNNEB::synapse0x215a4640() { + return (neuron0x215a1c90()*-1.04423); +} + +double uuNNEB::synapse0x215a4680() { + return (neuron0x215a1fd0()*0.532221); +} + +double uuNNEB::synapse0x215a4a00() { + return (neuron0x215a0910()*2.09286); +} + +double uuNNEB::synapse0x215a4a40() { + return (neuron0x215a0c50()*-0.466192); +} + +double uuNNEB::synapse0x215a4a80() { + return (neuron0x215a0f90()*0.37012); +} + +double uuNNEB::synapse0x215a4ac0() { + return (neuron0x215a12d0()*-0.436637); +} + +double uuNNEB::synapse0x215a4b00() { + return (neuron0x215a1610()*0.0712444); +} + +double uuNNEB::synapse0x215a4b40() { + return (neuron0x215a1950()*-0.309679); +} + +double uuNNEB::synapse0x215a4b80() { + return (neuron0x215a1c90()*-1.06154); +} + +double uuNNEB::synapse0x215a4bc0() { + return (neuron0x215a1fd0()*0.0765883); +} + +double uuNNEB::synapse0x20cedf30() { + return (neuron0x215a0910()*0.668865); +} + +double uuNNEB::synapse0x20cedf70() { + return (neuron0x215a0c50()*-0.60273); +} + +double uuNNEB::synapse0x20e198e0() { + return (neuron0x215a0f90()*0.283323); +} + +double uuNNEB::synapse0x20e19920() { + return (neuron0x215a12d0()*0.0257678); +} + +double uuNNEB::synapse0x20e19960() { + return (neuron0x215a1610()*0.519152); +} + +double uuNNEB::synapse0x20e199a0() { + return (neuron0x215a1950()*-0.260405); +} + +double uuNNEB::synapse0x20e199e0() { + return (neuron0x215a1c90()*-0.0699433); +} + +double uuNNEB::synapse0x20e19a20() { + return (neuron0x215a1fd0()*0.405117); +} + +double uuNNEB::synapse0x215a5710() { + return (neuron0x215a0910()*-2.56026); +} + +double uuNNEB::synapse0x215a5750() { + return (neuron0x215a0c50()*-0.0943651); +} + +double uuNNEB::synapse0x215a5790() { + return (neuron0x215a0f90()*-0.228386); +} + +double uuNNEB::synapse0x215a57d0() { + return (neuron0x215a12d0()*-0.199914); +} + +double uuNNEB::synapse0x215a5810() { + return (neuron0x215a1610()*0.472089); +} + +double uuNNEB::synapse0x215a5850() { + return (neuron0x215a1950()*0.374635); +} + +double uuNNEB::synapse0x215a5890() { + return (neuron0x215a1c90()*2.80952); +} + +double uuNNEB::synapse0x215a58d0() { + return (neuron0x215a1fd0()*0.0236235); +} + +double uuNNEB::synapse0x215a5c50() { + return (neuron0x215a2440()*1.80182); +} + +double uuNNEB::synapse0x215a5c90() { + return (neuron0x215a2870()*0.452891); +} + +double uuNNEB::synapse0x215a5cd0() { + return (neuron0x215a2db0()*-1.64631); +} + +double uuNNEB::synapse0x215a5d10() { + return (neuron0x215a3380()*-1.19492); +} + +double uuNNEB::synapse0x215a5d50() { + return (neuron0x215a38c0()*1.45913); +} + +double uuNNEB::synapse0x215a5d90() { + return (neuron0x215a3c40()*0.370735); +} + +double uuNNEB::synapse0x215a5dd0() { + return (neuron0x215a4180()*-2.74557); +} + +double uuNNEB::synapse0x215a5e10() { + return (neuron0x215a46c0()*1.27757); +} + +double uuNNEB::synapse0x215a5e50() { + return (neuron0x215a4c00()*0.113696); +} + +double uuNNEB::synapse0x215a5e90() { + return (neuron0x215a5460()*1.2331); +} + +double uuNNEB::synapse0x215a6210() { + return (neuron0x215a2440()*3.08306); +} + +double uuNNEB::synapse0x215a6250() { + return (neuron0x215a2870()*-2.61474); +} + +double uuNNEB::synapse0x215a6290() { + return (neuron0x215a2db0()*-1.11434); +} + +double uuNNEB::synapse0x215a62d0() { + return (neuron0x215a3380()*1.99314); +} + +double uuNNEB::synapse0x215a6310() { + return (neuron0x215a38c0()*0.197835); +} + +double uuNNEB::synapse0x215a6350() { + return (neuron0x215a3c40()*-0.142996); +} + +double uuNNEB::synapse0x215a6390() { + return (neuron0x215a4180()*-0.816864); +} + +double uuNNEB::synapse0x215a63d0() { + return (neuron0x215a46c0()*2.032); +} + +double uuNNEB::synapse0x215a6410() { + return (neuron0x215a4c00()*0.89448); +} + +double uuNNEB::synapse0x215a6450() { + return (neuron0x215a5460()*1.29876); +} + +double uuNNEB::synapse0x215a67d0() { + return (neuron0x215a2440()*0.414836); +} + +double uuNNEB::synapse0x215a6810() { + return (neuron0x215a2870()*0.191323); +} + +double uuNNEB::synapse0x215a6850() { + return (neuron0x215a2db0()*-3.98714); +} + +double uuNNEB::synapse0x215a6890() { + return (neuron0x215a3380()*0.447498); +} + +double uuNNEB::synapse0x215a68d0() { + return (neuron0x215a38c0()*2.68837); +} + +double uuNNEB::synapse0x215a6910() { + return (neuron0x215a3c40()*-1.63414); +} + +double uuNNEB::synapse0x215a6950() { + return (neuron0x215a4180()*-1.59613); +} + +double uuNNEB::synapse0x215a6990() { + return (neuron0x215a46c0()*1.4858); +} + +double uuNNEB::synapse0x215a69d0() { + return (neuron0x215a4c00()*-0.59188); +} + +double uuNNEB::synapse0x215a6a10() { + return (neuron0x215a5460()*0.696164); +} + +double uuNNEB::synapse0x215a6d90() { + return (neuron0x215a2440()*-0.544148); +} + +double uuNNEB::synapse0x215a6dd0() { + return (neuron0x215a2870()*-0.835737); +} + +double uuNNEB::synapse0x215a6e10() { + return (neuron0x215a2db0()*-1.91574); +} + +double uuNNEB::synapse0x215a6e50() { + return (neuron0x215a3380()*-0.57913); +} + +double uuNNEB::synapse0x215a6e90() { + return (neuron0x215a38c0()*1.35325); +} + +double uuNNEB::synapse0x215a6ed0() { + return (neuron0x215a3c40()*0.215738); +} + +double uuNNEB::synapse0x215a6f10() { + return (neuron0x215a4180()*1.04704); +} + +double uuNNEB::synapse0x215a6f50() { + return (neuron0x215a46c0()*-0.289321); +} + +double uuNNEB::synapse0x215a6f90() { + return (neuron0x215a4c00()*-0.204792); +} + +double uuNNEB::synapse0x215a6fd0() { + return (neuron0x215a5460()*0.0657331); +} + +double uuNNEB::synapse0x215a7350() { + return (neuron0x215a2440()*2.17066); +} + +double uuNNEB::synapse0x215a7390() { + return (neuron0x215a2870()*0.508575); +} + +double uuNNEB::synapse0x215a73d0() { + return (neuron0x215a2db0()*0.374617); +} + +double uuNNEB::synapse0x215a7410() { + return (neuron0x215a3380()*2.54452); +} + +double uuNNEB::synapse0x215a7450() { + return (neuron0x215a38c0()*1.03871); +} + +double uuNNEB::synapse0x215a7490() { + return (neuron0x215a3c40()*1.66025); +} + +double uuNNEB::synapse0x215a74d0() { + return (neuron0x215a4180()*-0.749529); +} + +double uuNNEB::synapse0x215a7510() { + return (neuron0x215a46c0()*0.516512); +} + +double uuNNEB::synapse0x215a7550() { + return (neuron0x215a4c00()*0.492925); +} + +double uuNNEB::synapse0x215a5050() { + return (neuron0x215a5460()*1.1131); +} + +double uuNNEB::synapse0x215a53d0() { + return (neuron0x215a5910()*3.22095); +} + +double uuNNEB::synapse0x215a5410() { + return (neuron0x215a5ed0()*3.08946); +} + +double uuNNEB::synapse0x215a2310() { + return (neuron0x215a6490()*3.36558); +} + +double uuNNEB::synapse0x215a2350() { + return (neuron0x215a6a50()*-4.11024); +} + +double uuNNEB::synapse0x215a2390() { + return (neuron0x215a7010()*2.09935); +} + diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEE.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEE.cc new file mode 100644 index 0000000000000..adec14b486597 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEE.cc @@ -0,0 +1,8113 @@ +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h" +#include + +double ccNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 2.40353)/1.40003; + input1 = (in1 - 2.41121)/1.41004; + input2 = (in2 - 2.42657)/1.40629; + input3 = (in3 - 2.42619)/1.40466; + input4 = (in4 - 1.33856)/1.28698; + input5 = (in5 - 1.33177)/1.28879; + input6 = (in6 - 1.33367)/1.29347; + input7 = (in7 - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x19a4cc00(); + default: + return 0.; + } +} + +double ccNNEE::Value(int index, double* input) { + input0 = (input[0] - 2.40353)/1.40003; + input1 = (input[1] - 2.41121)/1.41004; + input2 = (input[2] - 2.42657)/1.40629; + input3 = (input[3] - 2.42619)/1.40466; + input4 = (input[4] - 1.33856)/1.28698; + input5 = (input[5] - 1.33177)/1.28879; + input6 = (input[6] - 1.33367)/1.29347; + input7 = (input[7] - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x19a4cc00(); + default: + return 0.; + } +} + +double ccNNEE::neuron0x19a48480() { + return input0; +} + +double ccNNEE::neuron0x19a487c0() { + return input1; +} + +double ccNNEE::neuron0x19a48b00() { + return input2; +} + +double ccNNEE::neuron0x19a48e40() { + return input3; +} + +double ccNNEE::neuron0x19a49180() { + return input4; +} + +double ccNNEE::neuron0x19a494c0() { + return input5; +} + +double ccNNEE::neuron0x19a49800() { + return input6; +} + +double ccNNEE::neuron0x19a49b40() { + return input7; +} + +double ccNNEE::input0x19a49fb0() { + double input = 1.45018; + input += synapse0x199a87c0(); + input += synapse0x19a51080(); + input += synapse0x19a4a260(); + input += synapse0x19a4a2a0(); + input += synapse0x19a4a2e0(); + input += synapse0x19a4a320(); + input += synapse0x19a4a360(); + input += synapse0x19a4a3a0(); + return input; +} + +double ccNNEE::neuron0x19a49fb0() { + double input = input0x19a49fb0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4a3e0() { + double input = 0.513263; + input += synapse0x19a4a720(); + input += synapse0x19a4a760(); + input += synapse0x19a4a7a0(); + input += synapse0x19a4a7e0(); + input += synapse0x19a4a820(); + input += synapse0x19a4a860(); + input += synapse0x19a4a8a0(); + input += synapse0x19a4a8e0(); + return input; +} + +double ccNNEE::neuron0x19a4a3e0() { + double input = input0x19a4a3e0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4a920() { + double input = -0.424002; + input += synapse0x19a4ac60(); + input += synapse0x19976d60(); + input += synapse0x19976da0(); + input += synapse0x19a4adb0(); + input += synapse0x19a4adf0(); + input += synapse0x19a4ae30(); + input += synapse0x19a4ae70(); + input += synapse0x19a4aeb0(); + return input; +} + +double ccNNEE::neuron0x19a4a920() { + double input = input0x19a4a920(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4aef0() { + double input = -3.93277; + input += synapse0x19a4b230(); + input += synapse0x19a4b270(); + input += synapse0x19a4b2b0(); + input += synapse0x19a4b2f0(); + input += synapse0x19a4b330(); + input += synapse0x19a4b370(); + input += synapse0x19a4b3b0(); + input += synapse0x19a4b3f0(); + return input; +} + +double ccNNEE::neuron0x19a4aef0() { + double input = input0x19a4aef0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4b430() { + double input = -0.770492; + input += synapse0x19a4b770(); + input += synapse0x19a483b0(); + input += synapse0x19a510c0(); + input += synapse0x199930d0(); + input += synapse0x19a4aca0(); + input += synapse0x19a4ace0(); + input += synapse0x19a4ad20(); + input += synapse0x19a4ad60(); + return input; +} + +double ccNNEE::neuron0x19a4b430() { + double input = input0x19a4b430(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4b7b0() { + double input = 0.50899; + input += synapse0x19a4baf0(); + input += synapse0x19a4bb30(); + input += synapse0x19a4bb70(); + input += synapse0x19a4bbb0(); + input += synapse0x19a4bbf0(); + input += synapse0x19a4bc30(); + input += synapse0x19a4bc70(); + input += synapse0x19a4bcb0(); + return input; +} + +double ccNNEE::neuron0x19a4b7b0() { + double input = input0x19a4b7b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4bcf0() { + double input = -2.4899; + input += synapse0x19a4c030(); + input += synapse0x19a4c070(); + input += synapse0x19a4c0b0(); + input += synapse0x19a4c0f0(); + input += synapse0x19a4c130(); + input += synapse0x19a4c170(); + input += synapse0x19a4c1b0(); + input += synapse0x19a4c1f0(); + return input; +} + +double ccNNEE::neuron0x19a4bcf0() { + double input = input0x19a4bcf0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4c230() { + double input = -1.0127; + input += synapse0x19a4c570(); + input += synapse0x19a4c5b0(); + input += synapse0x19a4c5f0(); + input += synapse0x19a4c630(); + input += synapse0x19a4c670(); + input += synapse0x19a4c6b0(); + input += synapse0x19a4c6f0(); + input += synapse0x19a4c730(); + return input; +} + +double ccNNEE::neuron0x19a4c230() { + double input = input0x19a4c230(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4c770() { + double input = -1.4571; + input += synapse0x199749c0(); + input += synapse0x19974a00(); + input += synapse0x1998f8c0(); + input += synapse0x1998f900(); + input += synapse0x1998f940(); + input += synapse0x1998f980(); + input += synapse0x1998f9c0(); + input += synapse0x1998fa00(); + return input; +} + +double ccNNEE::neuron0x19a4c770() { + double input = input0x19a4c770(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4cfd0() { + double input = 0.71886; + input += synapse0x19a4d280(); + input += synapse0x19a4d2c0(); + input += synapse0x19a4d300(); + input += synapse0x19a4d340(); + input += synapse0x19a4d380(); + input += synapse0x19a4d3c0(); + input += synapse0x19a4d400(); + input += synapse0x19a4d440(); + return input; +} + +double ccNNEE::neuron0x19a4cfd0() { + double input = input0x19a4cfd0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4d480() { + double input = -4.01118; + input += synapse0x19a4d7c0(); + input += synapse0x19a4d800(); + input += synapse0x19a4d840(); + input += synapse0x19a4d880(); + input += synapse0x19a4d8c0(); + input += synapse0x19a4d900(); + input += synapse0x19a4d940(); + input += synapse0x19a4d980(); + input += synapse0x19a4d9c0(); + input += synapse0x19a4da00(); + return input; +} + +double ccNNEE::neuron0x19a4d480() { + double input = input0x19a4d480(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4da40() { + double input = -2.05647; + input += synapse0x19a4dd80(); + input += synapse0x19a4ddc0(); + input += synapse0x19a4de00(); + input += synapse0x19a4de40(); + input += synapse0x19a4de80(); + input += synapse0x19a4dec0(); + input += synapse0x19a4df00(); + input += synapse0x19a4df40(); + input += synapse0x19a4df80(); + input += synapse0x19a4dfc0(); + return input; +} + +double ccNNEE::neuron0x19a4da40() { + double input = input0x19a4da40(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4e000() { + double input = -1.37802; + input += synapse0x19a4e340(); + input += synapse0x19a4e380(); + input += synapse0x19a4e3c0(); + input += synapse0x19a4e400(); + input += synapse0x19a4e440(); + input += synapse0x19a4e480(); + input += synapse0x19a4e4c0(); + input += synapse0x19a4e500(); + input += synapse0x19a4e540(); + input += synapse0x19a4e580(); + return input; +} + +double ccNNEE::neuron0x19a4e000() { + double input = input0x19a4e000(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4e5c0() { + double input = 0.267395; + input += synapse0x19a4e900(); + input += synapse0x19a4e940(); + input += synapse0x19a4e980(); + input += synapse0x19a4e9c0(); + input += synapse0x19a4ea00(); + input += synapse0x19a4ea40(); + input += synapse0x19a4ea80(); + input += synapse0x19a4eac0(); + input += synapse0x19a4eb00(); + input += synapse0x19a4eb40(); + return input; +} + +double ccNNEE::neuron0x19a4e5c0() { + double input = input0x19a4e5c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4eb80() { + double input = -1.92227; + input += synapse0x19a4eec0(); + input += synapse0x19a4ef00(); + input += synapse0x19a4ef40(); + input += synapse0x19a4ef80(); + input += synapse0x19a4efc0(); + input += synapse0x19a4f000(); + input += synapse0x19a4f040(); + input += synapse0x19a4f080(); + input += synapse0x19a4f0c0(); + input += synapse0x19a4cbc0(); + return input; +} + +double ccNNEE::neuron0x19a4eb80() { + double input = input0x19a4eb80(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ccNNEE::input0x19a4cc00() { + double input = 1.45162; + input += synapse0x19a4cf40(); + input += synapse0x19a4cf80(); + input += synapse0x19a49e80(); + input += synapse0x19a49ec0(); + input += synapse0x19a49f00(); + return input; +} + +double ccNNEE::neuron0x19a4cc00() { + double input = input0x19a4cc00(); + return (input * 1)+0; +} + +double ccNNEE::synapse0x199a87c0() { + return (neuron0x19a48480()*1.71165); +} + +double ccNNEE::synapse0x19a51080() { + return (neuron0x19a487c0()*1.54118); +} + +double ccNNEE::synapse0x19a4a260() { + return (neuron0x19a48b00()*-0.726711); +} + +double ccNNEE::synapse0x19a4a2a0() { + return (neuron0x19a48e40()*-1.5899); +} + +double ccNNEE::synapse0x19a4a2e0() { + return (neuron0x19a49180()*-0.704007); +} + +double ccNNEE::synapse0x19a4a320() { + return (neuron0x19a494c0()*0.154605); +} + +double ccNNEE::synapse0x19a4a360() { + return (neuron0x19a49800()*0.189555); +} + +double ccNNEE::synapse0x19a4a3a0() { + return (neuron0x19a49b40()*-0.282059); +} + +double ccNNEE::synapse0x19a4a720() { + return (neuron0x19a48480()*-1.80849); +} + +double ccNNEE::synapse0x19a4a760() { + return (neuron0x19a487c0()*-0.573659); +} + +double ccNNEE::synapse0x19a4a7a0() { + return (neuron0x19a48b00()*0.604474); +} + +double ccNNEE::synapse0x19a4a7e0() { + return (neuron0x19a48e40()*0.964384); +} + +double ccNNEE::synapse0x19a4a820() { + return (neuron0x19a49180()*0.0577964); +} + +double ccNNEE::synapse0x19a4a860() { + return (neuron0x19a494c0()*0.0857454); +} + +double ccNNEE::synapse0x19a4a8a0() { + return (neuron0x19a49800()*0.243587); +} + +double ccNNEE::synapse0x19a4a8e0() { + return (neuron0x19a49b40()*0.162777); +} + +double ccNNEE::synapse0x19a4ac60() { + return (neuron0x19a48480()*0.268058); +} + +double ccNNEE::synapse0x19976d60() { + return (neuron0x19a487c0()*2.06646); +} + +double ccNNEE::synapse0x19976da0() { + return (neuron0x19a48b00()*-0.372554); +} + +double ccNNEE::synapse0x19a4adb0() { + return (neuron0x19a48e40()*-0.861342); +} + +double ccNNEE::synapse0x19a4adf0() { + return (neuron0x19a49180()*-0.755119); +} + +double ccNNEE::synapse0x19a4ae30() { + return (neuron0x19a494c0()*0.322542); +} + +double ccNNEE::synapse0x19a4ae70() { + return (neuron0x19a49800()*0.13772); +} + +double ccNNEE::synapse0x19a4aeb0() { + return (neuron0x19a49b40()*-0.366595); +} + +double ccNNEE::synapse0x19a4b230() { + return (neuron0x19a48480()*0.979019); +} + +double ccNNEE::synapse0x19a4b270() { + return (neuron0x19a487c0()*0.670766); +} + +double ccNNEE::synapse0x19a4b2b0() { + return (neuron0x19a48b00()*-3.34411); +} + +double ccNNEE::synapse0x19a4b2f0() { + return (neuron0x19a48e40()*-0.264608); +} + +double ccNNEE::synapse0x19a4b330() { + return (neuron0x19a49180()*0.650668); +} + +double ccNNEE::synapse0x19a4b370() { + return (neuron0x19a494c0()*-0.233652); +} + +double ccNNEE::synapse0x19a4b3b0() { + return (neuron0x19a49800()*0.312077); +} + +double ccNNEE::synapse0x19a4b3f0() { + return (neuron0x19a49b40()*0.27134); +} + +double ccNNEE::synapse0x19a4b770() { + return (neuron0x19a48480()*0.777705); +} + +double ccNNEE::synapse0x19a483b0() { + return (neuron0x19a487c0()*0.0741502); +} + +double ccNNEE::synapse0x19a510c0() { + return (neuron0x19a48b00()*-0.83739); +} + +double ccNNEE::synapse0x199930d0() { + return (neuron0x19a48e40()*-0.055425); +} + +double ccNNEE::synapse0x19a4aca0() { + return (neuron0x19a49180()*0.170293); +} + +double ccNNEE::synapse0x19a4ace0() { + return (neuron0x19a494c0()*0.0117798); +} + +double ccNNEE::synapse0x19a4ad20() { + return (neuron0x19a49800()*0.308031); +} + +double ccNNEE::synapse0x19a4ad60() { + return (neuron0x19a49b40()*0.403181); +} + +double ccNNEE::synapse0x19a4baf0() { + return (neuron0x19a48480()*-0.264386); +} + +double ccNNEE::synapse0x19a4bb30() { + return (neuron0x19a487c0()*1.32561); +} + +double ccNNEE::synapse0x19a4bb70() { + return (neuron0x19a48b00()*-0.489181); +} + +double ccNNEE::synapse0x19a4bbb0() { + return (neuron0x19a48e40()*0.655156); +} + +double ccNNEE::synapse0x19a4bbf0() { + return (neuron0x19a49180()*-0.377223); +} + +double ccNNEE::synapse0x19a4bc30() { + return (neuron0x19a494c0()*0.505918); +} + +double ccNNEE::synapse0x19a4bc70() { + return (neuron0x19a49800()*0.256939); +} + +double ccNNEE::synapse0x19a4bcb0() { + return (neuron0x19a49b40()*-1.1697); +} + +double ccNNEE::synapse0x19a4c030() { + return (neuron0x19a48480()*-0.961581); +} + +double ccNNEE::synapse0x19a4c070() { + return (neuron0x19a487c0()*0.941952); +} + +double ccNNEE::synapse0x19a4c0b0() { + return (neuron0x19a48b00()*0.0325193); +} + +double ccNNEE::synapse0x19a4c0f0() { + return (neuron0x19a48e40()*-0.569454); +} + +double ccNNEE::synapse0x19a4c130() { + return (neuron0x19a49180()*0.887025); +} + +double ccNNEE::synapse0x19a4c170() { + return (neuron0x19a494c0()*-0.53192); +} + +double ccNNEE::synapse0x19a4c1b0() { + return (neuron0x19a49800()*-0.612533); +} + +double ccNNEE::synapse0x19a4c1f0() { + return (neuron0x19a49b40()*0.515826); +} + +double ccNNEE::synapse0x19a4c570() { + return (neuron0x19a48480()*-0.228631); +} + +double ccNNEE::synapse0x19a4c5b0() { + return (neuron0x19a487c0()*0.117628); +} + +double ccNNEE::synapse0x19a4c5f0() { + return (neuron0x19a48b00()*0.767413); +} + +double ccNNEE::synapse0x19a4c630() { + return (neuron0x19a48e40()*0.172603); +} + +double ccNNEE::synapse0x19a4c670() { + return (neuron0x19a49180()*0.0917384); +} + +double ccNNEE::synapse0x19a4c6b0() { + return (neuron0x19a494c0()*0.245461); +} + +double ccNNEE::synapse0x19a4c6f0() { + return (neuron0x19a49800()*0.0541929); +} + +double ccNNEE::synapse0x19a4c730() { + return (neuron0x19a49b40()*0.163008); +} + +double ccNNEE::synapse0x199749c0() { + return (neuron0x19a48480()*-0.564364); +} + +double ccNNEE::synapse0x19974a00() { + return (neuron0x19a487c0()*-0.162665); +} + +double ccNNEE::synapse0x1998f8c0() { + return (neuron0x19a48b00()*-0.110124); +} + +double ccNNEE::synapse0x1998f900() { + return (neuron0x19a48e40()*-0.00196696); +} + +double ccNNEE::synapse0x1998f940() { + return (neuron0x19a49180()*-0.459567); +} + +double ccNNEE::synapse0x1998f980() { + return (neuron0x19a494c0()*0.86846); +} + +double ccNNEE::synapse0x1998f9c0() { + return (neuron0x19a49800()*0.989158); +} + +double ccNNEE::synapse0x1998fa00() { + return (neuron0x19a49b40()*-0.979802); +} + +double ccNNEE::synapse0x19a4d280() { + return (neuron0x19a48480()*0.936438); +} + +double ccNNEE::synapse0x19a4d2c0() { + return (neuron0x19a487c0()*0.580903); +} + +double ccNNEE::synapse0x19a4d300() { + return (neuron0x19a48b00()*-0.522228); +} + +double ccNNEE::synapse0x19a4d340() { + return (neuron0x19a48e40()*-1.61368); +} + +double ccNNEE::synapse0x19a4d380() { + return (neuron0x19a49180()*0.6777); +} + +double ccNNEE::synapse0x19a4d3c0() { + return (neuron0x19a494c0()*-0.385456); +} + +double ccNNEE::synapse0x19a4d400() { + return (neuron0x19a49800()*-0.0587413); +} + +double ccNNEE::synapse0x19a4d440() { + return (neuron0x19a49b40()*0.117251); +} + +double ccNNEE::synapse0x19a4d7c0() { + return (neuron0x19a49fb0()*2.17389); +} + +double ccNNEE::synapse0x19a4d800() { + return (neuron0x19a4a3e0()*2.18535); +} + +double ccNNEE::synapse0x19a4d840() { + return (neuron0x19a4a920()*-1.15272); +} + +double ccNNEE::synapse0x19a4d880() { + return (neuron0x19a4aef0()*-3.18652); +} + +double ccNNEE::synapse0x19a4d8c0() { + return (neuron0x19a4b430()*-0.668958); +} + +double ccNNEE::synapse0x19a4d900() { + return (neuron0x19a4b7b0()*1.1318); +} + +double ccNNEE::synapse0x19a4d940() { + return (neuron0x19a4bcf0()*-3.22956); +} + +double ccNNEE::synapse0x19a4d980() { + return (neuron0x19a4c230()*0.639365); +} + +double ccNNEE::synapse0x19a4d9c0() { + return (neuron0x19a4c770()*-2.57762); +} + +double ccNNEE::synapse0x19a4da00() { + return (neuron0x19a4cfd0()*1.2187); +} + +double ccNNEE::synapse0x19a4dd80() { + return (neuron0x19a49fb0()*0.924918); +} + +double ccNNEE::synapse0x19a4ddc0() { + return (neuron0x19a4a3e0()*-0.235074); +} + +double ccNNEE::synapse0x19a4de00() { + return (neuron0x19a4a920()*-0.554771); +} + +double ccNNEE::synapse0x19a4de40() { + return (neuron0x19a4aef0()*-1.45049); +} + +double ccNNEE::synapse0x19a4de80() { + return (neuron0x19a4b430()*0.670977); +} + +double ccNNEE::synapse0x19a4dec0() { + return (neuron0x19a4b7b0()*1.09232); +} + +double ccNNEE::synapse0x19a4df00() { + return (neuron0x19a4bcf0()*-0.882513); +} + +double ccNNEE::synapse0x19a4df40() { + return (neuron0x19a4c230()*0.933392); +} + +double ccNNEE::synapse0x19a4df80() { + return (neuron0x19a4c770()*-1.07881); +} + +double ccNNEE::synapse0x19a4dfc0() { + return (neuron0x19a4cfd0()*0.231102); +} + +double ccNNEE::synapse0x19a4e340() { + return (neuron0x19a49fb0()*0.278011); +} + +double ccNNEE::synapse0x19a4e380() { + return (neuron0x19a4a3e0()*0.611001); +} + +double ccNNEE::synapse0x19a4e3c0() { + return (neuron0x19a4a920()*-0.288964); +} + +double ccNNEE::synapse0x19a4e400() { + return (neuron0x19a4aef0()*0.543014); +} + +double ccNNEE::synapse0x19a4e440() { + return (neuron0x19a4b430()*1.78693); +} + +double ccNNEE::synapse0x19a4e480() { + return (neuron0x19a4b7b0()*0.724617); +} + +double ccNNEE::synapse0x19a4e4c0() { + return (neuron0x19a4bcf0()*-0.163241); +} + +double ccNNEE::synapse0x19a4e500() { + return (neuron0x19a4c230()*1.36038); +} + +double ccNNEE::synapse0x19a4e540() { + return (neuron0x19a4c770()*-0.541271); +} + +double ccNNEE::synapse0x19a4e580() { + return (neuron0x19a4cfd0()*0.250387); +} + +double ccNNEE::synapse0x19a4e900() { + return (neuron0x19a49fb0()*0.333114); +} + +double ccNNEE::synapse0x19a4e940() { + return (neuron0x19a4a3e0()*-0.379421); +} + +double ccNNEE::synapse0x19a4e980() { + return (neuron0x19a4a920()*0.229684); +} + +double ccNNEE::synapse0x19a4e9c0() { + return (neuron0x19a4aef0()*-0.232456); +} + +double ccNNEE::synapse0x19a4ea00() { + return (neuron0x19a4b430()*-0.583428); +} + +double ccNNEE::synapse0x19a4ea40() { + return (neuron0x19a4b7b0()*-0.377764); +} + +double ccNNEE::synapse0x19a4ea80() { + return (neuron0x19a4bcf0()*-1.1476); +} + +double ccNNEE::synapse0x19a4eac0() { + return (neuron0x19a4c230()*-0.576983); +} + +double ccNNEE::synapse0x19a4eb00() { + return (neuron0x19a4c770()*-0.375297); +} + +double ccNNEE::synapse0x19a4eb40() { + return (neuron0x19a4cfd0()*0.0778199); +} + +double ccNNEE::synapse0x19a4eec0() { + return (neuron0x19a49fb0()*-0.177098); +} + +double ccNNEE::synapse0x19a4ef00() { + return (neuron0x19a4a3e0()*0.208895); +} + +double ccNNEE::synapse0x19a4ef40() { + return (neuron0x19a4a920()*-0.539107); +} + +double ccNNEE::synapse0x19a4ef80() { + return (neuron0x19a4aef0()*-0.844427); +} + +double ccNNEE::synapse0x19a4efc0() { + return (neuron0x19a4b430()*1.73929); +} + +double ccNNEE::synapse0x19a4f000() { + return (neuron0x19a4b7b0()*1.19979); +} + +double ccNNEE::synapse0x19a4f040() { + return (neuron0x19a4bcf0()*0.350089); +} + +double ccNNEE::synapse0x19a4f080() { + return (neuron0x19a4c230()*1.25415); +} + +double ccNNEE::synapse0x19a4f0c0() { + return (neuron0x19a4c770()*-0.387113); +} + +double ccNNEE::synapse0x19a4cbc0() { + return (neuron0x19a4cfd0()*0.61157); +} + +double ccNNEE::synapse0x19a4cf40() { + return (neuron0x19a4d480()*4.82065); +} + +double ccNNEE::synapse0x19a4cf80() { + return (neuron0x19a4da40()*2.0913); +} + +double ccNNEE::synapse0x19a49e80() { + return (neuron0x19a4e000()*2.28334); +} + +double ccNNEE::synapse0x19a49ec0() { + return (neuron0x19a4e5c0()*-1.85272); +} + +double ccNNEE::synapse0x19a49f00() { + return (neuron0x19a4eb80()*2.63883); +} + +double ddNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.99102)/1.1492; + input1 = (in1 - 2.40353)/1.40003; + input2 = (in2 - 2.41121)/1.41004; + input3 = (in3 - 2.42657)/1.40629; + input4 = (in4 - 1.33856)/1.28698; + input5 = (in5 - 1.33177)/1.28879; + input6 = (in6 - 1.33367)/1.29347; + input7 = (in7 - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x8316d00(); + default: + return 0.; + } +} + +double ddNNEE::Value(int index, double* input) { + input0 = (input[0] - 4.99102)/1.1492; + input1 = (input[1] - 2.40353)/1.40003; + input2 = (input[2] - 2.41121)/1.41004; + input3 = (input[3] - 2.42657)/1.40629; + input4 = (input[4] - 1.33856)/1.28698; + input5 = (input[5] - 1.33177)/1.28879; + input6 = (input[6] - 1.33367)/1.29347; + input7 = (input[7] - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x8316d00(); + default: + return 0.; + } +} + +double ddNNEE::neuron0x8312580() { + return input0; +} + +double ddNNEE::neuron0x83128c0() { + return input1; +} + +double ddNNEE::neuron0x8312c00() { + return input2; +} + +double ddNNEE::neuron0x8312f40() { + return input3; +} + +double ddNNEE::neuron0x8313280() { + return input4; +} + +double ddNNEE::neuron0x83135c0() { + return input5; +} + +double ddNNEE::neuron0x8313900() { + return input6; +} + +double ddNNEE::neuron0x8313c40() { + return input7; +} + +double ddNNEE::input0x83140b0() { + double input = 1.05719; + input += synapse0x82728c0(); + input += synapse0x831b180(); + input += synapse0x8314360(); + input += synapse0x83143a0(); + input += synapse0x83143e0(); + input += synapse0x8314420(); + input += synapse0x8314460(); + input += synapse0x83144a0(); + return input; +} + +double ddNNEE::neuron0x83140b0() { + double input = input0x83140b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x83144e0() { + double input = -1.37516; + input += synapse0x8314820(); + input += synapse0x8314860(); + input += synapse0x83148a0(); + input += synapse0x83148e0(); + input += synapse0x8314920(); + input += synapse0x8314960(); + input += synapse0x83149a0(); + input += synapse0x83149e0(); + return input; +} + +double ddNNEE::neuron0x83144e0() { + double input = input0x83144e0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8314a20() { + double input = 0.753304; + input += synapse0x8314d60(); + input += synapse0x8240e60(); + input += synapse0x8240ea0(); + input += synapse0x8314eb0(); + input += synapse0x8314ef0(); + input += synapse0x8314f30(); + input += synapse0x8314f70(); + input += synapse0x8314fb0(); + return input; +} + +double ddNNEE::neuron0x8314a20() { + double input = input0x8314a20(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8314ff0() { + double input = -1.4179; + input += synapse0x8315330(); + input += synapse0x8315370(); + input += synapse0x83153b0(); + input += synapse0x83153f0(); + input += synapse0x8315430(); + input += synapse0x8315470(); + input += synapse0x83154b0(); + input += synapse0x83154f0(); + return input; +} + +double ddNNEE::neuron0x8314ff0() { + double input = input0x8314ff0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8315530() { + double input = 1.67886; + input += synapse0x8315870(); + input += synapse0x83124b0(); + input += synapse0x831b1c0(); + input += synapse0x825d1d0(); + input += synapse0x8314da0(); + input += synapse0x8314de0(); + input += synapse0x8314e20(); + input += synapse0x8314e60(); + return input; +} + +double ddNNEE::neuron0x8315530() { + double input = input0x8315530(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x83158b0() { + double input = 0.142783; + input += synapse0x8315bf0(); + input += synapse0x8315c30(); + input += synapse0x8315c70(); + input += synapse0x8315cb0(); + input += synapse0x8315cf0(); + input += synapse0x8315d30(); + input += synapse0x8315d70(); + input += synapse0x8315db0(); + return input; +} + +double ddNNEE::neuron0x83158b0() { + double input = input0x83158b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8315df0() { + double input = -1.49169; + input += synapse0x8316130(); + input += synapse0x8316170(); + input += synapse0x83161b0(); + input += synapse0x83161f0(); + input += synapse0x8316230(); + input += synapse0x8316270(); + input += synapse0x83162b0(); + input += synapse0x83162f0(); + return input; +} + +double ddNNEE::neuron0x8315df0() { + double input = input0x8315df0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8316330() { + double input = -0.0621605; + input += synapse0x8316670(); + input += synapse0x83166b0(); + input += synapse0x83166f0(); + input += synapse0x8316730(); + input += synapse0x8316770(); + input += synapse0x83167b0(); + input += synapse0x83167f0(); + input += synapse0x8316830(); + return input; +} + +double ddNNEE::neuron0x8316330() { + double input = input0x8316330(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8316870() { + double input = 0.517246; + input += synapse0x823eac0(); + input += synapse0x823eb00(); + input += synapse0x82599c0(); + input += synapse0x8259a00(); + input += synapse0x8259a40(); + input += synapse0x8259a80(); + input += synapse0x8259ac0(); + input += synapse0x8259b00(); + return input; +} + +double ddNNEE::neuron0x8316870() { + double input = input0x8316870(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x83170d0() { + double input = 0.63036; + input += synapse0x8317380(); + input += synapse0x83173c0(); + input += synapse0x8317400(); + input += synapse0x8317440(); + input += synapse0x8317480(); + input += synapse0x83174c0(); + input += synapse0x8317500(); + input += synapse0x8317540(); + return input; +} + +double ddNNEE::neuron0x83170d0() { + double input = input0x83170d0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8317580() { + double input = 0.536046; + input += synapse0x83178c0(); + input += synapse0x8317900(); + input += synapse0x8317940(); + input += synapse0x8317980(); + input += synapse0x83179c0(); + input += synapse0x8317a00(); + input += synapse0x8317a40(); + input += synapse0x8317a80(); + input += synapse0x8317ac0(); + input += synapse0x8317b00(); + return input; +} + +double ddNNEE::neuron0x8317580() { + double input = input0x8317580(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8317b40() { + double input = 0.28105; + input += synapse0x8317e80(); + input += synapse0x8317ec0(); + input += synapse0x8317f00(); + input += synapse0x8317f40(); + input += synapse0x8317f80(); + input += synapse0x8317fc0(); + input += synapse0x8318000(); + input += synapse0x8318040(); + input += synapse0x8318080(); + input += synapse0x83180c0(); + return input; +} + +double ddNNEE::neuron0x8317b40() { + double input = input0x8317b40(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8318100() { + double input = 0.253693; + input += synapse0x8318440(); + input += synapse0x8318480(); + input += synapse0x83184c0(); + input += synapse0x8318500(); + input += synapse0x8318540(); + input += synapse0x8318580(); + input += synapse0x83185c0(); + input += synapse0x8318600(); + input += synapse0x8318640(); + input += synapse0x8318680(); + return input; +} + +double ddNNEE::neuron0x8318100() { + double input = input0x8318100(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x83186c0() { + double input = 0.558697; + input += synapse0x8318a00(); + input += synapse0x8318a40(); + input += synapse0x8318a80(); + input += synapse0x8318ac0(); + input += synapse0x8318b00(); + input += synapse0x8318b40(); + input += synapse0x8318b80(); + input += synapse0x8318bc0(); + input += synapse0x8318c00(); + input += synapse0x8318c40(); + return input; +} + +double ddNNEE::neuron0x83186c0() { + double input = input0x83186c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8318c80() { + double input = -2.24623; + input += synapse0x8318fc0(); + input += synapse0x8319000(); + input += synapse0x8319040(); + input += synapse0x8319080(); + input += synapse0x83190c0(); + input += synapse0x8319100(); + input += synapse0x8319140(); + input += synapse0x8319180(); + input += synapse0x83191c0(); + input += synapse0x8316cc0(); + return input; +} + +double ddNNEE::neuron0x8318c80() { + double input = input0x8318c80(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ddNNEE::input0x8316d00() { + double input = -2.15788; + input += synapse0x8317040(); + input += synapse0x8317080(); + input += synapse0x8313f80(); + input += synapse0x8313fc0(); + input += synapse0x8314000(); + return input; +} + +double ddNNEE::neuron0x8316d00() { + double input = input0x8316d00(); + return (input * 1)+0; +} + +double ddNNEE::synapse0x82728c0() { + return (neuron0x8312580()*-1.58825); +} + +double ddNNEE::synapse0x831b180() { + return (neuron0x83128c0()*-1.10229); +} + +double ddNNEE::synapse0x8314360() { + return (neuron0x8312c00()*-0.565096); +} + +double ddNNEE::synapse0x83143a0() { + return (neuron0x8312f40()*0.122835); +} + +double ddNNEE::synapse0x83143e0() { + return (neuron0x8313280()*-0.105586); +} + +double ddNNEE::synapse0x8314420() { + return (neuron0x83135c0()*3.72349); +} + +double ddNNEE::synapse0x8314460() { + return (neuron0x8313900()*0.517663); +} + +double ddNNEE::synapse0x83144a0() { + return (neuron0x8313c40()*-0.0567961); +} + +double ddNNEE::synapse0x8314820() { + return (neuron0x8312580()*0.394706); +} + +double ddNNEE::synapse0x8314860() { + return (neuron0x83128c0()*0.342424); +} + +double ddNNEE::synapse0x83148a0() { + return (neuron0x8312c00()*0.436855); +} + +double ddNNEE::synapse0x83148e0() { + return (neuron0x8312f40()*-0.294598); +} + +double ddNNEE::synapse0x8314920() { + return (neuron0x8313280()*0.492127); +} + +double ddNNEE::synapse0x8314960() { + return (neuron0x83135c0()*0.00187448); +} + +double ddNNEE::synapse0x83149a0() { + return (neuron0x8313900()*-0.377788); +} + +double ddNNEE::synapse0x83149e0() { + return (neuron0x8313c40()*-0.349046); +} + +double ddNNEE::synapse0x8314d60() { + return (neuron0x8312580()*-0.197605); +} + +double ddNNEE::synapse0x8240e60() { + return (neuron0x83128c0()*-0.373985); +} + +double ddNNEE::synapse0x8240ea0() { + return (neuron0x8312c00()*-0.0505447); +} + +double ddNNEE::synapse0x8314eb0() { + return (neuron0x8312f40()*-0.246537); +} + +double ddNNEE::synapse0x8314ef0() { + return (neuron0x8313280()*0.140793); +} + +double ddNNEE::synapse0x8314f30() { + return (neuron0x83135c0()*0.411811); +} + +double ddNNEE::synapse0x8314f70() { + return (neuron0x8313900()*-0.209583); +} + +double ddNNEE::synapse0x8314fb0() { + return (neuron0x8313c40()*-0.453906); +} + +double ddNNEE::synapse0x8315330() { + return (neuron0x8312580()*1.64781); +} + +double ddNNEE::synapse0x8315370() { + return (neuron0x83128c0()*0.921551); +} + +double ddNNEE::synapse0x83153b0() { + return (neuron0x8312c00()*0.941424); +} + +double ddNNEE::synapse0x83153f0() { + return (neuron0x8312f40()*1.15033); +} + +double ddNNEE::synapse0x8315430() { + return (neuron0x8313280()*0.978414); +} + +double ddNNEE::synapse0x8315470() { + return (neuron0x83135c0()*1.03646); +} + +double ddNNEE::synapse0x83154b0() { + return (neuron0x8313900()*0.992893); +} + +double ddNNEE::synapse0x83154f0() { + return (neuron0x8313c40()*1.07173); +} + +double ddNNEE::synapse0x8315870() { + return (neuron0x8312580()*-0.487263); +} + +double ddNNEE::synapse0x83124b0() { + return (neuron0x83128c0()*-0.415371); +} + +double ddNNEE::synapse0x831b1c0() { + return (neuron0x8312c00()*-0.179726); +} + +double ddNNEE::synapse0x825d1d0() { + return (neuron0x8312f40()*1.23975); +} + +double ddNNEE::synapse0x8314da0() { + return (neuron0x8313280()*-0.218843); +} + +double ddNNEE::synapse0x8314de0() { + return (neuron0x83135c0()*0.239369); +} + +double ddNNEE::synapse0x8314e20() { + return (neuron0x8313900()*-0.584394); +} + +double ddNNEE::synapse0x8314e60() { + return (neuron0x8313c40()*0.198253); +} + +double ddNNEE::synapse0x8315bf0() { + return (neuron0x8312580()*0.740868); +} + +double ddNNEE::synapse0x8315c30() { + return (neuron0x83128c0()*-0.217136); +} + +double ddNNEE::synapse0x8315c70() { + return (neuron0x8312c00()*0.561292); +} + +double ddNNEE::synapse0x8315cb0() { + return (neuron0x8312f40()*0.114271); +} + +double ddNNEE::synapse0x8315cf0() { + return (neuron0x8313280()*0.381374); +} + +double ddNNEE::synapse0x8315d30() { + return (neuron0x83135c0()*-0.466769); +} + +double ddNNEE::synapse0x8315d70() { + return (neuron0x8313900()*0.405474); +} + +double ddNNEE::synapse0x8315db0() { + return (neuron0x8313c40()*-1.04062); +} + +double ddNNEE::synapse0x8316130() { + return (neuron0x8312580()*-0.402604); +} + +double ddNNEE::synapse0x8316170() { + return (neuron0x83128c0()*0.220286); +} + +double ddNNEE::synapse0x83161b0() { + return (neuron0x8312c00()*0.331519); +} + +double ddNNEE::synapse0x83161f0() { + return (neuron0x8312f40()*-0.646217); +} + +double ddNNEE::synapse0x8316230() { + return (neuron0x8313280()*0.198439); +} + +double ddNNEE::synapse0x8316270() { + return (neuron0x83135c0()*-0.70732); +} + +double ddNNEE::synapse0x83162b0() { + return (neuron0x8313900()*-0.584387); +} + +double ddNNEE::synapse0x83162f0() { + return (neuron0x8313c40()*2.29453); +} + +double ddNNEE::synapse0x8316670() { + return (neuron0x8312580()*-1.93044); +} + +double ddNNEE::synapse0x83166b0() { + return (neuron0x83128c0()*-2.45384); +} + +double ddNNEE::synapse0x83166f0() { + return (neuron0x8312c00()*-0.423168); +} + +double ddNNEE::synapse0x8316730() { + return (neuron0x8312f40()*0.126811); +} + +double ddNNEE::synapse0x8316770() { + return (neuron0x8313280()*0.46297); +} + +double ddNNEE::synapse0x83167b0() { + return (neuron0x83135c0()*2.33621); +} + +double ddNNEE::synapse0x83167f0() { + return (neuron0x8313900()*-0.0213368); +} + +double ddNNEE::synapse0x8316830() { + return (neuron0x8313c40()*1.38537); +} + +double ddNNEE::synapse0x823eac0() { + return (neuron0x8312580()*-0.53831); +} + +double ddNNEE::synapse0x823eb00() { + return (neuron0x83128c0()*0.329635); +} + +double ddNNEE::synapse0x82599c0() { + return (neuron0x8312c00()*-0.795528); +} + +double ddNNEE::synapse0x8259a00() { + return (neuron0x8312f40()*0.387663); +} + +double ddNNEE::synapse0x8259a40() { + return (neuron0x8313280()*0.0506177); +} + +double ddNNEE::synapse0x8259a80() { + return (neuron0x83135c0()*-0.619213); +} + +double ddNNEE::synapse0x8259ac0() { + return (neuron0x8313900()*-0.00450464); +} + +double ddNNEE::synapse0x8259b00() { + return (neuron0x8313c40()*1.74116); +} + +double ddNNEE::synapse0x8317380() { + return (neuron0x8312580()*1.39179); +} + +double ddNNEE::synapse0x83173c0() { + return (neuron0x83128c0()*-1.33156); +} + +double ddNNEE::synapse0x8317400() { + return (neuron0x8312c00()*0.412971); +} + +double ddNNEE::synapse0x8317440() { + return (neuron0x8312f40()*-0.100225); +} + +double ddNNEE::synapse0x8317480() { + return (neuron0x8313280()*-0.155398); +} + +double ddNNEE::synapse0x83174c0() { + return (neuron0x83135c0()*0.898231); +} + +double ddNNEE::synapse0x8317500() { + return (neuron0x8313900()*-0.238382); +} + +double ddNNEE::synapse0x8317540() { + return (neuron0x8313c40()*-1.06072); +} + +double ddNNEE::synapse0x83178c0() { + return (neuron0x83140b0()*0.914963); +} + +double ddNNEE::synapse0x8317900() { + return (neuron0x83144e0()*1.44698); +} + +double ddNNEE::synapse0x8317940() { + return (neuron0x8314a20()*-0.928438); +} + +double ddNNEE::synapse0x8317980() { + return (neuron0x8314ff0()*0.470698); +} + +double ddNNEE::synapse0x83179c0() { + return (neuron0x8315530()*-0.69716); +} + +double ddNNEE::synapse0x8317a00() { + return (neuron0x83158b0()*-0.57454); +} + +double ddNNEE::synapse0x8317a40() { + return (neuron0x8315df0()*0.438625); +} + +double ddNNEE::synapse0x8317a80() { + return (neuron0x8316330()*-0.170681); +} + +double ddNNEE::synapse0x8317ac0() { + return (neuron0x8316870()*1.08005); +} + +double ddNNEE::synapse0x8317b00() { + return (neuron0x83170d0()*0.711833); +} + +double ddNNEE::synapse0x8317e80() { + return (neuron0x83140b0()*0.647346); +} + +double ddNNEE::synapse0x8317ec0() { + return (neuron0x83144e0()*2.39181); +} + +double ddNNEE::synapse0x8317f00() { + return (neuron0x8314a20()*-1.55821); +} + +double ddNNEE::synapse0x8317f40() { + return (neuron0x8314ff0()*-0.215333); +} + +double ddNNEE::synapse0x8317f80() { + return (neuron0x8315530()*-0.366795); +} + +double ddNNEE::synapse0x8317fc0() { + return (neuron0x83158b0()*0.215596); +} + +double ddNNEE::synapse0x8318000() { + return (neuron0x8315df0()*-0.572009); +} + +double ddNNEE::synapse0x8318040() { + return (neuron0x8316330()*-1.12707); +} + +double ddNNEE::synapse0x8318080() { + return (neuron0x8316870()*0.874066); +} + +double ddNNEE::synapse0x83180c0() { + return (neuron0x83170d0()*1.09344); +} + +double ddNNEE::synapse0x8318440() { + return (neuron0x83140b0()*-0.283404); +} + +double ddNNEE::synapse0x8318480() { + return (neuron0x83144e0()*0.0407104); +} + +double ddNNEE::synapse0x83184c0() { + return (neuron0x8314a20()*-0.714295); +} + +double ddNNEE::synapse0x8318500() { + return (neuron0x8314ff0()*-0.168094); +} + +double ddNNEE::synapse0x8318540() { + return (neuron0x8315530()*-2.60967); +} + +double ddNNEE::synapse0x8318580() { + return (neuron0x83158b0()*-1.08998); +} + +double ddNNEE::synapse0x83185c0() { + return (neuron0x8315df0()*1.00207); +} + +double ddNNEE::synapse0x8318600() { + return (neuron0x8316330()*0.792278); +} + +double ddNNEE::synapse0x8318640() { + return (neuron0x8316870()*0.718949); +} + +double ddNNEE::synapse0x8318680() { + return (neuron0x83170d0()*2.36826); +} + +double ddNNEE::synapse0x8318a00() { + return (neuron0x83140b0()*0.478507); +} + +double ddNNEE::synapse0x8318a40() { + return (neuron0x83144e0()*0.13425); +} + +double ddNNEE::synapse0x8318a80() { + return (neuron0x8314a20()*0.281792); +} + +double ddNNEE::synapse0x8318ac0() { + return (neuron0x8314ff0()*0.769649); +} + +double ddNNEE::synapse0x8318b00() { + return (neuron0x8315530()*0.893873); +} + +double ddNNEE::synapse0x8318b40() { + return (neuron0x83158b0()*0.401025); +} + +double ddNNEE::synapse0x8318b80() { + return (neuron0x8315df0()*-0.726698); +} + +double ddNNEE::synapse0x8318bc0() { + return (neuron0x8316330()*0.377856); +} + +double ddNNEE::synapse0x8318c00() { + return (neuron0x8316870()*-0.0124937); +} + +double ddNNEE::synapse0x8318c40() { + return (neuron0x83170d0()*0.413426); +} + +double ddNNEE::synapse0x8318fc0() { + return (neuron0x83140b0()*0.910933); +} + +double ddNNEE::synapse0x8319000() { + return (neuron0x83144e0()*1.12521); +} + +double ddNNEE::synapse0x8319040() { + return (neuron0x8314a20()*-1.36901); +} + +double ddNNEE::synapse0x8319080() { + return (neuron0x8314ff0()*0.494542); +} + +double ddNNEE::synapse0x83190c0() { + return (neuron0x8315530()*-0.775266); +} + +double ddNNEE::synapse0x8319100() { + return (neuron0x83158b0()*-2.12784); +} + +double ddNNEE::synapse0x8319140() { + return (neuron0x8315df0()*-2.08337); +} + +double ddNNEE::synapse0x8319180() { + return (neuron0x8316330()*1.98218); +} + +double ddNNEE::synapse0x83191c0() { + return (neuron0x8316870()*2.82563); +} + +double ddNNEE::synapse0x8316cc0() { + return (neuron0x83170d0()*0.404478); +} + +double ddNNEE::synapse0x8317040() { + return (neuron0x8317580()*2.06702); +} + +double ddNNEE::synapse0x8317080() { + return (neuron0x8317b40()*3.65618); +} + +double ddNNEE::synapse0x8313f80() { + return (neuron0x8318100()*3.54663); +} + +double ddNNEE::synapse0x8313fc0() { + return (neuron0x83186c0()*-1.53354); +} + +double ddNNEE::synapse0x8314000() { + return (neuron0x8318c80()*4.25567); +} + +double ldNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.99102)/1.1492; + input1 = (in1 - 2.40353)/1.40003; + input2 = (in2 - 2.41121)/1.41004; + input3 = (in3 - 2.42657)/1.40629; + input4 = (in4 - 2.42619)/1.40466; + input5 = (in5 - 1.33856)/1.28698; + input6 = (in6 - 1.33177)/1.28879; + input7 = (in7 - 1.33367)/1.29347; + switch(index) { + case 0: + return neuron0x1e95bcc0(); + default: + return 0.; + } +} + +double ldNNEE::Value(int index, double* input) { + input0 = (input[0] - 4.99102)/1.1492; + input1 = (input[1] - 2.40353)/1.40003; + input2 = (input[2] - 2.41121)/1.41004; + input3 = (input[3] - 2.42657)/1.40629; + input4 = (input[4] - 2.42619)/1.40466; + input5 = (input[5] - 1.33856)/1.28698; + input6 = (input[6] - 1.33177)/1.28879; + input7 = (input[7] - 1.33367)/1.29347; + switch(index) { + case 0: + return neuron0x1e95bcc0(); + default: + return 0.; + } +} + +double ldNNEE::neuron0x1e957540() { + return input0; +} + +double ldNNEE::neuron0x1e957880() { + return input1; +} + +double ldNNEE::neuron0x1e957bc0() { + return input2; +} + +double ldNNEE::neuron0x1e957f00() { + return input3; +} + +double ldNNEE::neuron0x1e958240() { + return input4; +} + +double ldNNEE::neuron0x1e958580() { + return input5; +} + +double ldNNEE::neuron0x1e9588c0() { + return input6; +} + +double ldNNEE::neuron0x1e958c00() { + return input7; +} + +double ldNNEE::input0x1e959070() { + double input = -1.56243; + input += synapse0x1e8b7880(); + input += synapse0x1e960140(); + input += synapse0x1e959320(); + input += synapse0x1e959360(); + input += synapse0x1e9593a0(); + input += synapse0x1e9593e0(); + input += synapse0x1e959420(); + input += synapse0x1e959460(); + return input; +} + +double ldNNEE::neuron0x1e959070() { + double input = input0x1e959070(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e9594a0() { + double input = 0.277395; + input += synapse0x1e9597e0(); + input += synapse0x1e959820(); + input += synapse0x1e959860(); + input += synapse0x1e9598a0(); + input += synapse0x1e9598e0(); + input += synapse0x1e959920(); + input += synapse0x1e959960(); + input += synapse0x1e9599a0(); + return input; +} + +double ldNNEE::neuron0x1e9594a0() { + double input = input0x1e9594a0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e9599e0() { + double input = -2.09409; + input += synapse0x1e959d20(); + input += synapse0x1e885e20(); + input += synapse0x1e885e60(); + input += synapse0x1e959e70(); + input += synapse0x1e959eb0(); + input += synapse0x1e959ef0(); + input += synapse0x1e959f30(); + input += synapse0x1e959f70(); + return input; +} + +double ldNNEE::neuron0x1e9599e0() { + double input = input0x1e9599e0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e959fb0() { + double input = -0.665299; + input += synapse0x1e95a2f0(); + input += synapse0x1e95a330(); + input += synapse0x1e95a370(); + input += synapse0x1e95a3b0(); + input += synapse0x1e95a3f0(); + input += synapse0x1e95a430(); + input += synapse0x1e95a470(); + input += synapse0x1e95a4b0(); + return input; +} + +double ldNNEE::neuron0x1e959fb0() { + double input = input0x1e959fb0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95a4f0() { + double input = -0.112128; + input += synapse0x1e95a830(); + input += synapse0x1e957470(); + input += synapse0x1e960180(); + input += synapse0x1e8a2190(); + input += synapse0x1e959d60(); + input += synapse0x1e959da0(); + input += synapse0x1e959de0(); + input += synapse0x1e959e20(); + return input; +} + +double ldNNEE::neuron0x1e95a4f0() { + double input = input0x1e95a4f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95a870() { + double input = 0.0424555; + input += synapse0x1e95abb0(); + input += synapse0x1e95abf0(); + input += synapse0x1e95ac30(); + input += synapse0x1e95ac70(); + input += synapse0x1e95acb0(); + input += synapse0x1e95acf0(); + input += synapse0x1e95ad30(); + input += synapse0x1e95ad70(); + return input; +} + +double ldNNEE::neuron0x1e95a870() { + double input = input0x1e95a870(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95adb0() { + double input = 0.783657; + input += synapse0x1e95b0f0(); + input += synapse0x1e95b130(); + input += synapse0x1e95b170(); + input += synapse0x1e95b1b0(); + input += synapse0x1e95b1f0(); + input += synapse0x1e95b230(); + input += synapse0x1e95b270(); + input += synapse0x1e95b2b0(); + return input; +} + +double ldNNEE::neuron0x1e95adb0() { + double input = input0x1e95adb0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95b2f0() { + double input = -0.327327; + input += synapse0x1e95b630(); + input += synapse0x1e95b670(); + input += synapse0x1e95b6b0(); + input += synapse0x1e95b6f0(); + input += synapse0x1e95b730(); + input += synapse0x1e95b770(); + input += synapse0x1e95b7b0(); + input += synapse0x1e95b7f0(); + return input; +} + +double ldNNEE::neuron0x1e95b2f0() { + double input = input0x1e95b2f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95b830() { + double input = 2.23142; + input += synapse0x1e883a80(); + input += synapse0x1e883ac0(); + input += synapse0x1e89e980(); + input += synapse0x1e89e9c0(); + input += synapse0x1e89ea00(); + input += synapse0x1e89ea40(); + input += synapse0x1e89ea80(); + input += synapse0x1e89eac0(); + return input; +} + +double ldNNEE::neuron0x1e95b830() { + double input = input0x1e95b830(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95c090() { + double input = 2.37996; + input += synapse0x1e95c340(); + input += synapse0x1e95c380(); + input += synapse0x1e95c3c0(); + input += synapse0x1e95c400(); + input += synapse0x1e95c440(); + input += synapse0x1e95c480(); + input += synapse0x1e95c4c0(); + input += synapse0x1e95c500(); + return input; +} + +double ldNNEE::neuron0x1e95c090() { + double input = input0x1e95c090(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95c540() { + double input = -0.959941; + input += synapse0x1e95c880(); + input += synapse0x1e95c8c0(); + input += synapse0x1e95c900(); + input += synapse0x1e95c940(); + input += synapse0x1e95c980(); + input += synapse0x1e95c9c0(); + input += synapse0x1e95ca00(); + input += synapse0x1e95ca40(); + input += synapse0x1e95ca80(); + input += synapse0x1e95cac0(); + return input; +} + +double ldNNEE::neuron0x1e95c540() { + double input = input0x1e95c540(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95cb00() { + double input = -0.0545535; + input += synapse0x1e95ce40(); + input += synapse0x1e95ce80(); + input += synapse0x1e95cec0(); + input += synapse0x1e95cf00(); + input += synapse0x1e95cf40(); + input += synapse0x1e95cf80(); + input += synapse0x1e95cfc0(); + input += synapse0x1e95d000(); + input += synapse0x1e95d040(); + input += synapse0x1e95d080(); + return input; +} + +double ldNNEE::neuron0x1e95cb00() { + double input = input0x1e95cb00(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95d0c0() { + double input = 0.108088; + input += synapse0x1e95d400(); + input += synapse0x1e95d440(); + input += synapse0x1e95d480(); + input += synapse0x1e95d4c0(); + input += synapse0x1e95d500(); + input += synapse0x1e95d540(); + input += synapse0x1e95d580(); + input += synapse0x1e95d5c0(); + input += synapse0x1e95d600(); + input += synapse0x1e95d640(); + return input; +} + +double ldNNEE::neuron0x1e95d0c0() { + double input = input0x1e95d0c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95d680() { + double input = -0.0100983; + input += synapse0x1e95d9c0(); + input += synapse0x1e95da00(); + input += synapse0x1e95da40(); + input += synapse0x1e95da80(); + input += synapse0x1e95dac0(); + input += synapse0x1e95db00(); + input += synapse0x1e95db40(); + input += synapse0x1e95db80(); + input += synapse0x1e95dbc0(); + input += synapse0x1e95dc00(); + return input; +} + +double ldNNEE::neuron0x1e95d680() { + double input = input0x1e95d680(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95dc40() { + double input = -0.534084; + input += synapse0x1e95df80(); + input += synapse0x1e95dfc0(); + input += synapse0x1e95e000(); + input += synapse0x1e95e040(); + input += synapse0x1e95e080(); + input += synapse0x1e95e0c0(); + input += synapse0x1e95e100(); + input += synapse0x1e95e140(); + input += synapse0x1e95e180(); + input += synapse0x1e95bc80(); + return input; +} + +double ldNNEE::neuron0x1e95dc40() { + double input = input0x1e95dc40(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ldNNEE::input0x1e95bcc0() { + double input = -1.46932; + input += synapse0x1e95c000(); + input += synapse0x1e95c040(); + input += synapse0x1e958f40(); + input += synapse0x1e958f80(); + input += synapse0x1e958fc0(); + return input; +} + +double ldNNEE::neuron0x1e95bcc0() { + double input = input0x1e95bcc0(); + return (input * 1)+0; +} + +double ldNNEE::synapse0x1e8b7880() { + return (neuron0x1e957540()*1.46564); +} + +double ldNNEE::synapse0x1e960140() { + return (neuron0x1e957880()*0.428584); +} + +double ldNNEE::synapse0x1e959320() { + return (neuron0x1e957bc0()*0.582542); +} + +double ldNNEE::synapse0x1e959360() { + return (neuron0x1e957f00()*-0.787778); +} + +double ldNNEE::synapse0x1e9593a0() { + return (neuron0x1e958240()*-1.76293); +} + +double ldNNEE::synapse0x1e9593e0() { + return (neuron0x1e958580()*0.173838); +} + +double ldNNEE::synapse0x1e959420() { + return (neuron0x1e9588c0()*-0.902033); +} + +double ldNNEE::synapse0x1e959460() { + return (neuron0x1e958c00()*-0.089348); +} + +double ldNNEE::synapse0x1e9597e0() { + return (neuron0x1e957540()*1.41247); +} + +double ldNNEE::synapse0x1e959820() { + return (neuron0x1e957880()*-0.042349); +} + +double ldNNEE::synapse0x1e959860() { + return (neuron0x1e957bc0()*-0.7785); +} + +double ldNNEE::synapse0x1e9598a0() { + return (neuron0x1e957f00()*-0.210301); +} + +double ldNNEE::synapse0x1e9598e0() { + return (neuron0x1e958240()*-1.17315); +} + +double ldNNEE::synapse0x1e959920() { + return (neuron0x1e958580()*-0.195878); +} + +double ldNNEE::synapse0x1e959960() { + return (neuron0x1e9588c0()*1.3596); +} + +double ldNNEE::synapse0x1e9599a0() { + return (neuron0x1e958c00()*1.28309); +} + +double ldNNEE::synapse0x1e959d20() { + return (neuron0x1e957540()*1.15124); +} + +double ldNNEE::synapse0x1e885e20() { + return (neuron0x1e957880()*-0.0668577); +} + +double ldNNEE::synapse0x1e885e60() { + return (neuron0x1e957bc0()*0.408767); +} + +double ldNNEE::synapse0x1e959e70() { + return (neuron0x1e957f00()*-0.383822); +} + +double ldNNEE::synapse0x1e959eb0() { + return (neuron0x1e958240()*-0.350844); +} + +double ldNNEE::synapse0x1e959ef0() { + return (neuron0x1e958580()*-0.658633); +} + +double ldNNEE::synapse0x1e959f30() { + return (neuron0x1e9588c0()*0.253153); +} + +double ldNNEE::synapse0x1e959f70() { + return (neuron0x1e958c00()*0.450355); +} + +double ldNNEE::synapse0x1e95a2f0() { + return (neuron0x1e957540()*0.533386); +} + +double ldNNEE::synapse0x1e95a330() { + return (neuron0x1e957880()*-0.0825323); +} + +double ldNNEE::synapse0x1e95a370() { + return (neuron0x1e957bc0()*-0.690911); +} + +double ldNNEE::synapse0x1e95a3b0() { + return (neuron0x1e957f00()*0.216972); +} + +double ldNNEE::synapse0x1e95a3f0() { + return (neuron0x1e958240()*0.753513); +} + +double ldNNEE::synapse0x1e95a430() { + return (neuron0x1e958580()*0.0971258); +} + +double ldNNEE::synapse0x1e95a470() { + return (neuron0x1e9588c0()*0.355891); +} + +double ldNNEE::synapse0x1e95a4b0() { + return (neuron0x1e958c00()*0.62749); +} + +double ldNNEE::synapse0x1e95a830() { + return (neuron0x1e957540()*2.40699); +} + +double ldNNEE::synapse0x1e957470() { + return (neuron0x1e957880()*-1.59664); +} + +double ldNNEE::synapse0x1e960180() { + return (neuron0x1e957bc0()*-0.865839); +} + +double ldNNEE::synapse0x1e8a2190() { + return (neuron0x1e957f00()*-1.03403); +} + +double ldNNEE::synapse0x1e959d60() { + return (neuron0x1e958240()*-0.0327801); +} + +double ldNNEE::synapse0x1e959da0() { + return (neuron0x1e958580()*-0.883803); +} + +double ldNNEE::synapse0x1e959de0() { + return (neuron0x1e9588c0()*0.919519); +} + +double ldNNEE::synapse0x1e959e20() { + return (neuron0x1e958c00()*1.463); +} + +double ldNNEE::synapse0x1e95abb0() { + return (neuron0x1e957540()*-0.0746568); +} + +double ldNNEE::synapse0x1e95abf0() { + return (neuron0x1e957880()*-0.332818); +} + +double ldNNEE::synapse0x1e95ac30() { + return (neuron0x1e957bc0()*-1.35063); +} + +double ldNNEE::synapse0x1e95ac70() { + return (neuron0x1e957f00()*0.183133); +} + +double ldNNEE::synapse0x1e95acb0() { + return (neuron0x1e958240()*0.134358); +} + +double ldNNEE::synapse0x1e95acf0() { + return (neuron0x1e958580()*-0.491049); +} + +double ldNNEE::synapse0x1e95ad30() { + return (neuron0x1e9588c0()*1.64453); +} + +double ldNNEE::synapse0x1e95ad70() { + return (neuron0x1e958c00()*0.67541); +} + +double ldNNEE::synapse0x1e95b0f0() { + return (neuron0x1e957540()*0.434697); +} + +double ldNNEE::synapse0x1e95b130() { + return (neuron0x1e957880()*-0.360692); +} + +double ldNNEE::synapse0x1e95b170() { + return (neuron0x1e957bc0()*0.217958); +} + +double ldNNEE::synapse0x1e95b1b0() { + return (neuron0x1e957f00()*0.0690149); +} + +double ldNNEE::synapse0x1e95b1f0() { + return (neuron0x1e958240()*1.07911); +} + +double ldNNEE::synapse0x1e95b230() { + return (neuron0x1e958580()*0.461768); +} + +double ldNNEE::synapse0x1e95b270() { + return (neuron0x1e9588c0()*-0.778333); +} + +double ldNNEE::synapse0x1e95b2b0() { + return (neuron0x1e958c00()*-1.37221); +} + +double ldNNEE::synapse0x1e95b630() { + return (neuron0x1e957540()*-0.885185); +} + +double ldNNEE::synapse0x1e95b670() { + return (neuron0x1e957880()*-0.146735); +} + +double ldNNEE::synapse0x1e95b6b0() { + return (neuron0x1e957bc0()*1.0352); +} + +double ldNNEE::synapse0x1e95b6f0() { + return (neuron0x1e957f00()*0.00272632); +} + +double ldNNEE::synapse0x1e95b730() { + return (neuron0x1e958240()*0.761924); +} + +double ldNNEE::synapse0x1e95b770() { + return (neuron0x1e958580()*0.0672013); +} + +double ldNNEE::synapse0x1e95b7b0() { + return (neuron0x1e9588c0()*-0.640816); +} + +double ldNNEE::synapse0x1e95b7f0() { + return (neuron0x1e958c00()*-0.691704); +} + +double ldNNEE::synapse0x1e883a80() { + return (neuron0x1e957540()*-0.384238); +} + +double ldNNEE::synapse0x1e883ac0() { + return (neuron0x1e957880()*0.397007); +} + +double ldNNEE::synapse0x1e89e980() { + return (neuron0x1e957bc0()*-0.39839); +} + +double ldNNEE::synapse0x1e89e9c0() { + return (neuron0x1e957f00()*-0.00745285); +} + +double ldNNEE::synapse0x1e89ea00() { + return (neuron0x1e958240()*-0.413446); +} + +double ldNNEE::synapse0x1e89ea40() { + return (neuron0x1e958580()*-0.243978); +} + +double ldNNEE::synapse0x1e89ea80() { + return (neuron0x1e9588c0()*-0.500086); +} + +double ldNNEE::synapse0x1e89eac0() { + return (neuron0x1e958c00()*-0.178044); +} + +double ldNNEE::synapse0x1e95c340() { + return (neuron0x1e957540()*-0.323586); +} + +double ldNNEE::synapse0x1e95c380() { + return (neuron0x1e957880()*0.501998); +} + +double ldNNEE::synapse0x1e95c3c0() { + return (neuron0x1e957bc0()*1.51388); +} + +double ldNNEE::synapse0x1e95c400() { + return (neuron0x1e957f00()*-0.879529); +} + +double ldNNEE::synapse0x1e95c440() { + return (neuron0x1e958240()*-0.805979); +} + +double ldNNEE::synapse0x1e95c480() { + return (neuron0x1e958580()*-0.461876); +} + +double ldNNEE::synapse0x1e95c4c0() { + return (neuron0x1e9588c0()*0.0814574); +} + +double ldNNEE::synapse0x1e95c500() { + return (neuron0x1e958c00()*0.690482); +} + +double ldNNEE::synapse0x1e95c880() { + return (neuron0x1e959070()*-0.92281); +} + +double ldNNEE::synapse0x1e95c8c0() { + return (neuron0x1e9594a0()*-1.65121); +} + +double ldNNEE::synapse0x1e95c900() { + return (neuron0x1e9599e0()*1.7076); +} + +double ldNNEE::synapse0x1e95c940() { + return (neuron0x1e959fb0()*0.799588); +} + +double ldNNEE::synapse0x1e95c980() { + return (neuron0x1e95a4f0()*-1.21932); +} + +double ldNNEE::synapse0x1e95c9c0() { + return (neuron0x1e95a870()*-0.265466); +} + +double ldNNEE::synapse0x1e95ca00() { + return (neuron0x1e95adb0()*1.20421); +} + +double ldNNEE::synapse0x1e95ca40() { + return (neuron0x1e95b2f0()*0.585932); +} + +double ldNNEE::synapse0x1e95ca80() { + return (neuron0x1e95b830()*-1.8946); +} + +double ldNNEE::synapse0x1e95cac0() { + return (neuron0x1e95c090()*1.08486); +} + +double ldNNEE::synapse0x1e95ce40() { + return (neuron0x1e959070()*0.764949); +} + +double ldNNEE::synapse0x1e95ce80() { + return (neuron0x1e9594a0()*-1.77857); +} + +double ldNNEE::synapse0x1e95cec0() { + return (neuron0x1e9599e0()*-1.44957); +} + +double ldNNEE::synapse0x1e95cf00() { + return (neuron0x1e959fb0()*-1.41676); +} + +double ldNNEE::synapse0x1e95cf40() { + return (neuron0x1e95a4f0()*-0.458544); +} + +double ldNNEE::synapse0x1e95cf80() { + return (neuron0x1e95a870()*0.528898); +} + +double ldNNEE::synapse0x1e95cfc0() { + return (neuron0x1e95adb0()*-0.750037); +} + +double ldNNEE::synapse0x1e95d000() { + return (neuron0x1e95b2f0()*-0.764525); +} + +double ldNNEE::synapse0x1e95d040() { + return (neuron0x1e95b830()*0.371361); +} + +double ldNNEE::synapse0x1e95d080() { + return (neuron0x1e95c090()*-0.399181); +} + +double ldNNEE::synapse0x1e95d400() { + return (neuron0x1e959070()*-0.376096); +} + +double ldNNEE::synapse0x1e95d440() { + return (neuron0x1e9594a0()*0.137658); +} + +double ldNNEE::synapse0x1e95d480() { + return (neuron0x1e9599e0()*0.298105); +} + +double ldNNEE::synapse0x1e95d4c0() { + return (neuron0x1e959fb0()*0.105747); +} + +double ldNNEE::synapse0x1e95d500() { + return (neuron0x1e95a4f0()*-0.738776); +} + +double ldNNEE::synapse0x1e95d540() { + return (neuron0x1e95a870()*-0.216621); +} + +double ldNNEE::synapse0x1e95d580() { + return (neuron0x1e95adb0()*0.522074); +} + +double ldNNEE::synapse0x1e95d5c0() { + return (neuron0x1e95b2f0()*-0.133003); +} + +double ldNNEE::synapse0x1e95d600() { + return (neuron0x1e95b830()*-0.116397); +} + +double ldNNEE::synapse0x1e95d640() { + return (neuron0x1e95c090()*0.643543); +} + +double ldNNEE::synapse0x1e95d9c0() { + return (neuron0x1e959070()*-0.684852); +} + +double ldNNEE::synapse0x1e95da00() { + return (neuron0x1e9594a0()*0.556556); +} + +double ldNNEE::synapse0x1e95da40() { + return (neuron0x1e9599e0()*1.16285); +} + +double ldNNEE::synapse0x1e95da80() { + return (neuron0x1e959fb0()*1.13189); +} + +double ldNNEE::synapse0x1e95dac0() { + return (neuron0x1e95a4f0()*-1.5021); +} + +double ldNNEE::synapse0x1e95db00() { + return (neuron0x1e95a870()*-0.509703); +} + +double ldNNEE::synapse0x1e95db40() { + return (neuron0x1e95adb0()*0.980433); +} + +double ldNNEE::synapse0x1e95db80() { + return (neuron0x1e95b2f0()*0.240291); +} + +double ldNNEE::synapse0x1e95dbc0() { + return (neuron0x1e95b830()*-1.16458); +} + +double ldNNEE::synapse0x1e95dc00() { + return (neuron0x1e95c090()*0.598338); +} + +double ldNNEE::synapse0x1e95df80() { + return (neuron0x1e959070()*-1.05336); +} + +double ldNNEE::synapse0x1e95dfc0() { + return (neuron0x1e9594a0()*0.897677); +} + +double ldNNEE::synapse0x1e95e000() { + return (neuron0x1e9599e0()*2.32913); +} + +double ldNNEE::synapse0x1e95e040() { + return (neuron0x1e959fb0()*0.837162); +} + +double ldNNEE::synapse0x1e95e080() { + return (neuron0x1e95a4f0()*0.0385715); +} + +double ldNNEE::synapse0x1e95e0c0() { + return (neuron0x1e95a870()*-1.22258); +} + +double ldNNEE::synapse0x1e95e100() { + return (neuron0x1e95adb0()*0.946005); +} + +double ldNNEE::synapse0x1e95e140() { + return (neuron0x1e95b2f0()*1.22504); +} + +double ldNNEE::synapse0x1e95e180() { + return (neuron0x1e95b830()*-1.85501); +} + +double ldNNEE::synapse0x1e95bc80() { + return (neuron0x1e95c090()*1.77983); +} + +double ldNNEE::synapse0x1e95c000() { + return (neuron0x1e95c540()*4.10013); +} + +double ldNNEE::synapse0x1e95c040() { + return (neuron0x1e95cb00()*-3.6466); +} + +double ldNNEE::synapse0x1e958f40() { + return (neuron0x1e95d0c0()*-0.333399); +} + +double ldNNEE::synapse0x1e958f80() { + return (neuron0x1e95d680()*1.42134); +} + +double ldNNEE::synapse0x1e958fc0() { + return (neuron0x1e95dc40()*3.14812); +} + +double llNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.99102)/1.1492; + input1 = (in1 - 2.40353)/1.40003; + input2 = (in2 - 2.42657)/1.40629; + input3 = (in3 - 2.42619)/1.40466; + input4 = (in4 - 1.33856)/1.28698; + input5 = (in5 - 1.33177)/1.28879; + input6 = (in6 - 1.33367)/1.29347; + input7 = (in7 - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x13016bc0(); + default: + return 0.; + } +} + +double llNNEE::Value(int index, double* input) { + input0 = (input[0] - 4.99102)/1.1492; + input1 = (input[1] - 2.40353)/1.40003; + input2 = (input[2] - 2.42657)/1.40629; + input3 = (input[3] - 2.42619)/1.40466; + input4 = (input[4] - 1.33856)/1.28698; + input5 = (input[5] - 1.33177)/1.28879; + input6 = (input[6] - 1.33367)/1.29347; + input7 = (input[7] - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x13016bc0(); + default: + return 0.; + } +} + +double llNNEE::neuron0x13012440() { + return input0; +} + +double llNNEE::neuron0x13012780() { + return input1; +} + +double llNNEE::neuron0x13012ac0() { + return input2; +} + +double llNNEE::neuron0x13012e00() { + return input3; +} + +double llNNEE::neuron0x13013140() { + return input4; +} + +double llNNEE::neuron0x13013480() { + return input5; +} + +double llNNEE::neuron0x130137c0() { + return input6; +} + +double llNNEE::neuron0x13013b00() { + return input7; +} + +double llNNEE::input0x13013f70() { + double input = 0.900227; + input += synapse0x12f72780(); + input += synapse0x1301b040(); + input += synapse0x13014220(); + input += synapse0x13014260(); + input += synapse0x130142a0(); + input += synapse0x130142e0(); + input += synapse0x13014320(); + input += synapse0x13014360(); + return input; +} + +double llNNEE::neuron0x13013f70() { + double input = input0x13013f70(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x130143a0() { + double input = -0.566678; + input += synapse0x130146e0(); + input += synapse0x13014720(); + input += synapse0x13014760(); + input += synapse0x130147a0(); + input += synapse0x130147e0(); + input += synapse0x13014820(); + input += synapse0x13014860(); + input += synapse0x130148a0(); + return input; +} + +double llNNEE::neuron0x130143a0() { + double input = input0x130143a0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x130148e0() { + double input = 0.272189; + input += synapse0x13014c20(); + input += synapse0x12f40d20(); + input += synapse0x12f40d60(); + input += synapse0x13014d70(); + input += synapse0x13014db0(); + input += synapse0x13014df0(); + input += synapse0x13014e30(); + input += synapse0x13014e70(); + return input; +} + +double llNNEE::neuron0x130148e0() { + double input = input0x130148e0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13014eb0() { + double input = -0.907915; + input += synapse0x130151f0(); + input += synapse0x13015230(); + input += synapse0x13015270(); + input += synapse0x130152b0(); + input += synapse0x130152f0(); + input += synapse0x13015330(); + input += synapse0x13015370(); + input += synapse0x130153b0(); + return input; +} + +double llNNEE::neuron0x13014eb0() { + double input = input0x13014eb0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x130153f0() { + double input = -1.00744; + input += synapse0x13015730(); + input += synapse0x13012370(); + input += synapse0x1301b080(); + input += synapse0x12f5d090(); + input += synapse0x13014c60(); + input += synapse0x13014ca0(); + input += synapse0x13014ce0(); + input += synapse0x13014d20(); + return input; +} + +double llNNEE::neuron0x130153f0() { + double input = input0x130153f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13015770() { + double input = 0.396889; + input += synapse0x13015ab0(); + input += synapse0x13015af0(); + input += synapse0x13015b30(); + input += synapse0x13015b70(); + input += synapse0x13015bb0(); + input += synapse0x13015bf0(); + input += synapse0x13015c30(); + input += synapse0x13015c70(); + return input; +} + +double llNNEE::neuron0x13015770() { + double input = input0x13015770(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13015cb0() { + double input = -1.18242; + input += synapse0x13015ff0(); + input += synapse0x13016030(); + input += synapse0x13016070(); + input += synapse0x130160b0(); + input += synapse0x130160f0(); + input += synapse0x13016130(); + input += synapse0x13016170(); + input += synapse0x130161b0(); + return input; +} + +double llNNEE::neuron0x13015cb0() { + double input = input0x13015cb0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x130161f0() { + double input = 0.882358; + input += synapse0x13016530(); + input += synapse0x13016570(); + input += synapse0x130165b0(); + input += synapse0x130165f0(); + input += synapse0x13016630(); + input += synapse0x13016670(); + input += synapse0x130166b0(); + input += synapse0x130166f0(); + return input; +} + +double llNNEE::neuron0x130161f0() { + double input = input0x130161f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13016730() { + double input = 1.01806; + input += synapse0x12f3e980(); + input += synapse0x12f3e9c0(); + input += synapse0x12f59880(); + input += synapse0x12f598c0(); + input += synapse0x12f59900(); + input += synapse0x12f59940(); + input += synapse0x12f59980(); + input += synapse0x12f599c0(); + return input; +} + +double llNNEE::neuron0x13016730() { + double input = input0x13016730(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13016f90() { + double input = 0.855648; + input += synapse0x13017240(); + input += synapse0x13017280(); + input += synapse0x130172c0(); + input += synapse0x13017300(); + input += synapse0x13017340(); + input += synapse0x13017380(); + input += synapse0x130173c0(); + input += synapse0x13017400(); + return input; +} + +double llNNEE::neuron0x13016f90() { + double input = input0x13016f90(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13017440() { + double input = -1.64745; + input += synapse0x13017780(); + input += synapse0x130177c0(); + input += synapse0x13017800(); + input += synapse0x13017840(); + input += synapse0x13017880(); + input += synapse0x130178c0(); + input += synapse0x13017900(); + input += synapse0x13017940(); + input += synapse0x13017980(); + input += synapse0x130179c0(); + return input; +} + +double llNNEE::neuron0x13017440() { + double input = input0x13017440(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13017a00() { + double input = 0.502623; + input += synapse0x13017d40(); + input += synapse0x13017d80(); + input += synapse0x13017dc0(); + input += synapse0x13017e00(); + input += synapse0x13017e40(); + input += synapse0x13017e80(); + input += synapse0x13017ec0(); + input += synapse0x13017f00(); + input += synapse0x13017f40(); + input += synapse0x13017f80(); + return input; +} + +double llNNEE::neuron0x13017a00() { + double input = input0x13017a00(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13017fc0() { + double input = 1.05585; + input += synapse0x13018300(); + input += synapse0x13018340(); + input += synapse0x13018380(); + input += synapse0x130183c0(); + input += synapse0x13018400(); + input += synapse0x13018440(); + input += synapse0x13018480(); + input += synapse0x130184c0(); + input += synapse0x13018500(); + input += synapse0x13018540(); + return input; +} + +double llNNEE::neuron0x13017fc0() { + double input = input0x13017fc0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13018580() { + double input = 0.709421; + input += synapse0x130188c0(); + input += synapse0x13018900(); + input += synapse0x13018940(); + input += synapse0x13018980(); + input += synapse0x130189c0(); + input += synapse0x13018a00(); + input += synapse0x13018a40(); + input += synapse0x13018a80(); + input += synapse0x13018ac0(); + input += synapse0x13018b00(); + return input; +} + +double llNNEE::neuron0x13018580() { + double input = input0x13018580(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13018b40() { + double input = -0.51613; + input += synapse0x13018e80(); + input += synapse0x13018ec0(); + input += synapse0x13018f00(); + input += synapse0x13018f40(); + input += synapse0x13018f80(); + input += synapse0x13018fc0(); + input += synapse0x13019000(); + input += synapse0x13019040(); + input += synapse0x13019080(); + input += synapse0x13016b80(); + return input; +} + +double llNNEE::neuron0x13018b40() { + double input = input0x13018b40(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double llNNEE::input0x13016bc0() { + double input = -1.55835; + input += synapse0x13016f00(); + input += synapse0x13016f40(); + input += synapse0x13013e40(); + input += synapse0x13013e80(); + input += synapse0x13013ec0(); + return input; +} + +double llNNEE::neuron0x13016bc0() { + double input = input0x13016bc0(); + return (input * 1)+0; +} + +double llNNEE::synapse0x12f72780() { + return (neuron0x13012440()*0.972565); +} + +double llNNEE::synapse0x1301b040() { + return (neuron0x13012780()*-0.186841); +} + +double llNNEE::synapse0x13014220() { + return (neuron0x13012ac0()*-0.675938); +} + +double llNNEE::synapse0x13014260() { + return (neuron0x13012e00()*0.921684); +} + +double llNNEE::synapse0x130142a0() { + return (neuron0x13013140()*-0.0250039); +} + +double llNNEE::synapse0x130142e0() { + return (neuron0x13013480()*-0.0829526); +} + +double llNNEE::synapse0x13014320() { + return (neuron0x130137c0()*0.641632); +} + +double llNNEE::synapse0x13014360() { + return (neuron0x13013b00()*-1.18715); +} + +double llNNEE::synapse0x130146e0() { + return (neuron0x13012440()*1.73331); +} + +double llNNEE::synapse0x13014720() { + return (neuron0x13012780()*-0.556065); +} + +double llNNEE::synapse0x13014760() { + return (neuron0x13012ac0()*0.501218); +} + +double llNNEE::synapse0x130147a0() { + return (neuron0x13012e00()*1.02699); +} + +double llNNEE::synapse0x130147e0() { + return (neuron0x13013140()*-0.523322); +} + +double llNNEE::synapse0x13014820() { + return (neuron0x13013480()*0.0387328); +} + +double llNNEE::synapse0x13014860() { + return (neuron0x130137c0()*0.270953); +} + +double llNNEE::synapse0x130148a0() { + return (neuron0x13013b00()*-3.38283); +} + +double llNNEE::synapse0x13014c20() { + return (neuron0x13012440()*0.429829); +} + +double llNNEE::synapse0x12f40d20() { + return (neuron0x13012780()*-0.215613); +} + +double llNNEE::synapse0x12f40d60() { + return (neuron0x13012ac0()*-2.95853); +} + +double llNNEE::synapse0x13014d70() { + return (neuron0x13012e00()*-0.0254754); +} + +double llNNEE::synapse0x13014db0() { + return (neuron0x13013140()*0.408803); +} + +double llNNEE::synapse0x13014df0() { + return (neuron0x13013480()*-0.229918); +} + +double llNNEE::synapse0x13014e30() { + return (neuron0x130137c0()*2.08506); +} + +double llNNEE::synapse0x13014e70() { + return (neuron0x13013b00()*-0.0131537); +} + +double llNNEE::synapse0x130151f0() { + return (neuron0x13012440()*0.746666); +} + +double llNNEE::synapse0x13015230() { + return (neuron0x13012780()*-1.13844); +} + +double llNNEE::synapse0x13015270() { + return (neuron0x13012ac0()*-0.20628); +} + +double llNNEE::synapse0x130152b0() { + return (neuron0x13012e00()*0.689589); +} + +double llNNEE::synapse0x130152f0() { + return (neuron0x13013140()*0.0139899); +} + +double llNNEE::synapse0x13015330() { + return (neuron0x13013480()*-1.07008); +} + +double llNNEE::synapse0x13015370() { + return (neuron0x130137c0()*-0.451243); +} + +double llNNEE::synapse0x130153b0() { + return (neuron0x13013b00()*1.71738); +} + +double llNNEE::synapse0x13015730() { + return (neuron0x13012440()*-1.69868); +} + +double llNNEE::synapse0x13012370() { + return (neuron0x13012780()*-0.76067); +} + +double llNNEE::synapse0x1301b080() { + return (neuron0x13012ac0()*-0.269277); +} + +double llNNEE::synapse0x12f5d090() { + return (neuron0x13012e00()*-0.77228); +} + +double llNNEE::synapse0x13014c60() { + return (neuron0x13013140()*0.13292); +} + +double llNNEE::synapse0x13014ca0() { + return (neuron0x13013480()*-0.0801225); +} + +double llNNEE::synapse0x13014ce0() { + return (neuron0x130137c0()*1.50998); +} + +double llNNEE::synapse0x13014d20() { + return (neuron0x13013b00()*1.75937); +} + +double llNNEE::synapse0x13015ab0() { + return (neuron0x13012440()*0.632788); +} + +double llNNEE::synapse0x13015af0() { + return (neuron0x13012780()*0.144782); +} + +double llNNEE::synapse0x13015b30() { + return (neuron0x13012ac0()*0.558561); +} + +double llNNEE::synapse0x13015b70() { + return (neuron0x13012e00()*-1.76916); +} + +double llNNEE::synapse0x13015bb0() { + return (neuron0x13013140()*-0.409269); +} + +double llNNEE::synapse0x13015bf0() { + return (neuron0x13013480()*0.00840235); +} + +double llNNEE::synapse0x13015c30() { + return (neuron0x130137c0()*-0.796708); +} + +double llNNEE::synapse0x13015c70() { + return (neuron0x13013b00()*1.4515); +} + +double llNNEE::synapse0x13015ff0() { + return (neuron0x13012440()*1.22116); +} + +double llNNEE::synapse0x13016030() { + return (neuron0x13012780()*-0.489883); +} + +double llNNEE::synapse0x13016070() { + return (neuron0x13012ac0()*-0.730029); +} + +double llNNEE::synapse0x130160b0() { + return (neuron0x13012e00()*-1.37951); +} + +double llNNEE::synapse0x130160f0() { + return (neuron0x13013140()*1.18109); +} + +double llNNEE::synapse0x13016130() { + return (neuron0x13013480()*0.71902); +} + +double llNNEE::synapse0x13016170() { + return (neuron0x130137c0()*-0.0593575); +} + +double llNNEE::synapse0x130161b0() { + return (neuron0x13013b00()*-0.127015); +} + +double llNNEE::synapse0x13016530() { + return (neuron0x13012440()*-0.531685); +} + +double llNNEE::synapse0x13016570() { + return (neuron0x13012780()*0.458726); +} + +double llNNEE::synapse0x130165b0() { + return (neuron0x13012ac0()*-0.00391746); +} + +double llNNEE::synapse0x130165f0() { + return (neuron0x13012e00()*0.116965); +} + +double llNNEE::synapse0x13016630() { + return (neuron0x13013140()*-0.903644); +} + +double llNNEE::synapse0x13016670() { + return (neuron0x13013480()*0.129238); +} + +double llNNEE::synapse0x130166b0() { + return (neuron0x130137c0()*0.0490041); +} + +double llNNEE::synapse0x130166f0() { + return (neuron0x13013b00()*0.105892); +} + +double llNNEE::synapse0x12f3e980() { + return (neuron0x13012440()*-1.65312); +} + +double llNNEE::synapse0x12f3e9c0() { + return (neuron0x13012780()*0.376034); +} + +double llNNEE::synapse0x12f59880() { + return (neuron0x13012ac0()*-1.08633); +} + +double llNNEE::synapse0x12f598c0() { + return (neuron0x13012e00()*-0.43458); +} + +double llNNEE::synapse0x12f59900() { + return (neuron0x13013140()*-0.339381); +} + +double llNNEE::synapse0x12f59940() { + return (neuron0x13013480()*0.326537); +} + +double llNNEE::synapse0x12f59980() { + return (neuron0x130137c0()*3.81688); +} + +double llNNEE::synapse0x12f599c0() { + return (neuron0x13013b00()*-0.15933); +} + +double llNNEE::synapse0x13017240() { + return (neuron0x13012440()*-0.303486); +} + +double llNNEE::synapse0x13017280() { + return (neuron0x13012780()*0.176229); +} + +double llNNEE::synapse0x130172c0() { + return (neuron0x13012ac0()*-0.651793); +} + +double llNNEE::synapse0x13017300() { + return (neuron0x13012e00()*-0.109911); +} + +double llNNEE::synapse0x13017340() { + return (neuron0x13013140()*0.204654); +} + +double llNNEE::synapse0x13017380() { + return (neuron0x13013480()*-0.444645); +} + +double llNNEE::synapse0x130173c0() { + return (neuron0x130137c0()*0.323009); +} + +double llNNEE::synapse0x13017400() { + return (neuron0x13013b00()*-0.32932); +} + +double llNNEE::synapse0x13017780() { + return (neuron0x13013f70()*0.307842); +} + +double llNNEE::synapse0x130177c0() { + return (neuron0x130143a0()*-2.10435); +} + +double llNNEE::synapse0x13017800() { + return (neuron0x130148e0()*1.29426); +} + +double llNNEE::synapse0x13017840() { + return (neuron0x13014eb0()*-1.9263); +} + +double llNNEE::synapse0x13017880() { + return (neuron0x130153f0()*0.498768); +} + +double llNNEE::synapse0x130178c0() { + return (neuron0x13015770()*1.94302); +} + +double llNNEE::synapse0x13017900() { + return (neuron0x13015cb0()*-1.51854); +} + +double llNNEE::synapse0x13017940() { + return (neuron0x130161f0()*-1.5205); +} + +double llNNEE::synapse0x13017980() { + return (neuron0x13016730()*1.4293); +} + +double llNNEE::synapse0x130179c0() { + return (neuron0x13016f90()*-0.0628727); +} + +double llNNEE::synapse0x13017d40() { + return (neuron0x13013f70()*-0.936375); +} + +double llNNEE::synapse0x13017d80() { + return (neuron0x130143a0()*-1.01656); +} + +double llNNEE::synapse0x13017dc0() { + return (neuron0x130148e0()*-0.94244); +} + +double llNNEE::synapse0x13017e00() { + return (neuron0x13014eb0()*0.648178); +} + +double llNNEE::synapse0x13017e40() { + return (neuron0x130153f0()*-0.215294); +} + +double llNNEE::synapse0x13017e80() { + return (neuron0x13015770()*-0.0498091); +} + +double llNNEE::synapse0x13017ec0() { + return (neuron0x13015cb0()*-0.346044); +} + +double llNNEE::synapse0x13017f00() { + return (neuron0x130161f0()*2.10931); +} + +double llNNEE::synapse0x13017f40() { + return (neuron0x13016730()*-0.534627); +} + +double llNNEE::synapse0x13017f80() { + return (neuron0x13016f90()*0.378392); +} + +double llNNEE::synapse0x13018300() { + return (neuron0x13013f70()*2.48796); +} + +double llNNEE::synapse0x13018340() { + return (neuron0x130143a0()*-1.0624); +} + +double llNNEE::synapse0x13018380() { + return (neuron0x130148e0()*-1.35455); +} + +double llNNEE::synapse0x130183c0() { + return (neuron0x13014eb0()*1.03804); +} + +double llNNEE::synapse0x13018400() { + return (neuron0x130153f0()*-0.328661); +} + +double llNNEE::synapse0x13018440() { + return (neuron0x13015770()*1.41886); +} + +double llNNEE::synapse0x13018480() { + return (neuron0x13015cb0()*-0.705526); +} + +double llNNEE::synapse0x130184c0() { + return (neuron0x130161f0()*-0.536636); +} + +double llNNEE::synapse0x13018500() { + return (neuron0x13016730()*0.702937); +} + +double llNNEE::synapse0x13018540() { + return (neuron0x13016f90()*-1.11388); +} + +double llNNEE::synapse0x130188c0() { + return (neuron0x13013f70()*0.970495); +} + +double llNNEE::synapse0x13018900() { + return (neuron0x130143a0()*-1.02329); +} + +double llNNEE::synapse0x13018940() { + return (neuron0x130148e0()*-0.535743); +} + +double llNNEE::synapse0x13018980() { + return (neuron0x13014eb0()*0.184999); +} + +double llNNEE::synapse0x130189c0() { + return (neuron0x130153f0()*-0.0849754); +} + +double llNNEE::synapse0x13018a00() { + return (neuron0x13015770()*1.382); +} + +double llNNEE::synapse0x13018a40() { + return (neuron0x13015cb0()*-0.210058); +} + +double llNNEE::synapse0x13018a80() { + return (neuron0x130161f0()*-0.341471); +} + +double llNNEE::synapse0x13018ac0() { + return (neuron0x13016730()*-0.142899); +} + +double llNNEE::synapse0x13018b00() { + return (neuron0x13016f90()*-1.38485); +} + +double llNNEE::synapse0x13018e80() { + return (neuron0x13013f70()*0.831022); +} + +double llNNEE::synapse0x13018ec0() { + return (neuron0x130143a0()*0.340431); +} + +double llNNEE::synapse0x13018f00() { + return (neuron0x130148e0()*0.894314); +} + +double llNNEE::synapse0x13018f40() { + return (neuron0x13014eb0()*0.644547); +} + +double llNNEE::synapse0x13018f80() { + return (neuron0x130153f0()*1.17724); +} + +double llNNEE::synapse0x13018fc0() { + return (neuron0x13015770()*-0.0303256); +} + +double llNNEE::synapse0x13019000() { + return (neuron0x13015cb0()*-1.17792); +} + +double llNNEE::synapse0x13019040() { + return (neuron0x130161f0()*-0.662309); +} + +double llNNEE::synapse0x13019080() { + return (neuron0x13016730()*-0.295636); +} + +double llNNEE::synapse0x13016b80() { + return (neuron0x13016f90()*-2.16503); +} + +double llNNEE::synapse0x13016f00() { + return (neuron0x13017440()*3.71847); +} + +double llNNEE::synapse0x13016f40() { + return (neuron0x13017a00()*-2.82565); +} + +double llNNEE::synapse0x13013e40() { + return (neuron0x13017fc0()*3.13229); +} + +double llNNEE::synapse0x13013e80() { + return (neuron0x13018580()*2.1016); +} + +double llNNEE::synapse0x13013ec0() { + return (neuron0x13018b40()*4.08793); +} + +double luNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.99102)/1.1492; + input1 = (in1 - 2.40353)/1.40003; + input2 = (in2 - 2.41121)/1.41004; + input3 = (in3 - 2.42657)/1.40629; + input4 = (in4 - 2.42619)/1.40466; + input5 = (in5 - 1.33856)/1.28698; + input6 = (in6 - 1.33177)/1.28879; + input7 = (in7 - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x1d243c80(); + default: + return 0.; + } +} + +double luNNEE::Value(int index, double* input) { + input0 = (input[0] - 4.99102)/1.1492; + input1 = (input[1] - 2.40353)/1.40003; + input2 = (input[2] - 2.41121)/1.41004; + input3 = (input[3] - 2.42657)/1.40629; + input4 = (input[4] - 2.42619)/1.40466; + input5 = (input[5] - 1.33856)/1.28698; + input6 = (input[6] - 1.33177)/1.28879; + input7 = (input[7] - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x1d243c80(); + default: + return 0.; + } +} + +double luNNEE::neuron0x1d23f500() { + return input0; +} + +double luNNEE::neuron0x1d23f840() { + return input1; +} + +double luNNEE::neuron0x1d23fb80() { + return input2; +} + +double luNNEE::neuron0x1d23fec0() { + return input3; +} + +double luNNEE::neuron0x1d240200() { + return input4; +} + +double luNNEE::neuron0x1d240540() { + return input5; +} + +double luNNEE::neuron0x1d240880() { + return input6; +} + +double luNNEE::neuron0x1d240bc0() { + return input7; +} + +double luNNEE::input0x1d241030() { + double input = 1.882; + input += synapse0x1d19f840(); + input += synapse0x1d248100(); + input += synapse0x1d2412e0(); + input += synapse0x1d241320(); + input += synapse0x1d241360(); + input += synapse0x1d2413a0(); + input += synapse0x1d2413e0(); + input += synapse0x1d241420(); + return input; +} + +double luNNEE::neuron0x1d241030() { + double input = input0x1d241030(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d241460() { + double input = 1.23049; + input += synapse0x1d2417a0(); + input += synapse0x1d2417e0(); + input += synapse0x1d241820(); + input += synapse0x1d241860(); + input += synapse0x1d2418a0(); + input += synapse0x1d2418e0(); + input += synapse0x1d241920(); + input += synapse0x1d241960(); + return input; +} + +double luNNEE::neuron0x1d241460() { + double input = input0x1d241460(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d2419a0() { + double input = 0.649317; + input += synapse0x1d241ce0(); + input += synapse0x1d16dde0(); + input += synapse0x1d16de20(); + input += synapse0x1d241e30(); + input += synapse0x1d241e70(); + input += synapse0x1d241eb0(); + input += synapse0x1d241ef0(); + input += synapse0x1d241f30(); + return input; +} + +double luNNEE::neuron0x1d2419a0() { + double input = input0x1d2419a0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d241f70() { + double input = -0.288646; + input += synapse0x1d2422b0(); + input += synapse0x1d2422f0(); + input += synapse0x1d242330(); + input += synapse0x1d242370(); + input += synapse0x1d2423b0(); + input += synapse0x1d2423f0(); + input += synapse0x1d242430(); + input += synapse0x1d242470(); + return input; +} + +double luNNEE::neuron0x1d241f70() { + double input = input0x1d241f70(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d2424b0() { + double input = 1.72265; + input += synapse0x1d2427f0(); + input += synapse0x1d23f430(); + input += synapse0x1d248140(); + input += synapse0x1d18a150(); + input += synapse0x1d241d20(); + input += synapse0x1d241d60(); + input += synapse0x1d241da0(); + input += synapse0x1d241de0(); + return input; +} + +double luNNEE::neuron0x1d2424b0() { + double input = input0x1d2424b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d242830() { + double input = 0.45399; + input += synapse0x1d242b70(); + input += synapse0x1d242bb0(); + input += synapse0x1d242bf0(); + input += synapse0x1d242c30(); + input += synapse0x1d242c70(); + input += synapse0x1d242cb0(); + input += synapse0x1d242cf0(); + input += synapse0x1d242d30(); + return input; +} + +double luNNEE::neuron0x1d242830() { + double input = input0x1d242830(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d242d70() { + double input = 1.79327; + input += synapse0x1d2430b0(); + input += synapse0x1d2430f0(); + input += synapse0x1d243130(); + input += synapse0x1d243170(); + input += synapse0x1d2431b0(); + input += synapse0x1d2431f0(); + input += synapse0x1d243230(); + input += synapse0x1d243270(); + return input; +} + +double luNNEE::neuron0x1d242d70() { + double input = input0x1d242d70(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d2432b0() { + double input = -1.3481; + input += synapse0x1d2435f0(); + input += synapse0x1d243630(); + input += synapse0x1d243670(); + input += synapse0x1d2436b0(); + input += synapse0x1d2436f0(); + input += synapse0x1d243730(); + input += synapse0x1d243770(); + input += synapse0x1d2437b0(); + return input; +} + +double luNNEE::neuron0x1d2432b0() { + double input = input0x1d2432b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d2437f0() { + double input = 2.24534; + input += synapse0x1d16ba40(); + input += synapse0x1d16ba80(); + input += synapse0x1d186940(); + input += synapse0x1d186980(); + input += synapse0x1d1869c0(); + input += synapse0x1d186a00(); + input += synapse0x1d186a40(); + input += synapse0x1d186a80(); + return input; +} + +double luNNEE::neuron0x1d2437f0() { + double input = input0x1d2437f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d244050() { + double input = -1.10491; + input += synapse0x1d244300(); + input += synapse0x1d244340(); + input += synapse0x1d244380(); + input += synapse0x1d2443c0(); + input += synapse0x1d244400(); + input += synapse0x1d244440(); + input += synapse0x1d244480(); + input += synapse0x1d2444c0(); + return input; +} + +double luNNEE::neuron0x1d244050() { + double input = input0x1d244050(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d244500() { + double input = 0.086249; + input += synapse0x1d244840(); + input += synapse0x1d244880(); + input += synapse0x1d2448c0(); + input += synapse0x1d244900(); + input += synapse0x1d244940(); + input += synapse0x1d244980(); + input += synapse0x1d2449c0(); + input += synapse0x1d244a00(); + input += synapse0x1d244a40(); + input += synapse0x1d244a80(); + return input; +} + +double luNNEE::neuron0x1d244500() { + double input = input0x1d244500(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d244ac0() { + double input = 0.536111; + input += synapse0x1d244e00(); + input += synapse0x1d244e40(); + input += synapse0x1d244e80(); + input += synapse0x1d244ec0(); + input += synapse0x1d244f00(); + input += synapse0x1d244f40(); + input += synapse0x1d244f80(); + input += synapse0x1d244fc0(); + input += synapse0x1d245000(); + input += synapse0x1d245040(); + return input; +} + +double luNNEE::neuron0x1d244ac0() { + double input = input0x1d244ac0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d245080() { + double input = 1.05668; + input += synapse0x1d2453c0(); + input += synapse0x1d245400(); + input += synapse0x1d245440(); + input += synapse0x1d245480(); + input += synapse0x1d2454c0(); + input += synapse0x1d245500(); + input += synapse0x1d245540(); + input += synapse0x1d245580(); + input += synapse0x1d2455c0(); + input += synapse0x1d245600(); + return input; +} + +double luNNEE::neuron0x1d245080() { + double input = input0x1d245080(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d245640() { + double input = 0.63205; + input += synapse0x1d245980(); + input += synapse0x1d2459c0(); + input += synapse0x1d245a00(); + input += synapse0x1d245a40(); + input += synapse0x1d245a80(); + input += synapse0x1d245ac0(); + input += synapse0x1d245b00(); + input += synapse0x1d245b40(); + input += synapse0x1d245b80(); + input += synapse0x1d245bc0(); + return input; +} + +double luNNEE::neuron0x1d245640() { + double input = input0x1d245640(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d245c00() { + double input = 0.23401; + input += synapse0x1d245f40(); + input += synapse0x1d245f80(); + input += synapse0x1d245fc0(); + input += synapse0x1d246000(); + input += synapse0x1d246040(); + input += synapse0x1d246080(); + input += synapse0x1d2460c0(); + input += synapse0x1d246100(); + input += synapse0x1d246140(); + input += synapse0x1d243c40(); + return input; +} + +double luNNEE::neuron0x1d245c00() { + double input = input0x1d245c00(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double luNNEE::input0x1d243c80() { + double input = -1.22764; + input += synapse0x1d243fc0(); + input += synapse0x1d244000(); + input += synapse0x1d240f00(); + input += synapse0x1d240f40(); + input += synapse0x1d240f80(); + return input; +} + +double luNNEE::neuron0x1d243c80() { + double input = input0x1d243c80(); + return (input * 1)+0; +} + +double luNNEE::synapse0x1d19f840() { + return (neuron0x1d23f500()*-0.92939); +} + +double luNNEE::synapse0x1d248100() { + return (neuron0x1d23f840()*0.320184); +} + +double luNNEE::synapse0x1d2412e0() { + return (neuron0x1d23fb80()*0.932357); +} + +double luNNEE::synapse0x1d241320() { + return (neuron0x1d23fec0()*-0.374119); +} + +double luNNEE::synapse0x1d241360() { + return (neuron0x1d240200()*-0.384557); +} + +double luNNEE::synapse0x1d2413a0() { + return (neuron0x1d240540()*0.753054); +} + +double luNNEE::synapse0x1d2413e0() { + return (neuron0x1d240880()*-0.36931); +} + +double luNNEE::synapse0x1d241420() { + return (neuron0x1d240bc0()*0.984306); +} + +double luNNEE::synapse0x1d2417a0() { + return (neuron0x1d23f500()*0.990952); +} + +double luNNEE::synapse0x1d2417e0() { + return (neuron0x1d23f840()*0.323254); +} + +double luNNEE::synapse0x1d241820() { + return (neuron0x1d23fb80()*0.242277); +} + +double luNNEE::synapse0x1d241860() { + return (neuron0x1d23fec0()*0.1361); +} + +double luNNEE::synapse0x1d2418a0() { + return (neuron0x1d240200()*0.19794); +} + +double luNNEE::synapse0x1d2418e0() { + return (neuron0x1d240540()*0.200274); +} + +double luNNEE::synapse0x1d241920() { + return (neuron0x1d240880()*-0.177756); +} + +double luNNEE::synapse0x1d241960() { + return (neuron0x1d240bc0()*0.210928); +} + +double luNNEE::synapse0x1d241ce0() { + return (neuron0x1d23f500()*0.663276); +} + +double luNNEE::synapse0x1d16dde0() { + return (neuron0x1d23f840()*0.198227); +} + +double luNNEE::synapse0x1d16de20() { + return (neuron0x1d23fb80()*-0.526768); +} + +double luNNEE::synapse0x1d241e30() { + return (neuron0x1d23fec0()*-0.59923); +} + +double luNNEE::synapse0x1d241e70() { + return (neuron0x1d240200()*0.152005); +} + +double luNNEE::synapse0x1d241eb0() { + return (neuron0x1d240540()*0.419226); +} + +double luNNEE::synapse0x1d241ef0() { + return (neuron0x1d240880()*-0.106808); +} + +double luNNEE::synapse0x1d241f30() { + return (neuron0x1d240bc0()*0.340483); +} + +double luNNEE::synapse0x1d2422b0() { + return (neuron0x1d23f500()*-1.26401); +} + +double luNNEE::synapse0x1d2422f0() { + return (neuron0x1d23f840()*-0.435347); +} + +double luNNEE::synapse0x1d242330() { + return (neuron0x1d23fb80()*-0.0244965); +} + +double luNNEE::synapse0x1d242370() { + return (neuron0x1d23fec0()*-0.726778); +} + +double luNNEE::synapse0x1d2423b0() { + return (neuron0x1d240200()*-0.0550666); +} + +double luNNEE::synapse0x1d2423f0() { + return (neuron0x1d240540()*-0.274861); +} + +double luNNEE::synapse0x1d242430() { + return (neuron0x1d240880()*-0.723293); +} + +double luNNEE::synapse0x1d242470() { + return (neuron0x1d240bc0()*-1.18553); +} + +double luNNEE::synapse0x1d2427f0() { + return (neuron0x1d23f500()*-1.09586); +} + +double luNNEE::synapse0x1d23f430() { + return (neuron0x1d23f840()*0.60971); +} + +double luNNEE::synapse0x1d248140() { + return (neuron0x1d23fb80()*-0.31137); +} + +double luNNEE::synapse0x1d18a150() { + return (neuron0x1d23fec0()*-0.711958); +} + +double luNNEE::synapse0x1d241d20() { + return (neuron0x1d240200()*0.487486); +} + +double luNNEE::synapse0x1d241d60() { + return (neuron0x1d240540()*0.0659214); +} + +double luNNEE::synapse0x1d241da0() { + return (neuron0x1d240880()*0.157566); +} + +double luNNEE::synapse0x1d241de0() { + return (neuron0x1d240bc0()*0.172181); +} + +double luNNEE::synapse0x1d242b70() { + return (neuron0x1d23f500()*0.535937); +} + +double luNNEE::synapse0x1d242bb0() { + return (neuron0x1d23f840()*-0.0465596); +} + +double luNNEE::synapse0x1d242bf0() { + return (neuron0x1d23fb80()*0.643086); +} + +double luNNEE::synapse0x1d242c30() { + return (neuron0x1d23fec0()*1.17476); +} + +double luNNEE::synapse0x1d242c70() { + return (neuron0x1d240200()*0.288662); +} + +double luNNEE::synapse0x1d242cb0() { + return (neuron0x1d240540()*-0.641959); +} + +double luNNEE::synapse0x1d242cf0() { + return (neuron0x1d240880()*0.537438); +} + +double luNNEE::synapse0x1d242d30() { + return (neuron0x1d240bc0()*-2.73611); +} + +double luNNEE::synapse0x1d2430b0() { + return (neuron0x1d23f500()*-0.366689); +} + +double luNNEE::synapse0x1d2430f0() { + return (neuron0x1d23f840()*-0.183007); +} + +double luNNEE::synapse0x1d243130() { + return (neuron0x1d23fb80()*-0.380738); +} + +double luNNEE::synapse0x1d243170() { + return (neuron0x1d23fec0()*-0.00161081); +} + +double luNNEE::synapse0x1d2431b0() { + return (neuron0x1d240200()*-0.18148); +} + +double luNNEE::synapse0x1d2431f0() { + return (neuron0x1d240540()*-0.557646); +} + +double luNNEE::synapse0x1d243230() { + return (neuron0x1d240880()*0.042859); +} + +double luNNEE::synapse0x1d243270() { + return (neuron0x1d240bc0()*-0.349465); +} + +double luNNEE::synapse0x1d2435f0() { + return (neuron0x1d23f500()*1.49823); +} + +double luNNEE::synapse0x1d243630() { + return (neuron0x1d23f840()*-1.15228); +} + +double luNNEE::synapse0x1d243670() { + return (neuron0x1d23fb80()*0.381668); +} + +double luNNEE::synapse0x1d2436b0() { + return (neuron0x1d23fec0()*0.363835); +} + +double luNNEE::synapse0x1d2436f0() { + return (neuron0x1d240200()*-1.34539); +} + +double luNNEE::synapse0x1d243730() { + return (neuron0x1d240540()*0.563932); +} + +double luNNEE::synapse0x1d243770() { + return (neuron0x1d240880()*-0.418145); +} + +double luNNEE::synapse0x1d2437b0() { + return (neuron0x1d240bc0()*0.480876); +} + +double luNNEE::synapse0x1d16ba40() { + return (neuron0x1d23f500()*-0.606071); +} + +double luNNEE::synapse0x1d16ba80() { + return (neuron0x1d23f840()*-1.29562); +} + +double luNNEE::synapse0x1d186940() { + return (neuron0x1d23fb80()*-1.32919); +} + +double luNNEE::synapse0x1d186980() { + return (neuron0x1d23fec0()*2.38038); +} + +double luNNEE::synapse0x1d1869c0() { + return (neuron0x1d240200()*1.1447); +} + +double luNNEE::synapse0x1d186a00() { + return (neuron0x1d240540()*0.428176); +} + +double luNNEE::synapse0x1d186a40() { + return (neuron0x1d240880()*-0.0504862); +} + +double luNNEE::synapse0x1d186a80() { + return (neuron0x1d240bc0()*-0.429001); +} + +double luNNEE::synapse0x1d244300() { + return (neuron0x1d23f500()*-0.516443); +} + +double luNNEE::synapse0x1d244340() { + return (neuron0x1d23f840()*-0.156578); +} + +double luNNEE::synapse0x1d244380() { + return (neuron0x1d23fb80()*-1.24439); +} + +double luNNEE::synapse0x1d2443c0() { + return (neuron0x1d23fec0()*-0.0514229); +} + +double luNNEE::synapse0x1d244400() { + return (neuron0x1d240200()*0.443304); +} + +double luNNEE::synapse0x1d244440() { + return (neuron0x1d240540()*1.62769); +} + +double luNNEE::synapse0x1d244480() { + return (neuron0x1d240880()*-0.374873); +} + +double luNNEE::synapse0x1d2444c0() { + return (neuron0x1d240bc0()*0.560535); +} + +double luNNEE::synapse0x1d244840() { + return (neuron0x1d241030()*0.767992); +} + +double luNNEE::synapse0x1d244880() { + return (neuron0x1d241460()*0.50302); +} + +double luNNEE::synapse0x1d2448c0() { + return (neuron0x1d2419a0()*-0.472644); +} + +double luNNEE::synapse0x1d244900() { + return (neuron0x1d241f70()*0.806902); +} + +double luNNEE::synapse0x1d244940() { + return (neuron0x1d2424b0()*-1.81099); +} + +double luNNEE::synapse0x1d244980() { + return (neuron0x1d242830()*-0.458441); +} + +double luNNEE::synapse0x1d2449c0() { + return (neuron0x1d242d70()*-1.38208); +} + +double luNNEE::synapse0x1d244a00() { + return (neuron0x1d2432b0()*-0.310336); +} + +double luNNEE::synapse0x1d244a40() { + return (neuron0x1d2437f0()*-0.324322); +} + +double luNNEE::synapse0x1d244a80() { + return (neuron0x1d244050()*0.0540683); +} + +double luNNEE::synapse0x1d244e00() { + return (neuron0x1d241030()*0.786979); +} + +double luNNEE::synapse0x1d244e40() { + return (neuron0x1d241460()*1.0236); +} + +double luNNEE::synapse0x1d244e80() { + return (neuron0x1d2419a0()*-0.8535); +} + +double luNNEE::synapse0x1d244ec0() { + return (neuron0x1d241f70()*-0.215959); +} + +double luNNEE::synapse0x1d244f00() { + return (neuron0x1d2424b0()*-0.854814); +} + +double luNNEE::synapse0x1d244f40() { + return (neuron0x1d242830()*-0.108652); +} + +double luNNEE::synapse0x1d244f80() { + return (neuron0x1d242d70()*-0.943531); +} + +double luNNEE::synapse0x1d244fc0() { + return (neuron0x1d2432b0()*0.509758); +} + +double luNNEE::synapse0x1d245000() { + return (neuron0x1d2437f0()*0.0385086); +} + +double luNNEE::synapse0x1d245040() { + return (neuron0x1d244050()*0.296752); +} + +double luNNEE::synapse0x1d2453c0() { + return (neuron0x1d241030()*0.600361); +} + +double luNNEE::synapse0x1d245400() { + return (neuron0x1d241460()*2.23698); +} + +double luNNEE::synapse0x1d245440() { + return (neuron0x1d2419a0()*-1.06472); +} + +double luNNEE::synapse0x1d245480() { + return (neuron0x1d241f70()*0.0920412); +} + +double luNNEE::synapse0x1d2454c0() { + return (neuron0x1d2424b0()*-0.834027); +} + +double luNNEE::synapse0x1d245500() { + return (neuron0x1d242830()*0.75298); +} + +double luNNEE::synapse0x1d245540() { + return (neuron0x1d242d70()*-0.396142); +} + +double luNNEE::synapse0x1d245580() { + return (neuron0x1d2432b0()*0.892455); +} + +double luNNEE::synapse0x1d2455c0() { + return (neuron0x1d2437f0()*0.968262); +} + +double luNNEE::synapse0x1d245600() { + return (neuron0x1d244050()*-0.709875); +} + +double luNNEE::synapse0x1d245980() { + return (neuron0x1d241030()*-2.51911); +} + +double luNNEE::synapse0x1d2459c0() { + return (neuron0x1d241460()*1.31583); +} + +double luNNEE::synapse0x1d245a00() { + return (neuron0x1d2419a0()*2.66054); +} + +double luNNEE::synapse0x1d245a40() { + return (neuron0x1d241f70()*1.22613); +} + +double luNNEE::synapse0x1d245a80() { + return (neuron0x1d2424b0()*-0.0846529); +} + +double luNNEE::synapse0x1d245ac0() { + return (neuron0x1d242830()*-1.80604); +} + +double luNNEE::synapse0x1d245b00() { + return (neuron0x1d242d70()*1.2746); +} + +double luNNEE::synapse0x1d245b40() { + return (neuron0x1d2432b0()*3.04159); +} + +double luNNEE::synapse0x1d245b80() { + return (neuron0x1d2437f0()*-2.38866); +} + +double luNNEE::synapse0x1d245bc0() { + return (neuron0x1d244050()*2.92037); +} + +double luNNEE::synapse0x1d245f40() { + return (neuron0x1d241030()*0.467129); +} + +double luNNEE::synapse0x1d245f80() { + return (neuron0x1d241460()*0.933566); +} + +double luNNEE::synapse0x1d245fc0() { + return (neuron0x1d2419a0()*-0.411388); +} + +double luNNEE::synapse0x1d246000() { + return (neuron0x1d241f70()*-0.254523); +} + +double luNNEE::synapse0x1d246040() { + return (neuron0x1d2424b0()*-1.34352); +} + +double luNNEE::synapse0x1d246080() { + return (neuron0x1d242830()*0.155716); +} + +double luNNEE::synapse0x1d2460c0() { + return (neuron0x1d242d70()*-0.833839); +} + +double luNNEE::synapse0x1d246100() { + return (neuron0x1d2432b0()*0.113311); +} + +double luNNEE::synapse0x1d246140() { + return (neuron0x1d2437f0()*-0.465655); +} + +double luNNEE::synapse0x1d243c40() { + return (neuron0x1d244050()*0.0637556); +} + +double luNNEE::synapse0x1d243fc0() { + return (neuron0x1d244500()*3.50251); +} + +double luNNEE::synapse0x1d244000() { + return (neuron0x1d244ac0()*2.51474); +} + +double luNNEE::synapse0x1d240f00() { + return (neuron0x1d245080()*2.96117); +} + +double luNNEE::synapse0x1d240f40() { + return (neuron0x1d245640()*-3.30225); +} + +double luNNEE::synapse0x1d240f80() { + return (neuron0x1d245c00()*2.72949); +} + +double rdNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.99102)/1.1492; + input1 = (in1 - 2.40353)/1.40003; + input2 = (in2 - 2.41121)/1.41004; + input3 = (in3 - 2.42657)/1.40629; + input4 = (in4 - 2.42619)/1.40466; + input5 = (in5 - 1.33856)/1.28698; + input6 = (in6 - 1.33367)/1.29347; + input7 = (in7 - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x1ff97d40(); + default: + return 0.; + } +} + +double rdNNEE::Value(int index, double* input) { + input0 = (input[0] - 4.99102)/1.1492; + input1 = (input[1] - 2.40353)/1.40003; + input2 = (input[2] - 2.41121)/1.41004; + input3 = (input[3] - 2.42657)/1.40629; + input4 = (input[4] - 2.42619)/1.40466; + input5 = (input[5] - 1.33856)/1.28698; + input6 = (input[6] - 1.33367)/1.29347; + input7 = (input[7] - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x1ff97d40(); + default: + return 0.; + } +} + +double rdNNEE::neuron0x1ff935c0() { + return input0; +} + +double rdNNEE::neuron0x1ff93900() { + return input1; +} + +double rdNNEE::neuron0x1ff93c40() { + return input2; +} + +double rdNNEE::neuron0x1ff93f80() { + return input3; +} + +double rdNNEE::neuron0x1ff942c0() { + return input4; +} + +double rdNNEE::neuron0x1ff94600() { + return input5; +} + +double rdNNEE::neuron0x1ff94940() { + return input6; +} + +double rdNNEE::neuron0x1ff94c80() { + return input7; +} + +double rdNNEE::input0x1ff950f0() { + double input = 0.825175; + input += synapse0x1fef3900(); + input += synapse0x1ff9c1c0(); + input += synapse0x1ff953a0(); + input += synapse0x1ff953e0(); + input += synapse0x1ff95420(); + input += synapse0x1ff95460(); + input += synapse0x1ff954a0(); + input += synapse0x1ff954e0(); + return input; +} + +double rdNNEE::neuron0x1ff950f0() { + double input = input0x1ff950f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff95520() { + double input = 2.54534; + input += synapse0x1ff95860(); + input += synapse0x1ff958a0(); + input += synapse0x1ff958e0(); + input += synapse0x1ff95920(); + input += synapse0x1ff95960(); + input += synapse0x1ff959a0(); + input += synapse0x1ff959e0(); + input += synapse0x1ff95a20(); + return input; +} + +double rdNNEE::neuron0x1ff95520() { + double input = input0x1ff95520(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff95a60() { + double input = 2.28817; + input += synapse0x1ff95da0(); + input += synapse0x1fec1ea0(); + input += synapse0x1fec1ee0(); + input += synapse0x1ff95ef0(); + input += synapse0x1ff95f30(); + input += synapse0x1ff95f70(); + input += synapse0x1ff95fb0(); + input += synapse0x1ff95ff0(); + return input; +} + +double rdNNEE::neuron0x1ff95a60() { + double input = input0x1ff95a60(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff96030() { + double input = -0.815879; + input += synapse0x1ff96370(); + input += synapse0x1ff963b0(); + input += synapse0x1ff963f0(); + input += synapse0x1ff96430(); + input += synapse0x1ff96470(); + input += synapse0x1ff964b0(); + input += synapse0x1ff964f0(); + input += synapse0x1ff96530(); + return input; +} + +double rdNNEE::neuron0x1ff96030() { + double input = input0x1ff96030(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff96570() { + double input = -1.58742; + input += synapse0x1ff968b0(); + input += synapse0x1ff934f0(); + input += synapse0x1ff9c200(); + input += synapse0x1fede210(); + input += synapse0x1ff95de0(); + input += synapse0x1ff95e20(); + input += synapse0x1ff95e60(); + input += synapse0x1ff95ea0(); + return input; +} + +double rdNNEE::neuron0x1ff96570() { + double input = input0x1ff96570(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff968f0() { + double input = 1.38619; + input += synapse0x1ff96c30(); + input += synapse0x1ff96c70(); + input += synapse0x1ff96cb0(); + input += synapse0x1ff96cf0(); + input += synapse0x1ff96d30(); + input += synapse0x1ff96d70(); + input += synapse0x1ff96db0(); + input += synapse0x1ff96df0(); + return input; +} + +double rdNNEE::neuron0x1ff968f0() { + double input = input0x1ff968f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff96e30() { + double input = 0.892159; + input += synapse0x1ff97170(); + input += synapse0x1ff971b0(); + input += synapse0x1ff971f0(); + input += synapse0x1ff97230(); + input += synapse0x1ff97270(); + input += synapse0x1ff972b0(); + input += synapse0x1ff972f0(); + input += synapse0x1ff97330(); + return input; +} + +double rdNNEE::neuron0x1ff96e30() { + double input = input0x1ff96e30(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff97370() { + double input = 0.996943; + input += synapse0x1ff976b0(); + input += synapse0x1ff976f0(); + input += synapse0x1ff97730(); + input += synapse0x1ff97770(); + input += synapse0x1ff977b0(); + input += synapse0x1ff977f0(); + input += synapse0x1ff97830(); + input += synapse0x1ff97870(); + return input; +} + +double rdNNEE::neuron0x1ff97370() { + double input = input0x1ff97370(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff978b0() { + double input = -0.282028; + input += synapse0x1febfb00(); + input += synapse0x1febfb40(); + input += synapse0x1fedaa00(); + input += synapse0x1fedaa40(); + input += synapse0x1fedaa80(); + input += synapse0x1fedaac0(); + input += synapse0x1fedab00(); + input += synapse0x1fedab40(); + return input; +} + +double rdNNEE::neuron0x1ff978b0() { + double input = input0x1ff978b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff98110() { + double input = 1.65324; + input += synapse0x1ff983c0(); + input += synapse0x1ff98400(); + input += synapse0x1ff98440(); + input += synapse0x1ff98480(); + input += synapse0x1ff984c0(); + input += synapse0x1ff98500(); + input += synapse0x1ff98540(); + input += synapse0x1ff98580(); + return input; +} + +double rdNNEE::neuron0x1ff98110() { + double input = input0x1ff98110(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff985c0() { + double input = 0.239174; + input += synapse0x1ff98900(); + input += synapse0x1ff98940(); + input += synapse0x1ff98980(); + input += synapse0x1ff989c0(); + input += synapse0x1ff98a00(); + input += synapse0x1ff98a40(); + input += synapse0x1ff98a80(); + input += synapse0x1ff98ac0(); + input += synapse0x1ff98b00(); + input += synapse0x1ff98b40(); + return input; +} + +double rdNNEE::neuron0x1ff985c0() { + double input = input0x1ff985c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff98b80() { + double input = 0.843606; + input += synapse0x1ff98ec0(); + input += synapse0x1ff98f00(); + input += synapse0x1ff98f40(); + input += synapse0x1ff98f80(); + input += synapse0x1ff98fc0(); + input += synapse0x1ff99000(); + input += synapse0x1ff99040(); + input += synapse0x1ff99080(); + input += synapse0x1ff990c0(); + input += synapse0x1ff99100(); + return input; +} + +double rdNNEE::neuron0x1ff98b80() { + double input = input0x1ff98b80(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff99140() { + double input = -0.0990648; + input += synapse0x1ff99480(); + input += synapse0x1ff994c0(); + input += synapse0x1ff99500(); + input += synapse0x1ff99540(); + input += synapse0x1ff99580(); + input += synapse0x1ff995c0(); + input += synapse0x1ff99600(); + input += synapse0x1ff99640(); + input += synapse0x1ff99680(); + input += synapse0x1ff996c0(); + return input; +} + +double rdNNEE::neuron0x1ff99140() { + double input = input0x1ff99140(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff99700() { + double input = -0.896219; + input += synapse0x1ff99a40(); + input += synapse0x1ff99a80(); + input += synapse0x1ff99ac0(); + input += synapse0x1ff99b00(); + input += synapse0x1ff99b40(); + input += synapse0x1ff99b80(); + input += synapse0x1ff99bc0(); + input += synapse0x1ff99c00(); + input += synapse0x1ff99c40(); + input += synapse0x1ff99c80(); + return input; +} + +double rdNNEE::neuron0x1ff99700() { + double input = input0x1ff99700(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff99cc0() { + double input = -0.436962; + input += synapse0x1ff9a000(); + input += synapse0x1ff9a040(); + input += synapse0x1ff9a080(); + input += synapse0x1ff9a0c0(); + input += synapse0x1ff9a100(); + input += synapse0x1ff9a140(); + input += synapse0x1ff9a180(); + input += synapse0x1ff9a1c0(); + input += synapse0x1ff9a200(); + input += synapse0x1ff97d00(); + return input; +} + +double rdNNEE::neuron0x1ff99cc0() { + double input = input0x1ff99cc0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rdNNEE::input0x1ff97d40() { + double input = -1.43615; + input += synapse0x1ff98080(); + input += synapse0x1ff980c0(); + input += synapse0x1ff94fc0(); + input += synapse0x1ff95000(); + input += synapse0x1ff95040(); + return input; +} + +double rdNNEE::neuron0x1ff97d40() { + double input = input0x1ff97d40(); + return (input * 1)+0; +} + +double rdNNEE::synapse0x1fef3900() { + return (neuron0x1ff935c0()*1.00654); +} + +double rdNNEE::synapse0x1ff9c1c0() { + return (neuron0x1ff93900()*-0.782609); +} + +double rdNNEE::synapse0x1ff953a0() { + return (neuron0x1ff93c40()*0.0940371); +} + +double rdNNEE::synapse0x1ff953e0() { + return (neuron0x1ff93f80()*0.262207); +} + +double rdNNEE::synapse0x1ff95420() { + return (neuron0x1ff942c0()*-0.589799); +} + +double rdNNEE::synapse0x1ff95460() { + return (neuron0x1ff94600()*0.336342); +} + +double rdNNEE::synapse0x1ff954a0() { + return (neuron0x1ff94940()*-0.00159879); +} + +double rdNNEE::synapse0x1ff954e0() { + return (neuron0x1ff94c80()*0.510516); +} + +double rdNNEE::synapse0x1ff95860() { + return (neuron0x1ff935c0()*-0.839079); +} + +double rdNNEE::synapse0x1ff958a0() { + return (neuron0x1ff93900()*0.113118); +} + +double rdNNEE::synapse0x1ff958e0() { + return (neuron0x1ff93c40()*0.283235); +} + +double rdNNEE::synapse0x1ff95920() { + return (neuron0x1ff93f80()*-0.0827286); +} + +double rdNNEE::synapse0x1ff95960() { + return (neuron0x1ff942c0()*-0.673746); +} + +double rdNNEE::synapse0x1ff959a0() { + return (neuron0x1ff94600()*-0.160767); +} + +double rdNNEE::synapse0x1ff959e0() { + return (neuron0x1ff94940()*1.17374); +} + +double rdNNEE::synapse0x1ff95a20() { + return (neuron0x1ff94c80()*-0.451086); +} + +double rdNNEE::synapse0x1ff95da0() { + return (neuron0x1ff935c0()*-1.78628); +} + +double rdNNEE::synapse0x1fec1ea0() { + return (neuron0x1ff93900()*3.14715); +} + +double rdNNEE::synapse0x1fec1ee0() { + return (neuron0x1ff93c40()*1.2482); +} + +double rdNNEE::synapse0x1ff95ef0() { + return (neuron0x1ff93f80()*-1.06716); +} + +double rdNNEE::synapse0x1ff95f30() { + return (neuron0x1ff942c0()*-0.920541); +} + +double rdNNEE::synapse0x1ff95f70() { + return (neuron0x1ff94600()*0.611627); +} + +double rdNNEE::synapse0x1ff95fb0() { + return (neuron0x1ff94940()*0.0321043); +} + +double rdNNEE::synapse0x1ff95ff0() { + return (neuron0x1ff94c80()*-0.424328); +} + +double rdNNEE::synapse0x1ff96370() { + return (neuron0x1ff935c0()*-0.934525); +} + +double rdNNEE::synapse0x1ff963b0() { + return (neuron0x1ff93900()*0.227701); +} + +double rdNNEE::synapse0x1ff963f0() { + return (neuron0x1ff93c40()*-0.145405); +} + +double rdNNEE::synapse0x1ff96430() { + return (neuron0x1ff93f80()*-0.202652); +} + +double rdNNEE::synapse0x1ff96470() { + return (neuron0x1ff942c0()*0.0565631); +} + +double rdNNEE::synapse0x1ff964b0() { + return (neuron0x1ff94600()*-0.414642); +} + +double rdNNEE::synapse0x1ff964f0() { + return (neuron0x1ff94940()*-0.018005); +} + +double rdNNEE::synapse0x1ff96530() { + return (neuron0x1ff94c80()*-0.513357); +} + +double rdNNEE::synapse0x1ff968b0() { + return (neuron0x1ff935c0()*0.336392); +} + +double rdNNEE::synapse0x1ff934f0() { + return (neuron0x1ff93900()*0.326511); +} + +double rdNNEE::synapse0x1ff9c200() { + return (neuron0x1ff93c40()*0.0746277); +} + +double rdNNEE::synapse0x1fede210() { + return (neuron0x1ff93f80()*0.0145317); +} + +double rdNNEE::synapse0x1ff95de0() { + return (neuron0x1ff942c0()*0.181203); +} + +double rdNNEE::synapse0x1ff95e20() { + return (neuron0x1ff94600()*-0.0232318); +} + +double rdNNEE::synapse0x1ff95e60() { + return (neuron0x1ff94940()*0.401596); +} + +double rdNNEE::synapse0x1ff95ea0() { + return (neuron0x1ff94c80()*0.301376); +} + +double rdNNEE::synapse0x1ff96c30() { + return (neuron0x1ff935c0()*-0.24831); +} + +double rdNNEE::synapse0x1ff96c70() { + return (neuron0x1ff93900()*-0.709084); +} + +double rdNNEE::synapse0x1ff96cb0() { + return (neuron0x1ff93c40()*-0.498667); +} + +double rdNNEE::synapse0x1ff96cf0() { + return (neuron0x1ff93f80()*0.417819); +} + +double rdNNEE::synapse0x1ff96d30() { + return (neuron0x1ff942c0()*0.255772); +} + +double rdNNEE::synapse0x1ff96d70() { + return (neuron0x1ff94600()*0.652771); +} + +double rdNNEE::synapse0x1ff96db0() { + return (neuron0x1ff94940()*-0.791629); +} + +double rdNNEE::synapse0x1ff96df0() { + return (neuron0x1ff94c80()*0.908048); +} + +double rdNNEE::synapse0x1ff97170() { + return (neuron0x1ff935c0()*0.924764); +} + +double rdNNEE::synapse0x1ff971b0() { + return (neuron0x1ff93900()*0.683953); +} + +double rdNNEE::synapse0x1ff971f0() { + return (neuron0x1ff93c40()*-0.0863026); +} + +double rdNNEE::synapse0x1ff97230() { + return (neuron0x1ff93f80()*-0.619365); +} + +double rdNNEE::synapse0x1ff97270() { + return (neuron0x1ff942c0()*0.15908); +} + +double rdNNEE::synapse0x1ff972b0() { + return (neuron0x1ff94600()*-0.532884); +} + +double rdNNEE::synapse0x1ff972f0() { + return (neuron0x1ff94940()*0.658398); +} + +double rdNNEE::synapse0x1ff97330() { + return (neuron0x1ff94c80()*-1.49995); +} + +double rdNNEE::synapse0x1ff976b0() { + return (neuron0x1ff935c0()*-0.174238); +} + +double rdNNEE::synapse0x1ff976f0() { + return (neuron0x1ff93900()*-0.073891); +} + +double rdNNEE::synapse0x1ff97730() { + return (neuron0x1ff93c40()*-0.455685); +} + +double rdNNEE::synapse0x1ff97770() { + return (neuron0x1ff93f80()*0.505203); +} + +double rdNNEE::synapse0x1ff977b0() { + return (neuron0x1ff942c0()*1.64713); +} + +double rdNNEE::synapse0x1ff977f0() { + return (neuron0x1ff94600()*-1.3679); +} + +double rdNNEE::synapse0x1ff97830() { + return (neuron0x1ff94940()*0.281); +} + +double rdNNEE::synapse0x1ff97870() { + return (neuron0x1ff94c80()*-0.179998); +} + +double rdNNEE::synapse0x1febfb00() { + return (neuron0x1ff935c0()*1.21172); +} + +double rdNNEE::synapse0x1febfb40() { + return (neuron0x1ff93900()*-0.153712); +} + +double rdNNEE::synapse0x1fedaa00() { + return (neuron0x1ff93c40()*-0.677341); +} + +double rdNNEE::synapse0x1fedaa40() { + return (neuron0x1ff93f80()*-0.723119); +} + +double rdNNEE::synapse0x1fedaa80() { + return (neuron0x1ff942c0()*-0.0591842); +} + +double rdNNEE::synapse0x1fedaac0() { + return (neuron0x1ff94600()*0.923111); +} + +double rdNNEE::synapse0x1fedab00() { + return (neuron0x1ff94940()*-1.03907); +} + +double rdNNEE::synapse0x1fedab40() { + return (neuron0x1ff94c80()*0.706416); +} + +double rdNNEE::synapse0x1ff983c0() { + return (neuron0x1ff935c0()*-0.228062); +} + +double rdNNEE::synapse0x1ff98400() { + return (neuron0x1ff93900()*-0.864466); +} + +double rdNNEE::synapse0x1ff98440() { + return (neuron0x1ff93c40()*0.0626024); +} + +double rdNNEE::synapse0x1ff98480() { + return (neuron0x1ff93f80()*0.287105); +} + +double rdNNEE::synapse0x1ff984c0() { + return (neuron0x1ff942c0()*0.0330635); +} + +double rdNNEE::synapse0x1ff98500() { + return (neuron0x1ff94600()*-0.305153); +} + +double rdNNEE::synapse0x1ff98540() { + return (neuron0x1ff94940()*0.21622); +} + +double rdNNEE::synapse0x1ff98580() { + return (neuron0x1ff94c80()*-0.19366); +} + +double rdNNEE::synapse0x1ff98900() { + return (neuron0x1ff950f0()*-0.127884); +} + +double rdNNEE::synapse0x1ff98940() { + return (neuron0x1ff95520()*-1.04592); +} + +double rdNNEE::synapse0x1ff98980() { + return (neuron0x1ff95a60()*-0.199728); +} + +double rdNNEE::synapse0x1ff989c0() { + return (neuron0x1ff96030()*-0.00266199); +} + +double rdNNEE::synapse0x1ff98a00() { + return (neuron0x1ff96570()*0.74619); +} + +double rdNNEE::synapse0x1ff98a40() { + return (neuron0x1ff968f0()*0.115496); +} + +double rdNNEE::synapse0x1ff98a80() { + return (neuron0x1ff96e30()*0.582991); +} + +double rdNNEE::synapse0x1ff98ac0() { + return (neuron0x1ff97370()*0.619113); +} + +double rdNNEE::synapse0x1ff98b00() { + return (neuron0x1ff978b0()*-0.627176); +} + +double rdNNEE::synapse0x1ff98b40() { + return (neuron0x1ff98110()*-0.768379); +} + +double rdNNEE::synapse0x1ff98ec0() { + return (neuron0x1ff950f0()*0.266785); +} + +double rdNNEE::synapse0x1ff98f00() { + return (neuron0x1ff95520()*-1.03515); +} + +double rdNNEE::synapse0x1ff98f40() { + return (neuron0x1ff95a60()*-0.364548); +} + +double rdNNEE::synapse0x1ff98f80() { + return (neuron0x1ff96030()*-1.10946); +} + +double rdNNEE::synapse0x1ff98fc0() { + return (neuron0x1ff96570()*0.631055); +} + +double rdNNEE::synapse0x1ff99000() { + return (neuron0x1ff968f0()*0.719271); +} + +double rdNNEE::synapse0x1ff99040() { + return (neuron0x1ff96e30()*1.00781); +} + +double rdNNEE::synapse0x1ff99080() { + return (neuron0x1ff97370()*-0.160315); +} + +double rdNNEE::synapse0x1ff990c0() { + return (neuron0x1ff978b0()*-0.25212); +} + +double rdNNEE::synapse0x1ff99100() { + return (neuron0x1ff98110()*-0.704644); +} + +double rdNNEE::synapse0x1ff99480() { + return (neuron0x1ff950f0()*-1.80907); +} + +double rdNNEE::synapse0x1ff994c0() { + return (neuron0x1ff95520()*-0.751556); +} + +double rdNNEE::synapse0x1ff99500() { + return (neuron0x1ff95a60()*1.10668); +} + +double rdNNEE::synapse0x1ff99540() { + return (neuron0x1ff96030()*-1.35127); +} + +double rdNNEE::synapse0x1ff99580() { + return (neuron0x1ff96570()*0.815284); +} + +double rdNNEE::synapse0x1ff995c0() { + return (neuron0x1ff968f0()*1.85946); +} + +double rdNNEE::synapse0x1ff99600() { + return (neuron0x1ff96e30()*0.0871906); +} + +double rdNNEE::synapse0x1ff99640() { + return (neuron0x1ff97370()*1.30664); +} + +double rdNNEE::synapse0x1ff99680() { + return (neuron0x1ff978b0()*1.14415); +} + +double rdNNEE::synapse0x1ff996c0() { + return (neuron0x1ff98110()*-0.52077); +} + +double rdNNEE::synapse0x1ff99a40() { + return (neuron0x1ff950f0()*-1.95843); +} + +double rdNNEE::synapse0x1ff99a80() { + return (neuron0x1ff95520()*-0.838962); +} + +double rdNNEE::synapse0x1ff99ac0() { + return (neuron0x1ff95a60()*1.49395); +} + +double rdNNEE::synapse0x1ff99b00() { + return (neuron0x1ff96030()*0.022963); +} + +double rdNNEE::synapse0x1ff99b40() { + return (neuron0x1ff96570()*0.038856); +} + +double rdNNEE::synapse0x1ff99b80() { + return (neuron0x1ff968f0()*-0.257157); +} + +double rdNNEE::synapse0x1ff99bc0() { + return (neuron0x1ff96e30()*1.54999); +} + +double rdNNEE::synapse0x1ff99c00() { + return (neuron0x1ff97370()*2.12141); +} + +double rdNNEE::synapse0x1ff99c40() { + return (neuron0x1ff978b0()*-2.59816); +} + +double rdNNEE::synapse0x1ff99c80() { + return (neuron0x1ff98110()*-1.38224); +} + +double rdNNEE::synapse0x1ff9a000() { + return (neuron0x1ff950f0()*0.189974); +} + +double rdNNEE::synapse0x1ff9a040() { + return (neuron0x1ff95520()*0.481018); +} + +double rdNNEE::synapse0x1ff9a080() { + return (neuron0x1ff95a60()*-0.0162486); +} + +double rdNNEE::synapse0x1ff9a0c0() { + return (neuron0x1ff96030()*0.941632); +} + +double rdNNEE::synapse0x1ff9a100() { + return (neuron0x1ff96570()*-1.21962); +} + +double rdNNEE::synapse0x1ff9a140() { + return (neuron0x1ff968f0()*-0.509644); +} + +double rdNNEE::synapse0x1ff9a180() { + return (neuron0x1ff96e30()*-0.308659); +} + +double rdNNEE::synapse0x1ff9a1c0() { + return (neuron0x1ff97370()*0.61483); +} + +double rdNNEE::synapse0x1ff9a200() { + return (neuron0x1ff978b0()*0.715472); +} + +double rdNNEE::synapse0x1ff97d00() { + return (neuron0x1ff98110()*0.422625); +} + +double rdNNEE::synapse0x1ff98080() { + return (neuron0x1ff985c0()*1.95961); +} + +double rdNNEE::synapse0x1ff980c0() { + return (neuron0x1ff98b80()*2.21297); +} + +double rdNNEE::synapse0x1ff94fc0() { + return (neuron0x1ff99140()*3.56681); +} + +double rdNNEE::synapse0x1ff95000() { + return (neuron0x1ff99700()*3.34891); +} + +double rdNNEE::synapse0x1ff95040() { + return (neuron0x1ff99cc0()*-3.23415); +} + +double rrNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.99102)/1.1492; + input1 = (in1 - 2.41121)/1.41004; + input2 = (in2 - 2.42657)/1.40629; + input3 = (in3 - 2.42619)/1.40466; + input4 = (in4 - 1.33856)/1.28698; + input5 = (in5 - 1.33177)/1.28879; + input6 = (in6 - 1.33367)/1.29347; + input7 = (in7 - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x672db80(); + default: + return 0.; + } +} + +double rrNNEE::Value(int index, double* input) { + input0 = (input[0] - 4.99102)/1.1492; + input1 = (input[1] - 2.41121)/1.41004; + input2 = (input[2] - 2.42657)/1.40629; + input3 = (input[3] - 2.42619)/1.40466; + input4 = (input[4] - 1.33856)/1.28698; + input5 = (input[5] - 1.33177)/1.28879; + input6 = (input[6] - 1.33367)/1.29347; + input7 = (input[7] - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x672db80(); + default: + return 0.; + } +} + +double rrNNEE::neuron0x6729400() { + return input0; +} + +double rrNNEE::neuron0x6729740() { + return input1; +} + +double rrNNEE::neuron0x6729a80() { + return input2; +} + +double rrNNEE::neuron0x6729dc0() { + return input3; +} + +double rrNNEE::neuron0x672a100() { + return input4; +} + +double rrNNEE::neuron0x672a440() { + return input5; +} + +double rrNNEE::neuron0x672a780() { + return input6; +} + +double rrNNEE::neuron0x672aac0() { + return input7; +} + +double rrNNEE::input0x672af30() { + double input = 0.653896; + input += synapse0x6689740(); + input += synapse0x6732000(); + input += synapse0x672b1e0(); + input += synapse0x672b220(); + input += synapse0x672b260(); + input += synapse0x672b2a0(); + input += synapse0x672b2e0(); + input += synapse0x672b320(); + return input; +} + +double rrNNEE::neuron0x672af30() { + double input = input0x672af30(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672b360() { + double input = 0.707726; + input += synapse0x672b6a0(); + input += synapse0x672b6e0(); + input += synapse0x672b720(); + input += synapse0x672b760(); + input += synapse0x672b7a0(); + input += synapse0x672b7e0(); + input += synapse0x672b820(); + input += synapse0x672b860(); + return input; +} + +double rrNNEE::neuron0x672b360() { + double input = input0x672b360(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672b8a0() { + double input = -0.441893; + input += synapse0x672bbe0(); + input += synapse0x6657ce0(); + input += synapse0x6657d20(); + input += synapse0x672bd30(); + input += synapse0x672bd70(); + input += synapse0x672bdb0(); + input += synapse0x672bdf0(); + input += synapse0x672be30(); + return input; +} + +double rrNNEE::neuron0x672b8a0() { + double input = input0x672b8a0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672be70() { + double input = -0.634536; + input += synapse0x672c1b0(); + input += synapse0x672c1f0(); + input += synapse0x672c230(); + input += synapse0x672c270(); + input += synapse0x672c2b0(); + input += synapse0x672c2f0(); + input += synapse0x672c330(); + input += synapse0x672c370(); + return input; +} + +double rrNNEE::neuron0x672be70() { + double input = input0x672be70(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672c3b0() { + double input = 0.53862; + input += synapse0x672c6f0(); + input += synapse0x6729330(); + input += synapse0x6732040(); + input += synapse0x6674050(); + input += synapse0x672bc20(); + input += synapse0x672bc60(); + input += synapse0x672bca0(); + input += synapse0x672bce0(); + return input; +} + +double rrNNEE::neuron0x672c3b0() { + double input = input0x672c3b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672c730() { + double input = -1.38965; + input += synapse0x672ca70(); + input += synapse0x672cab0(); + input += synapse0x672caf0(); + input += synapse0x672cb30(); + input += synapse0x672cb70(); + input += synapse0x672cbb0(); + input += synapse0x672cbf0(); + input += synapse0x672cc30(); + return input; +} + +double rrNNEE::neuron0x672c730() { + double input = input0x672c730(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672cc70() { + double input = -2.69757; + input += synapse0x672cfb0(); + input += synapse0x672cff0(); + input += synapse0x672d030(); + input += synapse0x672d070(); + input += synapse0x672d0b0(); + input += synapse0x672d0f0(); + input += synapse0x672d130(); + input += synapse0x672d170(); + return input; +} + +double rrNNEE::neuron0x672cc70() { + double input = input0x672cc70(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672d1b0() { + double input = 0.552602; + input += synapse0x672d4f0(); + input += synapse0x672d530(); + input += synapse0x672d570(); + input += synapse0x672d5b0(); + input += synapse0x672d5f0(); + input += synapse0x672d630(); + input += synapse0x672d670(); + input += synapse0x672d6b0(); + return input; +} + +double rrNNEE::neuron0x672d1b0() { + double input = input0x672d1b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672d6f0() { + double input = -0.289258; + input += synapse0x6655940(); + input += synapse0x6655980(); + input += synapse0x6670840(); + input += synapse0x6670880(); + input += synapse0x66708c0(); + input += synapse0x6670900(); + input += synapse0x6670940(); + input += synapse0x6670980(); + return input; +} + +double rrNNEE::neuron0x672d6f0() { + double input = input0x672d6f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672df50() { + double input = 0.0539445; + input += synapse0x672e200(); + input += synapse0x672e240(); + input += synapse0x672e280(); + input += synapse0x672e2c0(); + input += synapse0x672e300(); + input += synapse0x672e340(); + input += synapse0x672e380(); + input += synapse0x672e3c0(); + return input; +} + +double rrNNEE::neuron0x672df50() { + double input = input0x672df50(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672e400() { + double input = 0.422267; + input += synapse0x672e740(); + input += synapse0x672e780(); + input += synapse0x672e7c0(); + input += synapse0x672e800(); + input += synapse0x672e840(); + input += synapse0x672e880(); + input += synapse0x672e8c0(); + input += synapse0x672e900(); + input += synapse0x672e940(); + input += synapse0x672e980(); + return input; +} + +double rrNNEE::neuron0x672e400() { + double input = input0x672e400(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672e9c0() { + double input = -0.298858; + input += synapse0x672ed00(); + input += synapse0x672ed40(); + input += synapse0x672ed80(); + input += synapse0x672edc0(); + input += synapse0x672ee00(); + input += synapse0x672ee40(); + input += synapse0x672ee80(); + input += synapse0x672eec0(); + input += synapse0x672ef00(); + input += synapse0x672ef40(); + return input; +} + +double rrNNEE::neuron0x672e9c0() { + double input = input0x672e9c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672ef80() { + double input = 0.87923; + input += synapse0x672f2c0(); + input += synapse0x672f300(); + input += synapse0x672f340(); + input += synapse0x672f380(); + input += synapse0x672f3c0(); + input += synapse0x672f400(); + input += synapse0x672f440(); + input += synapse0x672f480(); + input += synapse0x672f4c0(); + input += synapse0x672f500(); + return input; +} + +double rrNNEE::neuron0x672ef80() { + double input = input0x672ef80(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672f540() { + double input = -1.51041; + input += synapse0x672f880(); + input += synapse0x672f8c0(); + input += synapse0x672f900(); + input += synapse0x672f940(); + input += synapse0x672f980(); + input += synapse0x672f9c0(); + input += synapse0x672fa00(); + input += synapse0x672fa40(); + input += synapse0x672fa80(); + input += synapse0x672fac0(); + return input; +} + +double rrNNEE::neuron0x672f540() { + double input = input0x672f540(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672fb00() { + double input = -3.09485; + input += synapse0x672fe40(); + input += synapse0x672fe80(); + input += synapse0x672fec0(); + input += synapse0x672ff00(); + input += synapse0x672ff40(); + input += synapse0x672ff80(); + input += synapse0x672ffc0(); + input += synapse0x6730000(); + input += synapse0x6730040(); + input += synapse0x672db40(); + return input; +} + +double rrNNEE::neuron0x672fb00() { + double input = input0x672fb00(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double rrNNEE::input0x672db80() { + double input = 3.93219; + input += synapse0x672dec0(); + input += synapse0x672df00(); + input += synapse0x672ae00(); + input += synapse0x672ae40(); + input += synapse0x672ae80(); + return input; +} + +double rrNNEE::neuron0x672db80() { + double input = input0x672db80(); + return (input * 1)+0; +} + +double rrNNEE::synapse0x6689740() { + return (neuron0x6729400()*0.719572); +} + +double rrNNEE::synapse0x6732000() { + return (neuron0x6729740()*-0.0692008); +} + +double rrNNEE::synapse0x672b1e0() { + return (neuron0x6729a80()*-1.18787); +} + +double rrNNEE::synapse0x672b220() { + return (neuron0x6729dc0()*0.707363); +} + +double rrNNEE::synapse0x672b260() { + return (neuron0x672a100()*1.16964); +} + +double rrNNEE::synapse0x672b2a0() { + return (neuron0x672a440()*-1.01254); +} + +double rrNNEE::synapse0x672b2e0() { + return (neuron0x672a780()*0.129117); +} + +double rrNNEE::synapse0x672b320() { + return (neuron0x672aac0()*-0.166791); +} + +double rrNNEE::synapse0x672b6a0() { + return (neuron0x6729400()*-0.529282); +} + +double rrNNEE::synapse0x672b6e0() { + return (neuron0x6729740()*0.732823); +} + +double rrNNEE::synapse0x672b720() { + return (neuron0x6729a80()*-0.361648); +} + +double rrNNEE::synapse0x672b760() { + return (neuron0x6729dc0()*-0.610316); +} + +double rrNNEE::synapse0x672b7a0() { + return (neuron0x672a100()*0.188769); +} + +double rrNNEE::synapse0x672b7e0() { + return (neuron0x672a440()*0.542069); +} + +double rrNNEE::synapse0x672b820() { + return (neuron0x672a780()*-0.600285); +} + +double rrNNEE::synapse0x672b860() { + return (neuron0x672aac0()*-0.0701344); +} + +double rrNNEE::synapse0x672bbe0() { + return (neuron0x6729400()*1.54523); +} + +double rrNNEE::synapse0x6657ce0() { + return (neuron0x6729740()*-0.498099); +} + +double rrNNEE::synapse0x6657d20() { + return (neuron0x6729a80()*-0.726753); +} + +double rrNNEE::synapse0x672bd30() { + return (neuron0x6729dc0()*-0.842911); +} + +double rrNNEE::synapse0x672bd70() { + return (neuron0x672a100()*-0.469895); +} + +double rrNNEE::synapse0x672bdb0() { + return (neuron0x672a440()*-0.377609); +} + +double rrNNEE::synapse0x672bdf0() { + return (neuron0x672a780()*0.813695); +} + +double rrNNEE::synapse0x672be30() { + return (neuron0x672aac0()*0.636629); +} + +double rrNNEE::synapse0x672c1b0() { + return (neuron0x6729400()*1.65108); +} + +double rrNNEE::synapse0x672c1f0() { + return (neuron0x6729740()*-0.190199); +} + +double rrNNEE::synapse0x672c230() { + return (neuron0x6729a80()*0.982778); +} + +double rrNNEE::synapse0x672c270() { + return (neuron0x6729dc0()*0.711544); +} + +double rrNNEE::synapse0x672c2b0() { + return (neuron0x672a100()*-3.26145); +} + +double rrNNEE::synapse0x672c2f0() { + return (neuron0x672a440()*0.162657); +} + +double rrNNEE::synapse0x672c330() { + return (neuron0x672a780()*-0.089699); +} + +double rrNNEE::synapse0x672c370() { + return (neuron0x672aac0()*-0.851981); +} + +double rrNNEE::synapse0x672c6f0() { + return (neuron0x6729400()*0.772435); +} + +double rrNNEE::synapse0x6729330() { + return (neuron0x6729740()*0.152775); +} + +double rrNNEE::synapse0x6732040() { + return (neuron0x6729a80()*0.723079); +} + +double rrNNEE::synapse0x6674050() { + return (neuron0x6729dc0()*-0.917971); +} + +double rrNNEE::synapse0x672bc20() { + return (neuron0x672a100()*-1.09432); +} + +double rrNNEE::synapse0x672bc60() { + return (neuron0x672a440()*0.928471); +} + +double rrNNEE::synapse0x672bca0() { + return (neuron0x672a780()*-0.358788); +} + +double rrNNEE::synapse0x672bce0() { + return (neuron0x672aac0()*-0.0812723); +} + +double rrNNEE::synapse0x672ca70() { + return (neuron0x6729400()*0.374882); +} + +double rrNNEE::synapse0x672cab0() { + return (neuron0x6729740()*-1.11654); +} + +double rrNNEE::synapse0x672caf0() { + return (neuron0x6729a80()*0.847504); +} + +double rrNNEE::synapse0x672cb30() { + return (neuron0x6729dc0()*0.602074); +} + +double rrNNEE::synapse0x672cb70() { + return (neuron0x672a100()*-0.28634); +} + +double rrNNEE::synapse0x672cbb0() { + return (neuron0x672a440()*-0.371769); +} + +double rrNNEE::synapse0x672cbf0() { + return (neuron0x672a780()*-0.900869); +} + +double rrNNEE::synapse0x672cc30() { + return (neuron0x672aac0()*1.50983); +} + +double rrNNEE::synapse0x672cfb0() { + return (neuron0x6729400()*0.370821); +} + +double rrNNEE::synapse0x672cff0() { + return (neuron0x6729740()*1.07235); +} + +double rrNNEE::synapse0x672d030() { + return (neuron0x6729a80()*-0.367159); +} + +double rrNNEE::synapse0x672d070() { + return (neuron0x6729dc0()*-0.68921); +} + +double rrNNEE::synapse0x672d0b0() { + return (neuron0x672a100()*1.15195); +} + +double rrNNEE::synapse0x672d0f0() { + return (neuron0x672a440()*1.46823); +} + +double rrNNEE::synapse0x672d130() { + return (neuron0x672a780()*0.0745679); +} + +double rrNNEE::synapse0x672d170() { + return (neuron0x672aac0()*-0.00508042); +} + +double rrNNEE::synapse0x672d4f0() { + return (neuron0x6729400()*-1.81515); +} + +double rrNNEE::synapse0x672d530() { + return (neuron0x6729740()*0.478004); +} + +double rrNNEE::synapse0x672d570() { + return (neuron0x6729a80()*-0.609589); +} + +double rrNNEE::synapse0x672d5b0() { + return (neuron0x6729dc0()*-1.08779); +} + +double rrNNEE::synapse0x672d5f0() { + return (neuron0x672a100()*-0.318204); +} + +double rrNNEE::synapse0x672d630() { + return (neuron0x672a440()*3.54867); +} + +double rrNNEE::synapse0x672d670() { + return (neuron0x672a780()*0.79003); +} + +double rrNNEE::synapse0x672d6b0() { + return (neuron0x672aac0()*0.0066591); +} + +double rrNNEE::synapse0x6655940() { + return (neuron0x6729400()*-0.603721); +} + +double rrNNEE::synapse0x6655980() { + return (neuron0x6729740()*-0.0150205); +} + +double rrNNEE::synapse0x6670840() { + return (neuron0x6729a80()*0.0899062); +} + +double rrNNEE::synapse0x6670880() { + return (neuron0x6729dc0()*-2.32862); +} + +double rrNNEE::synapse0x66708c0() { + return (neuron0x672a100()*0.392175); +} + +double rrNNEE::synapse0x6670900() { + return (neuron0x672a440()*2.26292); +} + +double rrNNEE::synapse0x6670940() { + return (neuron0x672a780()*-0.117487); +} + +double rrNNEE::synapse0x6670980() { + return (neuron0x672aac0()*0.0187756); +} + +double rrNNEE::synapse0x672e200() { + return (neuron0x6729400()*0.0326351); +} + +double rrNNEE::synapse0x672e240() { + return (neuron0x6729740()*0.0883082); +} + +double rrNNEE::synapse0x672e280() { + return (neuron0x6729a80()*-2.62164); +} + +double rrNNEE::synapse0x672e2c0() { + return (neuron0x6729dc0()*-0.626323); +} + +double rrNNEE::synapse0x672e300() { + return (neuron0x672a100()*1.77677); +} + +double rrNNEE::synapse0x672e340() { + return (neuron0x672a440()*0.771757); +} + +double rrNNEE::synapse0x672e380() { + return (neuron0x672a780()*0.0133546); +} + +double rrNNEE::synapse0x672e3c0() { + return (neuron0x672aac0()*-0.108335); +} + +double rrNNEE::synapse0x672e740() { + return (neuron0x672af30()*-1.46721); +} + +double rrNNEE::synapse0x672e780() { + return (neuron0x672b360()*1.19058); +} + +double rrNNEE::synapse0x672e7c0() { + return (neuron0x672b8a0()*-0.719918); +} + +double rrNNEE::synapse0x672e800() { + return (neuron0x672be70()*-0.0205937); +} + +double rrNNEE::synapse0x672e840() { + return (neuron0x672c3b0()*-1.98777); +} + +double rrNNEE::synapse0x672e880() { + return (neuron0x672c730()*-0.0982577); +} + +double rrNNEE::synapse0x672e8c0() { + return (neuron0x672cc70()*-1.46517); +} + +double rrNNEE::synapse0x672e900() { + return (neuron0x672d1b0()*0.113774); +} + +double rrNNEE::synapse0x672e940() { + return (neuron0x672d6f0()*0.045319); +} + +double rrNNEE::synapse0x672e980() { + return (neuron0x672df50()*0.421127); +} + +double rrNNEE::synapse0x672ed00() { + return (neuron0x672af30()*-0.974081); +} + +double rrNNEE::synapse0x672ed40() { + return (neuron0x672b360()*-0.351462); +} + +double rrNNEE::synapse0x672ed80() { + return (neuron0x672b8a0()*-0.342592); +} + +double rrNNEE::synapse0x672edc0() { + return (neuron0x672be70()*0.225037); +} + +double rrNNEE::synapse0x672ee00() { + return (neuron0x672c3b0()*-0.192674); +} + +double rrNNEE::synapse0x672ee40() { + return (neuron0x672c730()*-0.82117); +} + +double rrNNEE::synapse0x672ee80() { + return (neuron0x672cc70()*-0.175556); +} + +double rrNNEE::synapse0x672eec0() { + return (neuron0x672d1b0()*0.0352347); +} + +double rrNNEE::synapse0x672ef00() { + return (neuron0x672d6f0()*0.155098); +} + +double rrNNEE::synapse0x672ef40() { + return (neuron0x672df50()*0.465587); +} + +double rrNNEE::synapse0x672f2c0() { + return (neuron0x672af30()*-1.93436); +} + +double rrNNEE::synapse0x672f300() { + return (neuron0x672b360()*1.73157); +} + +double rrNNEE::synapse0x672f340() { + return (neuron0x672b8a0()*1.47908); +} + +double rrNNEE::synapse0x672f380() { + return (neuron0x672be70()*1.01792); +} + +double rrNNEE::synapse0x672f3c0() { + return (neuron0x672c3b0()*-2.70061); +} + +double rrNNEE::synapse0x672f400() { + return (neuron0x672c730()*-0.351462); +} + +double rrNNEE::synapse0x672f440() { + return (neuron0x672cc70()*0.330296); +} + +double rrNNEE::synapse0x672f480() { + return (neuron0x672d1b0()*-0.941561); +} + +double rrNNEE::synapse0x672f4c0() { + return (neuron0x672d6f0()*-0.0761283); +} + +double rrNNEE::synapse0x672f500() { + return (neuron0x672df50()*-0.32878); +} + +double rrNNEE::synapse0x672f880() { + return (neuron0x672af30()*0.700144); +} + +double rrNNEE::synapse0x672f8c0() { + return (neuron0x672b360()*-0.962227); +} + +double rrNNEE::synapse0x672f900() { + return (neuron0x672b8a0()*-2.48208); +} + +double rrNNEE::synapse0x672f940() { + return (neuron0x672be70()*-1.33986); +} + +double rrNNEE::synapse0x672f980() { + return (neuron0x672c3b0()*-1.63243); +} + +double rrNNEE::synapse0x672f9c0() { + return (neuron0x672c730()*0.559641); +} + +double rrNNEE::synapse0x672fa00() { + return (neuron0x672cc70()*-0.537616); +} + +double rrNNEE::synapse0x672fa40() { + return (neuron0x672d1b0()*1.76524); +} + +double rrNNEE::synapse0x672fa80() { + return (neuron0x672d6f0()*2.37791); +} + +double rrNNEE::synapse0x672fac0() { + return (neuron0x672df50()*1.21161); +} + +double rrNNEE::synapse0x672fe40() { + return (neuron0x672af30()*0.775653); +} + +double rrNNEE::synapse0x672fe80() { + return (neuron0x672b360()*-2.31679); +} + +double rrNNEE::synapse0x672fec0() { + return (neuron0x672b8a0()*-0.314825); +} + +double rrNNEE::synapse0x672ff00() { + return (neuron0x672be70()*0.281125); +} + +double rrNNEE::synapse0x672ff40() { + return (neuron0x672c3b0()*1.0574); +} + +double rrNNEE::synapse0x672ff80() { + return (neuron0x672c730()*0.183422); +} + +double rrNNEE::synapse0x672ffc0() { + return (neuron0x672cc70()*0.923959); +} + +double rrNNEE::synapse0x6730000() { + return (neuron0x672d1b0()*-0.495954); +} + +double rrNNEE::synapse0x6730040() { + return (neuron0x672d6f0()*1.13259); +} + +double rrNNEE::synapse0x672db40() { + return (neuron0x672df50()*1.30696); +} + +double rrNNEE::synapse0x672dec0() { + return (neuron0x672e400()*-3.12656); +} + +double rrNNEE::synapse0x672df00() { + return (neuron0x672e9c0()*-1.07836); +} + +double rrNNEE::synapse0x672ae00() { + return (neuron0x672ef80()*-4.12287); +} + +double rrNNEE::synapse0x672ae40() { + return (neuron0x672f540()*2.16816); +} + +double rrNNEE::synapse0x672ae80() { + return (neuron0x672fb00()*4.26021); +} + +double ruNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.99102)/1.1492; + input1 = (in1 - 2.40353)/1.40003; + input2 = (in2 - 2.41121)/1.41004; + input3 = (in3 - 2.42657)/1.40629; + input4 = (in4 - 2.42619)/1.40466; + input5 = (in5 - 1.33177)/1.28879; + input6 = (in6 - 1.33367)/1.29347; + input7 = (in7 - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0xa82cc40(); + default: + return 0.; + } +} + +double ruNNEE::Value(int index, double* input) { + input0 = (input[0] - 4.99102)/1.1492; + input1 = (input[1] - 2.40353)/1.40003; + input2 = (input[2] - 2.41121)/1.41004; + input3 = (input[3] - 2.42657)/1.40629; + input4 = (input[4] - 2.42619)/1.40466; + input5 = (input[5] - 1.33177)/1.28879; + input6 = (input[6] - 1.33367)/1.29347; + input7 = (input[7] - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0xa82cc40(); + default: + return 0.; + } +} + +double ruNNEE::neuron0xa8284c0() { + return input0; +} + +double ruNNEE::neuron0xa828800() { + return input1; +} + +double ruNNEE::neuron0xa828b40() { + return input2; +} + +double ruNNEE::neuron0xa828e80() { + return input3; +} + +double ruNNEE::neuron0xa8291c0() { + return input4; +} + +double ruNNEE::neuron0xa829500() { + return input5; +} + +double ruNNEE::neuron0xa829840() { + return input6; +} + +double ruNNEE::neuron0xa829b80() { + return input7; +} + +double ruNNEE::input0xa829ff0() { + double input = -0.739082; + input += synapse0xa788800(); + input += synapse0xa8310c0(); + input += synapse0xa82a2a0(); + input += synapse0xa82a2e0(); + input += synapse0xa82a320(); + input += synapse0xa82a360(); + input += synapse0xa82a3a0(); + input += synapse0xa82a3e0(); + return input; +} + +double ruNNEE::neuron0xa829ff0() { + double input = input0xa829ff0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82a420() { + double input = -0.228431; + input += synapse0xa82a760(); + input += synapse0xa82a7a0(); + input += synapse0xa82a7e0(); + input += synapse0xa82a820(); + input += synapse0xa82a860(); + input += synapse0xa82a8a0(); + input += synapse0xa82a8e0(); + input += synapse0xa82a920(); + return input; +} + +double ruNNEE::neuron0xa82a420() { + double input = input0xa82a420(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82a960() { + double input = -2.50648; + input += synapse0xa82aca0(); + input += synapse0xa756da0(); + input += synapse0xa756de0(); + input += synapse0xa82adf0(); + input += synapse0xa82ae30(); + input += synapse0xa82ae70(); + input += synapse0xa82aeb0(); + input += synapse0xa82aef0(); + return input; +} + +double ruNNEE::neuron0xa82a960() { + double input = input0xa82a960(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82af30() { + double input = 2.40472; + input += synapse0xa82b270(); + input += synapse0xa82b2b0(); + input += synapse0xa82b2f0(); + input += synapse0xa82b330(); + input += synapse0xa82b370(); + input += synapse0xa82b3b0(); + input += synapse0xa82b3f0(); + input += synapse0xa82b430(); + return input; +} + +double ruNNEE::neuron0xa82af30() { + double input = input0xa82af30(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82b470() { + double input = -2.81377; + input += synapse0xa82b7b0(); + input += synapse0xa8283f0(); + input += synapse0xa831100(); + input += synapse0xa773110(); + input += synapse0xa82ace0(); + input += synapse0xa82ad20(); + input += synapse0xa82ad60(); + input += synapse0xa82ada0(); + return input; +} + +double ruNNEE::neuron0xa82b470() { + double input = input0xa82b470(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82b7f0() { + double input = 0.360115; + input += synapse0xa82bb30(); + input += synapse0xa82bb70(); + input += synapse0xa82bbb0(); + input += synapse0xa82bbf0(); + input += synapse0xa82bc30(); + input += synapse0xa82bc70(); + input += synapse0xa82bcb0(); + input += synapse0xa82bcf0(); + return input; +} + +double ruNNEE::neuron0xa82b7f0() { + double input = input0xa82b7f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82bd30() { + double input = -1.41676; + input += synapse0xa82c070(); + input += synapse0xa82c0b0(); + input += synapse0xa82c0f0(); + input += synapse0xa82c130(); + input += synapse0xa82c170(); + input += synapse0xa82c1b0(); + input += synapse0xa82c1f0(); + input += synapse0xa82c230(); + return input; +} + +double ruNNEE::neuron0xa82bd30() { + double input = input0xa82bd30(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82c270() { + double input = 0.979543; + input += synapse0xa82c5b0(); + input += synapse0xa82c5f0(); + input += synapse0xa82c630(); + input += synapse0xa82c670(); + input += synapse0xa82c6b0(); + input += synapse0xa82c6f0(); + input += synapse0xa82c730(); + input += synapse0xa82c770(); + return input; +} + +double ruNNEE::neuron0xa82c270() { + double input = input0xa82c270(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82c7b0() { + double input = 2.28198; + input += synapse0xa754a00(); + input += synapse0xa754a40(); + input += synapse0xa76f900(); + input += synapse0xa76f940(); + input += synapse0xa76f980(); + input += synapse0xa76f9c0(); + input += synapse0xa76fa00(); + input += synapse0xa76fa40(); + return input; +} + +double ruNNEE::neuron0xa82c7b0() { + double input = input0xa82c7b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82d010() { + double input = -2.40913; + input += synapse0xa82d2c0(); + input += synapse0xa82d300(); + input += synapse0xa82d340(); + input += synapse0xa82d380(); + input += synapse0xa82d3c0(); + input += synapse0xa82d400(); + input += synapse0xa82d440(); + input += synapse0xa82d480(); + return input; +} + +double ruNNEE::neuron0xa82d010() { + double input = input0xa82d010(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82d4c0() { + double input = 0.0880209; + input += synapse0xa82d800(); + input += synapse0xa82d840(); + input += synapse0xa82d880(); + input += synapse0xa82d8c0(); + input += synapse0xa82d900(); + input += synapse0xa82d940(); + input += synapse0xa82d980(); + input += synapse0xa82d9c0(); + input += synapse0xa82da00(); + input += synapse0xa82da40(); + return input; +} + +double ruNNEE::neuron0xa82d4c0() { + double input = input0xa82d4c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82da80() { + double input = 0.645116; + input += synapse0xa82ddc0(); + input += synapse0xa82de00(); + input += synapse0xa82de40(); + input += synapse0xa82de80(); + input += synapse0xa82dec0(); + input += synapse0xa82df00(); + input += synapse0xa82df40(); + input += synapse0xa82df80(); + input += synapse0xa82dfc0(); + input += synapse0xa82e000(); + return input; +} + +double ruNNEE::neuron0xa82da80() { + double input = input0xa82da80(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82e040() { + double input = 0.00539517; + input += synapse0xa82e380(); + input += synapse0xa82e3c0(); + input += synapse0xa82e400(); + input += synapse0xa82e440(); + input += synapse0xa82e480(); + input += synapse0xa82e4c0(); + input += synapse0xa82e500(); + input += synapse0xa82e540(); + input += synapse0xa82e580(); + input += synapse0xa82e5c0(); + return input; +} + +double ruNNEE::neuron0xa82e040() { + double input = input0xa82e040(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82e600() { + double input = 0.810706; + input += synapse0xa82e940(); + input += synapse0xa82e980(); + input += synapse0xa82e9c0(); + input += synapse0xa82ea00(); + input += synapse0xa82ea40(); + input += synapse0xa82ea80(); + input += synapse0xa82eac0(); + input += synapse0xa82eb00(); + input += synapse0xa82eb40(); + input += synapse0xa82eb80(); + return input; +} + +double ruNNEE::neuron0xa82e600() { + double input = input0xa82e600(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82ebc0() { + double input = -0.83505; + input += synapse0xa82ef00(); + input += synapse0xa82ef40(); + input += synapse0xa82ef80(); + input += synapse0xa82efc0(); + input += synapse0xa82f000(); + input += synapse0xa82f040(); + input += synapse0xa82f080(); + input += synapse0xa82f0c0(); + input += synapse0xa82f100(); + input += synapse0xa82cc00(); + return input; +} + +double ruNNEE::neuron0xa82ebc0() { + double input = input0xa82ebc0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double ruNNEE::input0xa82cc40() { + double input = 0.0469036; + input += synapse0xa82cf80(); + input += synapse0xa82cfc0(); + input += synapse0xa829ec0(); + input += synapse0xa829f00(); + input += synapse0xa829f40(); + return input; +} + +double ruNNEE::neuron0xa82cc40() { + double input = input0xa82cc40(); + return (input * 1)+0; +} + +double ruNNEE::synapse0xa788800() { + return (neuron0xa8284c0()*-1.47017); +} + +double ruNNEE::synapse0xa8310c0() { + return (neuron0xa828800()*0.300555); +} + +double ruNNEE::synapse0xa82a2a0() { + return (neuron0xa828b40()*-0.153933); +} + +double ruNNEE::synapse0xa82a2e0() { + return (neuron0xa828e80()*0.287892); +} + +double ruNNEE::synapse0xa82a320() { + return (neuron0xa8291c0()*0.0337064); +} + +double ruNNEE::synapse0xa82a360() { + return (neuron0xa829500()*0.235817); +} + +double ruNNEE::synapse0xa82a3a0() { + return (neuron0xa829840()*0.123549); +} + +double ruNNEE::synapse0xa82a3e0() { + return (neuron0xa829b80()*-0.124928); +} + +double ruNNEE::synapse0xa82a760() { + return (neuron0xa8284c0()*0.274245); +} + +double ruNNEE::synapse0xa82a7a0() { + return (neuron0xa828800()*-1.08182); +} + +double ruNNEE::synapse0xa82a7e0() { + return (neuron0xa828b40()*-0.82647); +} + +double ruNNEE::synapse0xa82a820() { + return (neuron0xa828e80()*-1.00043); +} + +double ruNNEE::synapse0xa82a860() { + return (neuron0xa8291c0()*0.143352); +} + +double ruNNEE::synapse0xa82a8a0() { + return (neuron0xa829500()*0.345801); +} + +double ruNNEE::synapse0xa82a8e0() { + return (neuron0xa829840()*2.88779); +} + +double ruNNEE::synapse0xa82a920() { + return (neuron0xa829b80()*-0.550332); +} + +double ruNNEE::synapse0xa82aca0() { + return (neuron0xa8284c0()*1.06424); +} + +double ruNNEE::synapse0xa756da0() { + return (neuron0xa828800()*-2.4593); +} + +double ruNNEE::synapse0xa756de0() { + return (neuron0xa828b40()*-0.716967); +} + +double ruNNEE::synapse0xa82adf0() { + return (neuron0xa828e80()*0.821676); +} + +double ruNNEE::synapse0xa82ae30() { + return (neuron0xa8291c0()*0.888099); +} + +double ruNNEE::synapse0xa82ae70() { + return (neuron0xa829500()*-0.430376); +} + +double ruNNEE::synapse0xa82aeb0() { + return (neuron0xa829840()*-0.0471971); +} + +double ruNNEE::synapse0xa82aef0() { + return (neuron0xa829b80()*0.214872); +} + +double ruNNEE::synapse0xa82b270() { + return (neuron0xa8284c0()*-0.175604); +} + +double ruNNEE::synapse0xa82b2b0() { + return (neuron0xa828800()*-0.391058); +} + +double ruNNEE::synapse0xa82b2f0() { + return (neuron0xa828b40()*-0.0195448); +} + +double ruNNEE::synapse0xa82b330() { + return (neuron0xa828e80()*-0.409259); +} + +double ruNNEE::synapse0xa82b370() { + return (neuron0xa8291c0()*-0.290356); +} + +double ruNNEE::synapse0xa82b3b0() { + return (neuron0xa829500()*0.0849884); +} + +double ruNNEE::synapse0xa82b3f0() { + return (neuron0xa829840()*-0.286946); +} + +double ruNNEE::synapse0xa82b430() { + return (neuron0xa829b80()*0.0658396); +} + +double ruNNEE::synapse0xa82b7b0() { + return (neuron0xa8284c0()*1.86726); +} + +double ruNNEE::synapse0xa8283f0() { + return (neuron0xa828800()*0.673606); +} + +double ruNNEE::synapse0xa831100() { + return (neuron0xa828b40()*1.28299); +} + +double ruNNEE::synapse0xa773110() { + return (neuron0xa828e80()*-3.07066); +} + +double ruNNEE::synapse0xa82ace0() { + return (neuron0xa8291c0()*-1.19893); +} + +double ruNNEE::synapse0xa82ad20() { + return (neuron0xa829500()*0.0879598); +} + +double ruNNEE::synapse0xa82ad60() { + return (neuron0xa829840()*-1.15324); +} + +double ruNNEE::synapse0xa82ada0() { + return (neuron0xa829b80()*0.282287); +} + +double ruNNEE::synapse0xa82bb30() { + return (neuron0xa8284c0()*-0.798174); +} + +double ruNNEE::synapse0xa82bb70() { + return (neuron0xa828800()*-0.23108); +} + +double ruNNEE::synapse0xa82bbb0() { + return (neuron0xa828b40()*-0.0903257); +} + +double ruNNEE::synapse0xa82bbf0() { + return (neuron0xa828e80()*-0.330533); +} + +double ruNNEE::synapse0xa82bc30() { + return (neuron0xa8291c0()*0.0800251); +} + +double ruNNEE::synapse0xa82bc70() { + return (neuron0xa829500()*-0.0635542); +} + +double ruNNEE::synapse0xa82bcb0() { + return (neuron0xa829840()*-0.0161712); +} + +double ruNNEE::synapse0xa82bcf0() { + return (neuron0xa829b80()*-0.270878); +} + +double ruNNEE::synapse0xa82c070() { + return (neuron0xa8284c0()*1.50949); +} + +double ruNNEE::synapse0xa82c0b0() { + return (neuron0xa828800()*0.0766836); +} + +double ruNNEE::synapse0xa82c0f0() { + return (neuron0xa828b40()*-1.30968); +} + +double ruNNEE::synapse0xa82c130() { + return (neuron0xa828e80()*0.193006); +} + +double ruNNEE::synapse0xa82c170() { + return (neuron0xa8291c0()*-1.36285); +} + +double ruNNEE::synapse0xa82c1b0() { + return (neuron0xa829500()*0.951778); +} + +double ruNNEE::synapse0xa82c1f0() { + return (neuron0xa829840()*0.71593); +} + +double ruNNEE::synapse0xa82c230() { + return (neuron0xa829b80()*-0.586066); +} + +double ruNNEE::synapse0xa82c5b0() { + return (neuron0xa8284c0()*1.28256); +} + +double ruNNEE::synapse0xa82c5f0() { + return (neuron0xa828800()*0.534974); +} + +double ruNNEE::synapse0xa82c630() { + return (neuron0xa828b40()*-0.443663); +} + +double ruNNEE::synapse0xa82c670() { + return (neuron0xa828e80()*0.850094); +} + +double ruNNEE::synapse0xa82c6b0() { + return (neuron0xa8291c0()*-0.180367); +} + +double ruNNEE::synapse0xa82c6f0() { + return (neuron0xa829500()*-2.35516); +} + +double ruNNEE::synapse0xa82c730() { + return (neuron0xa829840()*-0.806304); +} + +double ruNNEE::synapse0xa82c770() { + return (neuron0xa829b80()*0.573719); +} + +double ruNNEE::synapse0xa754a00() { + return (neuron0xa8284c0()*1.13865); +} + +double ruNNEE::synapse0xa754a40() { + return (neuron0xa828800()*0.327888); +} + +double ruNNEE::synapse0xa76f900() { + return (neuron0xa828b40()*0.0724785); +} + +double ruNNEE::synapse0xa76f940() { + return (neuron0xa828e80()*0.382394); +} + +double ruNNEE::synapse0xa76f980() { + return (neuron0xa8291c0()*-0.00753103); +} + +double ruNNEE::synapse0xa76f9c0() { + return (neuron0xa829500()*-0.190601); +} + +double ruNNEE::synapse0xa76fa00() { + return (neuron0xa829840()*-0.234588); +} + +double ruNNEE::synapse0xa76fa40() { + return (neuron0xa829b80()*-0.00238543); +} + +double ruNNEE::synapse0xa82d2c0() { + return (neuron0xa8284c0()*0.859022); +} + +double ruNNEE::synapse0xa82d300() { + return (neuron0xa828800()*0.239251); +} + +double ruNNEE::synapse0xa82d340() { + return (neuron0xa828b40()*-0.627504); +} + +double ruNNEE::synapse0xa82d380() { + return (neuron0xa828e80()*0.230238); +} + +double ruNNEE::synapse0xa82d3c0() { + return (neuron0xa8291c0()*-0.417699); +} + +double ruNNEE::synapse0xa82d400() { + return (neuron0xa829500()*0.0416927); +} + +double ruNNEE::synapse0xa82d440() { + return (neuron0xa829840()*0.320059); +} + +double ruNNEE::synapse0xa82d480() { + return (neuron0xa829b80()*-0.367003); +} + +double ruNNEE::synapse0xa82d800() { + return (neuron0xa829ff0()*0.182052); +} + +double ruNNEE::synapse0xa82d840() { + return (neuron0xa82a420()*-0.139437); +} + +double ruNNEE::synapse0xa82d880() { + return (neuron0xa82a960()*-0.598619); +} + +double ruNNEE::synapse0xa82d8c0() { + return (neuron0xa82af30()*-1.35137); +} + +double ruNNEE::synapse0xa82d900() { + return (neuron0xa82b470()*-0.272138); +} + +double ruNNEE::synapse0xa82d940() { + return (neuron0xa82b7f0()*-1.22362); +} + +double ruNNEE::synapse0xa82d980() { + return (neuron0xa82bd30()*0.34401); +} + +double ruNNEE::synapse0xa82d9c0() { + return (neuron0xa82c270()*-0.533939); +} + +double ruNNEE::synapse0xa82da00() { + return (neuron0xa82c7b0()*0.477494); +} + +double ruNNEE::synapse0xa82da40() { + return (neuron0xa82d010()*1.42208); +} + +double ruNNEE::synapse0xa82ddc0() { + return (neuron0xa829ff0()*0.0972746); +} + +double ruNNEE::synapse0xa82de00() { + return (neuron0xa82a420()*1.17598); +} + +double ruNNEE::synapse0xa82de40() { + return (neuron0xa82a960()*-0.752091); +} + +double ruNNEE::synapse0xa82de80() { + return (neuron0xa82af30()*-0.744279); +} + +double ruNNEE::synapse0xa82dec0() { + return (neuron0xa82b470()*-0.120409); +} + +double ruNNEE::synapse0xa82df00() { + return (neuron0xa82b7f0()*-0.209274); +} + +double ruNNEE::synapse0xa82df40() { + return (neuron0xa82bd30()*1.09003); +} + +double ruNNEE::synapse0xa82df80() { + return (neuron0xa82c270()*0.333017); +} + +double ruNNEE::synapse0xa82dfc0() { + return (neuron0xa82c7b0()*2.06864); +} + +double ruNNEE::synapse0xa82e000() { + return (neuron0xa82d010()*1.36074); +} + +double ruNNEE::synapse0xa82e380() { + return (neuron0xa829ff0()*0.383234); +} + +double ruNNEE::synapse0xa82e3c0() { + return (neuron0xa82a420()*0.722152); +} + +double ruNNEE::synapse0xa82e400() { + return (neuron0xa82a960()*0.993275); +} + +double ruNNEE::synapse0xa82e440() { + return (neuron0xa82af30()*-0.812513); +} + +double ruNNEE::synapse0xa82e480() { + return (neuron0xa82b470()*0.429425); +} + +double ruNNEE::synapse0xa82e4c0() { + return (neuron0xa82b7f0()*-1.53475); +} + +double ruNNEE::synapse0xa82e500() { + return (neuron0xa82bd30()*-0.122715); +} + +double ruNNEE::synapse0xa82e540() { + return (neuron0xa82c270()*-0.938325); +} + +double ruNNEE::synapse0xa82e580() { + return (neuron0xa82c7b0()*1.7371); +} + +double ruNNEE::synapse0xa82e5c0() { + return (neuron0xa82d010()*2.06163); +} + +double ruNNEE::synapse0xa82e940() { + return (neuron0xa829ff0()*0.454973); +} + +double ruNNEE::synapse0xa82e980() { + return (neuron0xa82a420()*-1.40592); +} + +double ruNNEE::synapse0xa82e9c0() { + return (neuron0xa82a960()*-1.58567); +} + +double ruNNEE::synapse0xa82ea00() { + return (neuron0xa82af30()*-0.880453); +} + +double ruNNEE::synapse0xa82ea40() { + return (neuron0xa82b470()*-0.359768); +} + +double ruNNEE::synapse0xa82ea80() { + return (neuron0xa82b7f0()*-0.733199); +} + +double ruNNEE::synapse0xa82eac0() { + return (neuron0xa82bd30()*0.688791); +} + +double ruNNEE::synapse0xa82eb00() { + return (neuron0xa82c270()*0.6616); +} + +double ruNNEE::synapse0xa82eb40() { + return (neuron0xa82c7b0()*0.878811); +} + +double ruNNEE::synapse0xa82eb80() { + return (neuron0xa82d010()*1.86126); +} + +double ruNNEE::synapse0xa82ef00() { + return (neuron0xa829ff0()*-1.51421); +} + +double ruNNEE::synapse0xa82ef40() { + return (neuron0xa82a420()*1.22434); +} + +double ruNNEE::synapse0xa82ef80() { + return (neuron0xa82a960()*1.51179); +} + +double ruNNEE::synapse0xa82efc0() { + return (neuron0xa82af30()*1.54355); +} + +double ruNNEE::synapse0xa82f000() { + return (neuron0xa82b470()*1.36086); +} + +double ruNNEE::synapse0xa82f040() { + return (neuron0xa82b7f0()*0.500821); +} + +double ruNNEE::synapse0xa82f080() { + return (neuron0xa82bd30()*1.77085); +} + +double ruNNEE::synapse0xa82f0c0() { + return (neuron0xa82c270()*-1.79602); +} + +double ruNNEE::synapse0xa82f100() { + return (neuron0xa82c7b0()*1.15052); +} + +double ruNNEE::synapse0xa82cc00() { + return (neuron0xa82d010()*-1.15544); +} + +double ruNNEE::synapse0xa82cf80() { + return (neuron0xa82d4c0()*1.74873); +} + +double ruNNEE::synapse0xa82cfc0() { + return (neuron0xa82da80()*2.23277); +} + +double ruNNEE::synapse0xa829ec0() { + return (neuron0xa82e040()*3.82441); +} + +double ruNNEE::synapse0xa829f00() { + return (neuron0xa82e600()*1.89862); +} + +double ruNNEE::synapse0xa829f40() { + return (neuron0xa82ebc0()*-5.32595); +} + +double uuNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { + input0 = (in0 - 4.99102)/1.1492; + input1 = (in1 - 2.40353)/1.40003; + input2 = (in2 - 2.41121)/1.41004; + input3 = (in3 - 2.42619)/1.40466; + input4 = (in4 - 1.33856)/1.28698; + input5 = (in5 - 1.33177)/1.28879; + input6 = (in6 - 1.33367)/1.29347; + input7 = (in7 - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x1e0e4b40(); + default: + return 0.; + } +} + +double uuNNEE::Value(int index, double* input) { + input0 = (input[0] - 4.99102)/1.1492; + input1 = (input[1] - 2.40353)/1.40003; + input2 = (input[2] - 2.41121)/1.41004; + input3 = (input[3] - 2.42619)/1.40466; + input4 = (input[4] - 1.33856)/1.28698; + input5 = (input[5] - 1.33177)/1.28879; + input6 = (input[6] - 1.33367)/1.29347; + input7 = (input[7] - 1.34123)/1.29317; + switch(index) { + case 0: + return neuron0x1e0e4b40(); + default: + return 0.; + } +} + +double uuNNEE::neuron0x1e0e03c0() { + return input0; +} + +double uuNNEE::neuron0x1e0e0700() { + return input1; +} + +double uuNNEE::neuron0x1e0e0a40() { + return input2; +} + +double uuNNEE::neuron0x1e0e0d80() { + return input3; +} + +double uuNNEE::neuron0x1e0e10c0() { + return input4; +} + +double uuNNEE::neuron0x1e0e1400() { + return input5; +} + +double uuNNEE::neuron0x1e0e1740() { + return input6; +} + +double uuNNEE::neuron0x1e0e1a80() { + return input7; +} + +double uuNNEE::input0x1e0e1ef0() { + double input = 0.132124; + input += synapse0x1e040700(); + input += synapse0x1e0e8fc0(); + input += synapse0x1e0e21a0(); + input += synapse0x1e0e21e0(); + input += synapse0x1e0e2220(); + input += synapse0x1e0e2260(); + input += synapse0x1e0e22a0(); + input += synapse0x1e0e22e0(); + return input; +} + +double uuNNEE::neuron0x1e0e1ef0() { + double input = input0x1e0e1ef0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e2320() { + double input = -1.56833; + input += synapse0x1e0e2660(); + input += synapse0x1e0e26a0(); + input += synapse0x1e0e26e0(); + input += synapse0x1e0e2720(); + input += synapse0x1e0e2760(); + input += synapse0x1e0e27a0(); + input += synapse0x1e0e27e0(); + input += synapse0x1e0e2820(); + return input; +} + +double uuNNEE::neuron0x1e0e2320() { + double input = input0x1e0e2320(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e2860() { + double input = 2.47862; + input += synapse0x1e0e2ba0(); + input += synapse0x1e00eca0(); + input += synapse0x1e00ece0(); + input += synapse0x1e0e2cf0(); + input += synapse0x1e0e2d30(); + input += synapse0x1e0e2d70(); + input += synapse0x1e0e2db0(); + input += synapse0x1e0e2df0(); + return input; +} + +double uuNNEE::neuron0x1e0e2860() { + double input = input0x1e0e2860(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e2e30() { + double input = -0.411867; + input += synapse0x1e0e3170(); + input += synapse0x1e0e31b0(); + input += synapse0x1e0e31f0(); + input += synapse0x1e0e3230(); + input += synapse0x1e0e3270(); + input += synapse0x1e0e32b0(); + input += synapse0x1e0e32f0(); + input += synapse0x1e0e3330(); + return input; +} + +double uuNNEE::neuron0x1e0e2e30() { + double input = input0x1e0e2e30(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e3370() { + double input = -0.466911; + input += synapse0x1e0e36b0(); + input += synapse0x1e0e02f0(); + input += synapse0x1e0e9000(); + input += synapse0x1e02b010(); + input += synapse0x1e0e2be0(); + input += synapse0x1e0e2c20(); + input += synapse0x1e0e2c60(); + input += synapse0x1e0e2ca0(); + return input; +} + +double uuNNEE::neuron0x1e0e3370() { + double input = input0x1e0e3370(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e36f0() { + double input = 1.76238; + input += synapse0x1e0e3a30(); + input += synapse0x1e0e3a70(); + input += synapse0x1e0e3ab0(); + input += synapse0x1e0e3af0(); + input += synapse0x1e0e3b30(); + input += synapse0x1e0e3b70(); + input += synapse0x1e0e3bb0(); + input += synapse0x1e0e3bf0(); + return input; +} + +double uuNNEE::neuron0x1e0e36f0() { + double input = input0x1e0e36f0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e3c30() { + double input = 0.269915; + input += synapse0x1e0e3f70(); + input += synapse0x1e0e3fb0(); + input += synapse0x1e0e3ff0(); + input += synapse0x1e0e4030(); + input += synapse0x1e0e4070(); + input += synapse0x1e0e40b0(); + input += synapse0x1e0e40f0(); + input += synapse0x1e0e4130(); + return input; +} + +double uuNNEE::neuron0x1e0e3c30() { + double input = input0x1e0e3c30(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e4170() { + double input = -1.28328; + input += synapse0x1e0e44b0(); + input += synapse0x1e0e44f0(); + input += synapse0x1e0e4530(); + input += synapse0x1e0e4570(); + input += synapse0x1e0e45b0(); + input += synapse0x1e0e45f0(); + input += synapse0x1e0e4630(); + input += synapse0x1e0e4670(); + return input; +} + +double uuNNEE::neuron0x1e0e4170() { + double input = input0x1e0e4170(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e46b0() { + double input = 0.991379; + input += synapse0x1e00c900(); + input += synapse0x1e00c940(); + input += synapse0x1e027800(); + input += synapse0x1e027840(); + input += synapse0x1e027880(); + input += synapse0x1e0278c0(); + input += synapse0x1e027900(); + input += synapse0x1e027940(); + return input; +} + +double uuNNEE::neuron0x1e0e46b0() { + double input = input0x1e0e46b0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e4f10() { + double input = -0.40117; + input += synapse0x1e0e51c0(); + input += synapse0x1e0e5200(); + input += synapse0x1e0e5240(); + input += synapse0x1e0e5280(); + input += synapse0x1e0e52c0(); + input += synapse0x1e0e5300(); + input += synapse0x1e0e5340(); + input += synapse0x1e0e5380(); + return input; +} + +double uuNNEE::neuron0x1e0e4f10() { + double input = input0x1e0e4f10(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e53c0() { + double input = -2.43098; + input += synapse0x1e0e5700(); + input += synapse0x1e0e5740(); + input += synapse0x1e0e5780(); + input += synapse0x1e0e57c0(); + input += synapse0x1e0e5800(); + input += synapse0x1e0e5840(); + input += synapse0x1e0e5880(); + input += synapse0x1e0e58c0(); + input += synapse0x1e0e5900(); + input += synapse0x1e0e5940(); + return input; +} + +double uuNNEE::neuron0x1e0e53c0() { + double input = input0x1e0e53c0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e5980() { + double input = -0.49089; + input += synapse0x1e0e5cc0(); + input += synapse0x1e0e5d00(); + input += synapse0x1e0e5d40(); + input += synapse0x1e0e5d80(); + input += synapse0x1e0e5dc0(); + input += synapse0x1e0e5e00(); + input += synapse0x1e0e5e40(); + input += synapse0x1e0e5e80(); + input += synapse0x1e0e5ec0(); + input += synapse0x1e0e5f00(); + return input; +} + +double uuNNEE::neuron0x1e0e5980() { + double input = input0x1e0e5980(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e5f40() { + double input = -1.40155; + input += synapse0x1e0e6280(); + input += synapse0x1e0e62c0(); + input += synapse0x1e0e6300(); + input += synapse0x1e0e6340(); + input += synapse0x1e0e6380(); + input += synapse0x1e0e63c0(); + input += synapse0x1e0e6400(); + input += synapse0x1e0e6440(); + input += synapse0x1e0e6480(); + input += synapse0x1e0e64c0(); + return input; +} + +double uuNNEE::neuron0x1e0e5f40() { + double input = input0x1e0e5f40(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e6500() { + double input = 0.856813; + input += synapse0x1e0e6840(); + input += synapse0x1e0e6880(); + input += synapse0x1e0e68c0(); + input += synapse0x1e0e6900(); + input += synapse0x1e0e6940(); + input += synapse0x1e0e6980(); + input += synapse0x1e0e69c0(); + input += synapse0x1e0e6a00(); + input += synapse0x1e0e6a40(); + input += synapse0x1e0e6a80(); + return input; +} + +double uuNNEE::neuron0x1e0e6500() { + double input = input0x1e0e6500(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e6ac0() { + double input = -2.19246; + input += synapse0x1e0e6e00(); + input += synapse0x1e0e6e40(); + input += synapse0x1e0e6e80(); + input += synapse0x1e0e6ec0(); + input += synapse0x1e0e6f00(); + input += synapse0x1e0e6f40(); + input += synapse0x1e0e6f80(); + input += synapse0x1e0e6fc0(); + input += synapse0x1e0e7000(); + input += synapse0x1e0e4b00(); + return input; +} + +double uuNNEE::neuron0x1e0e6ac0() { + double input = input0x1e0e6ac0(); + return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; +} + +double uuNNEE::input0x1e0e4b40() { + double input = 1.19185; + input += synapse0x1e0e4e80(); + input += synapse0x1e0e4ec0(); + input += synapse0x1e0e1dc0(); + input += synapse0x1e0e1e00(); + input += synapse0x1e0e1e40(); + return input; +} + +double uuNNEE::neuron0x1e0e4b40() { + double input = input0x1e0e4b40(); + return (input * 1)+0; +} + +double uuNNEE::synapse0x1e040700() { + return (neuron0x1e0e03c0()*-1.62498); +} + +double uuNNEE::synapse0x1e0e8fc0() { + return (neuron0x1e0e0700()*-1.12984); +} + +double uuNNEE::synapse0x1e0e21a0() { + return (neuron0x1e0e0a40()*-1.65077); +} + +double uuNNEE::synapse0x1e0e21e0() { + return (neuron0x1e0e0d80()*1.10939); +} + +double uuNNEE::synapse0x1e0e2220() { + return (neuron0x1e0e10c0()*-0.662375); +} + +double uuNNEE::synapse0x1e0e2260() { + return (neuron0x1e0e1400()*0.722792); +} + +double uuNNEE::synapse0x1e0e22a0() { + return (neuron0x1e0e1740()*2.60651); +} + +double uuNNEE::synapse0x1e0e22e0() { + return (neuron0x1e0e1a80()*0.205855); +} + +double uuNNEE::synapse0x1e0e2660() { + return (neuron0x1e0e03c0()*0.867588); +} + +double uuNNEE::synapse0x1e0e26a0() { + return (neuron0x1e0e0700()*0.986362); +} + +double uuNNEE::synapse0x1e0e26e0() { + return (neuron0x1e0e0a40()*0.215262); +} + +double uuNNEE::synapse0x1e0e2720() { + return (neuron0x1e0e0d80()*-0.367279); +} + +double uuNNEE::synapse0x1e0e2760() { + return (neuron0x1e0e10c0()*-1.55761); +} + +double uuNNEE::synapse0x1e0e27a0() { + return (neuron0x1e0e1400()*-0.685611); +} + +double uuNNEE::synapse0x1e0e27e0() { + return (neuron0x1e0e1740()*0.331329); +} + +double uuNNEE::synapse0x1e0e2820() { + return (neuron0x1e0e1a80()*0.810081); +} + +double uuNNEE::synapse0x1e0e2ba0() { + return (neuron0x1e0e03c0()*1.3436); +} + +double uuNNEE::synapse0x1e00eca0() { + return (neuron0x1e0e0700()*0.733122); +} + +double uuNNEE::synapse0x1e00ece0() { + return (neuron0x1e0e0a40()*-0.413899); +} + +double uuNNEE::synapse0x1e0e2cf0() { + return (neuron0x1e0e0d80()*0.705015); +} + +double uuNNEE::synapse0x1e0e2d30() { + return (neuron0x1e0e10c0()*-0.95841); +} + +double uuNNEE::synapse0x1e0e2d70() { + return (neuron0x1e0e1400()*-0.2698); +} + +double uuNNEE::synapse0x1e0e2db0() { + return (neuron0x1e0e1740()*0.00991537); +} + +double uuNNEE::synapse0x1e0e2df0() { + return (neuron0x1e0e1a80()*-0.176317); +} + +double uuNNEE::synapse0x1e0e3170() { + return (neuron0x1e0e03c0()*0.605556); +} + +double uuNNEE::synapse0x1e0e31b0() { + return (neuron0x1e0e0700()*-0.0700405); +} + +double uuNNEE::synapse0x1e0e31f0() { + return (neuron0x1e0e0a40()*0.643331); +} + +double uuNNEE::synapse0x1e0e3230() { + return (neuron0x1e0e0d80()*0.0630598); +} + +double uuNNEE::synapse0x1e0e3270() { + return (neuron0x1e0e10c0()*0.649561); +} + +double uuNNEE::synapse0x1e0e32b0() { + return (neuron0x1e0e1400()*0.157865); +} + +double uuNNEE::synapse0x1e0e32f0() { + return (neuron0x1e0e1740()*-0.780671); +} + +double uuNNEE::synapse0x1e0e3330() { + return (neuron0x1e0e1a80()*-0.252903); +} + +double uuNNEE::synapse0x1e0e36b0() { + return (neuron0x1e0e03c0()*-0.913091); +} + +double uuNNEE::synapse0x1e0e02f0() { + return (neuron0x1e0e0700()*-0.177423); +} + +double uuNNEE::synapse0x1e0e9000() { + return (neuron0x1e0e0a40()*2.24212); +} + +double uuNNEE::synapse0x1e02b010() { + return (neuron0x1e0e0d80()*0.458241); +} + +double uuNNEE::synapse0x1e0e2be0() { + return (neuron0x1e0e10c0()*0.57807); +} + +double uuNNEE::synapse0x1e0e2c20() { + return (neuron0x1e0e1400()*-0.0153282); +} + +double uuNNEE::synapse0x1e0e2c60() { + return (neuron0x1e0e1740()*-1.62724); +} + +double uuNNEE::synapse0x1e0e2ca0() { + return (neuron0x1e0e1a80()*-0.128059); +} + +double uuNNEE::synapse0x1e0e3a30() { + return (neuron0x1e0e03c0()*0.307401); +} + +double uuNNEE::synapse0x1e0e3a70() { + return (neuron0x1e0e0700()*-0.0846233); +} + +double uuNNEE::synapse0x1e0e3ab0() { + return (neuron0x1e0e0a40()*-0.796274); +} + +double uuNNEE::synapse0x1e0e3af0() { + return (neuron0x1e0e0d80()*1.84915); +} + +double uuNNEE::synapse0x1e0e3b30() { + return (neuron0x1e0e10c0()*-0.293791); +} + +double uuNNEE::synapse0x1e0e3b70() { + return (neuron0x1e0e1400()*-0.535142); +} + +double uuNNEE::synapse0x1e0e3bb0() { + return (neuron0x1e0e1740()*0.282696); +} + +double uuNNEE::synapse0x1e0e3bf0() { + return (neuron0x1e0e1a80()*-0.43494); +} + +double uuNNEE::synapse0x1e0e3f70() { + return (neuron0x1e0e03c0()*0.641573); +} + +double uuNNEE::synapse0x1e0e3fb0() { + return (neuron0x1e0e0700()*-2.2047); +} + +double uuNNEE::synapse0x1e0e3ff0() { + return (neuron0x1e0e0a40()*0.411344); +} + +double uuNNEE::synapse0x1e0e4030() { + return (neuron0x1e0e0d80()*-0.259468); +} + +double uuNNEE::synapse0x1e0e4070() { + return (neuron0x1e0e10c0()*1.80947); +} + +double uuNNEE::synapse0x1e0e40b0() { + return (neuron0x1e0e1400()*0.0964665); +} + +double uuNNEE::synapse0x1e0e40f0() { + return (neuron0x1e0e1740()*-0.646553); +} + +double uuNNEE::synapse0x1e0e4130() { + return (neuron0x1e0e1a80()*-0.194568); +} + +double uuNNEE::synapse0x1e0e44b0() { + return (neuron0x1e0e03c0()*-0.865571); +} + +double uuNNEE::synapse0x1e0e44f0() { + return (neuron0x1e0e0700()*0.308825); +} + +double uuNNEE::synapse0x1e0e4530() { + return (neuron0x1e0e0a40()*0.0972404); +} + +double uuNNEE::synapse0x1e0e4570() { + return (neuron0x1e0e0d80()*0.747192); +} + +double uuNNEE::synapse0x1e0e45b0() { + return (neuron0x1e0e10c0()*0.259783); +} + +double uuNNEE::synapse0x1e0e45f0() { + return (neuron0x1e0e1400()*0.262404); +} + +double uuNNEE::synapse0x1e0e4630() { + return (neuron0x1e0e1740()*1.1773); +} + +double uuNNEE::synapse0x1e0e4670() { + return (neuron0x1e0e1a80()*0.0180551); +} + +double uuNNEE::synapse0x1e00c900() { + return (neuron0x1e0e03c0()*-1.36178); +} + +double uuNNEE::synapse0x1e00c940() { + return (neuron0x1e0e0700()*0.469672); +} + +double uuNNEE::synapse0x1e027800() { + return (neuron0x1e0e0a40()*-0.517745); +} + +double uuNNEE::synapse0x1e027840() { + return (neuron0x1e0e0d80()*0.132974); +} + +double uuNNEE::synapse0x1e027880() { + return (neuron0x1e0e10c0()*-0.203739); +} + +double uuNNEE::synapse0x1e0278c0() { + return (neuron0x1e0e1400()*-0.44837); +} + +double uuNNEE::synapse0x1e027900() { + return (neuron0x1e0e1740()*2.97524); +} + +double uuNNEE::synapse0x1e027940() { + return (neuron0x1e0e1a80()*-0.316517); +} + +double uuNNEE::synapse0x1e0e51c0() { + return (neuron0x1e0e03c0()*1.82517); +} + +double uuNNEE::synapse0x1e0e5200() { + return (neuron0x1e0e0700()*0.414161); +} + +double uuNNEE::synapse0x1e0e5240() { + return (neuron0x1e0e0a40()*0.251126); +} + +double uuNNEE::synapse0x1e0e5280() { + return (neuron0x1e0e0d80()*-0.507721); +} + +double uuNNEE::synapse0x1e0e52c0() { + return (neuron0x1e0e10c0()*-2.57603); +} + +double uuNNEE::synapse0x1e0e5300() { + return (neuron0x1e0e1400()*0.286574); +} + +double uuNNEE::synapse0x1e0e5340() { + return (neuron0x1e0e1740()*-0.149589); +} + +double uuNNEE::synapse0x1e0e5380() { + return (neuron0x1e0e1a80()*0.0424992); +} + +double uuNNEE::synapse0x1e0e5700() { + return (neuron0x1e0e1ef0()*-0.728981); +} + +double uuNNEE::synapse0x1e0e5740() { + return (neuron0x1e0e2320()*-0.217835); +} + +double uuNNEE::synapse0x1e0e5780() { + return (neuron0x1e0e2860()*2.14288); +} + +double uuNNEE::synapse0x1e0e57c0() { + return (neuron0x1e0e2e30()*0.843815); +} + +double uuNNEE::synapse0x1e0e5800() { + return (neuron0x1e0e3370()*-1.88617); +} + +double uuNNEE::synapse0x1e0e5840() { + return (neuron0x1e0e36f0()*-1.95356); +} + +double uuNNEE::synapse0x1e0e5880() { + return (neuron0x1e0e3c30()*0.139252); +} + +double uuNNEE::synapse0x1e0e58c0() { + return (neuron0x1e0e4170()*1.47315); +} + +double uuNNEE::synapse0x1e0e5900() { + return (neuron0x1e0e46b0()*0.554027); +} + +double uuNNEE::synapse0x1e0e5940() { + return (neuron0x1e0e4f10()*0.17062); +} + +double uuNNEE::synapse0x1e0e5cc0() { + return (neuron0x1e0e1ef0()*0.448036); +} + +double uuNNEE::synapse0x1e0e5d00() { + return (neuron0x1e0e2320()*-0.254115); +} + +double uuNNEE::synapse0x1e0e5d40() { + return (neuron0x1e0e2860()*-0.00580066); +} + +double uuNNEE::synapse0x1e0e5d80() { + return (neuron0x1e0e2e30()*-1.69415); +} + +double uuNNEE::synapse0x1e0e5dc0() { + return (neuron0x1e0e3370()*0.854384); +} + +double uuNNEE::synapse0x1e0e5e00() { + return (neuron0x1e0e36f0()*0.979013); +} + +double uuNNEE::synapse0x1e0e5e40() { + return (neuron0x1e0e3c30()*-0.992856); +} + +double uuNNEE::synapse0x1e0e5e80() { + return (neuron0x1e0e4170()*-0.753223); +} + +double uuNNEE::synapse0x1e0e5ec0() { + return (neuron0x1e0e46b0()*-2.07683); +} + +double uuNNEE::synapse0x1e0e5f00() { + return (neuron0x1e0e4f10()*0.716962); +} + +double uuNNEE::synapse0x1e0e6280() { + return (neuron0x1e0e1ef0()*0.475778); +} + +double uuNNEE::synapse0x1e0e62c0() { + return (neuron0x1e0e2320()*0.272449); +} + +double uuNNEE::synapse0x1e0e6300() { + return (neuron0x1e0e2860()*1.24325); +} + +double uuNNEE::synapse0x1e0e6340() { + return (neuron0x1e0e2e30()*1.14387); +} + +double uuNNEE::synapse0x1e0e6380() { + return (neuron0x1e0e3370()*-1.03597); +} + +double uuNNEE::synapse0x1e0e63c0() { + return (neuron0x1e0e36f0()*-0.808608); +} + +double uuNNEE::synapse0x1e0e6400() { + return (neuron0x1e0e3c30()*-0.67539); +} + +double uuNNEE::synapse0x1e0e6440() { + return (neuron0x1e0e4170()*1.19305); +} + +double uuNNEE::synapse0x1e0e6480() { + return (neuron0x1e0e46b0()*0.303352); +} + +double uuNNEE::synapse0x1e0e64c0() { + return (neuron0x1e0e4f10()*1.16241); +} + +double uuNNEE::synapse0x1e0e6840() { + return (neuron0x1e0e1ef0()*-0.398235); +} + +double uuNNEE::synapse0x1e0e6880() { + return (neuron0x1e0e2320()*-1.07879); +} + +double uuNNEE::synapse0x1e0e68c0() { + return (neuron0x1e0e2860()*-1.88175); +} + +double uuNNEE::synapse0x1e0e6900() { + return (neuron0x1e0e2e30()*-1.7548); +} + +double uuNNEE::synapse0x1e0e6940() { + return (neuron0x1e0e3370()*-0.585679); +} + +double uuNNEE::synapse0x1e0e6980() { + return (neuron0x1e0e36f0()*0.328479); +} + +double uuNNEE::synapse0x1e0e69c0() { + return (neuron0x1e0e3c30()*-1.09065); +} + +double uuNNEE::synapse0x1e0e6a00() { + return (neuron0x1e0e4170()*1.3457); +} + +double uuNNEE::synapse0x1e0e6a40() { + return (neuron0x1e0e46b0()*1.02988); +} + +double uuNNEE::synapse0x1e0e6a80() { + return (neuron0x1e0e4f10()*1.23338); +} + +double uuNNEE::synapse0x1e0e6e00() { + return (neuron0x1e0e1ef0()*1.19672); +} + +double uuNNEE::synapse0x1e0e6e40() { + return (neuron0x1e0e2320()*0.632228); +} + +double uuNNEE::synapse0x1e0e6e80() { + return (neuron0x1e0e2860()*-0.546108); +} + +double uuNNEE::synapse0x1e0e6ec0() { + return (neuron0x1e0e2e30()*-0.471203); +} + +double uuNNEE::synapse0x1e0e6f00() { + return (neuron0x1e0e3370()*-1.06115); +} + +double uuNNEE::synapse0x1e0e6f40() { + return (neuron0x1e0e36f0()*-0.790267); +} + +double uuNNEE::synapse0x1e0e6f80() { + return (neuron0x1e0e3c30()*2.03872); +} + +double uuNNEE::synapse0x1e0e6fc0() { + return (neuron0x1e0e4170()*0.339001); +} + +double uuNNEE::synapse0x1e0e7000() { + return (neuron0x1e0e46b0()*2.30874); +} + +double uuNNEE::synapse0x1e0e4b00() { + return (neuron0x1e0e4f10()*-2.70062); +} + +double uuNNEE::synapse0x1e0e4e80() { + return (neuron0x1e0e53c0()*3.61326); +} + +double uuNNEE::synapse0x1e0e4ec0() { + return (neuron0x1e0e5980()*-2.48462); +} + +double uuNNEE::synapse0x1e0e1dc0() { + return (neuron0x1e0e5f40()*3.14274); +} + +double uuNNEE::synapse0x1e0e1e00() { + return (neuron0x1e0e6500()*-4.10291); +} + +double uuNNEE::synapse0x1e0e1e40() { + return (neuron0x1e0e6ac0()*3.40931); +} + + diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EcalDeadChannelRecoveryProducers.h b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h similarity index 63% rename from RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EcalDeadChannelRecoveryProducers.h rename to RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h index c691d23ec1e18..aeecc8f18ef15 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EcalDeadChannelRecoveryProducers.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h @@ -1,8 +1,9 @@ -#ifndef RecoLocalCalo_EcalDeadChannelRecoveryProducers_EcalDeadChannelRecoveryProducers_HH -#define RecoLocalCalo_EcalDeadChannelRecoveryProducers_EcalDeadChannelRecoveryProducers_HH +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryProducers_EBDeadChannelRecoveryProducers_HH +#define RecoLocalCalo_EcalDeadChannelRecoveryProducers_EBDeadChannelRecoveryProducers_HH -/** \class EcalDeadChannelRecoveryProducers +/** \class EBDeadChannelRecoveryProducers * + * \author Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) */ // system include files @@ -17,18 +18,16 @@ #include "FWCore/Framework/interface/MakerMacros.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" - - #include // // class decleration // -class EcalDeadChannelRecoveryProducers : public edm::EDProducer { +class EBDeadChannelRecoveryProducers : public edm::EDProducer { public: - explicit EcalDeadChannelRecoveryProducers(const edm::ParameterSet&); - ~EcalDeadChannelRecoveryProducers(); + explicit EBDeadChannelRecoveryProducers(const edm::ParameterSet&); + ~EBDeadChannelRecoveryProducers(); private: virtual void beginJob() ; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h new file mode 100644 index 0000000000000..9bd12f67096f3 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h @@ -0,0 +1,53 @@ +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryProducers_EEDeadChannelRecoveryProducers_HH +#define RecoLocalCalo_EcalDeadChannelRecoveryProducers_EEDeadChannelRecoveryProducers_HH + +/** \class EEDeadChannelRecoveryProducers + * + * $Date: 2013/02/20 22:49:13 $ + * $Revision: 1.1 $ + * \author Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) + */ + +// system include files +#include + +// user include files +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/EDProducer.h" +#include "FWCore/Framework/interface/ESHandle.h" + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" + +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include + +// +// class decleration +// + +class EEDeadChannelRecoveryProducers : public edm::EDProducer { + public: + explicit EEDeadChannelRecoveryProducers(const edm::ParameterSet&); + ~EEDeadChannelRecoveryProducers(); + + private: + virtual void beginJob() ; + virtual void produce(edm::Event&, const edm::EventSetup&); + virtual void endJob() ; + + // ----------member data --------------------------- + + double Sum8GeVThreshold_; + std::string hitProducer_; + std::string hitCollection_; + std::string reducedHitCollection_; + std::string DeadChannelFileName_; + std::vector ChannelsDeadID; + bool CorrectDeadCells_; + std::string CorrectionMethod_; + +}; + + +#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc new file mode 100644 index 0000000000000..7dd483fea6e4d --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc @@ -0,0 +1,168 @@ +// -*- C++ -*- +// +// Package: EcalDeadChannelRecoveryProducers +// Class: EBDeadChannelRecoveryProducers +// +/**\class EBDeadChannelRecoveryProducers EBDeadChannelRecoveryProducers.cc RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc + + Description: + + Implementation: + +*/ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "EcalDeadChannelRecoveryProducers.cc" code +// + + +// system include files +#include + +// Geometry +#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" +#include "Geometry/CaloGeometry/interface/CaloGeometry.h" +#include "Geometry/CaloTopology/interface/CaloTopology.h" + +// Reconstruction Classes +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/EcalDetId/interface/EBDetId.h" + +#include "RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" + +#include +#include + +using namespace cms; +using namespace std; + +// +// constants, enums and typedefs +// + +// +// static data member definitions +// + +// +// constructors and destructor +// +EBDeadChannelRecoveryProducers::EBDeadChannelRecoveryProducers(const edm::ParameterSet& ps) +{ + //now do what ever other initialization is needed + CorrectDeadCells_ = ps.getParameter("CorrectDeadCells"); + CorrectionMethod_ = ps.getParameter("CorrectionMethod"); + hitProducer_ = ps.getParameter("hitProducer"); + hitCollection_ = ps.getParameter("hitCollection"); + reducedHitCollection_ = ps.getParameter("reducedHitCollection"); + DeadChannelFileName_ = ps.getParameter("DeadChannelsFile"); + Sum8GeVThreshold_= ps.getParameter("Sum8GeVThreshold"); + + produces< EcalRecHitCollection >(reducedHitCollection_); +} + + +EBDeadChannelRecoveryProducers::~EBDeadChannelRecoveryProducers() +{ + // do anything here that needs to be done at desctruction time + // (e.g. close files, deallocate resources etc.) +} + + +// +// member functions +// + +// ------------ method called to produce the data ------------ +void +EBDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& iSetup) +{ + using namespace edm; + + edm::ESHandle theCaloTopology; + iSetup.get().get(theCaloTopology); + + // get the hit collection from the event: + edm::Handle rhcHandle; + evt.getByLabel(hitProducer_, hitCollection_, rhcHandle); + if (!(rhcHandle.isValid())) + { + // std::cout << "could not get a handle on the EcalRecHitCollection!" << std::endl; + return; + } + const EcalRecHitCollection* hit_collection = rhcHandle.product(); + + // create an auto_ptr to a EcalRecHitCollection, copy the RecHits into it and put it in the Event: + std::auto_ptr< EcalRecHitCollection > redCollection(new EcalRecHitCollection); + + EBDeadChannelRecoveryAlgos *DeadChannelCorrector = new EBDeadChannelRecoveryAlgos(theCaloTopology.product()); + + // + // Double loop over EcalRecHit collection and "dead" cell RecHits. + // If we step into a "dead" cell call "DeadChannelCorrector::correct()" + // + for (EcalRecHitCollection::const_iterator it = hit_collection->begin(); it != hit_collection->end(); ++it) { + std::vector::const_iterator CheckDead = ChannelsDeadID.begin(); + bool OverADeadRecHit=false; + while ( CheckDead != ChannelsDeadID.end() ) { + if (it->detid()==*CheckDead) { + OverADeadRecHit=true; + bool AcceptRecHit=true; + EcalRecHit NewRecHit = DeadChannelCorrector->correct(it->detid(),hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); + // Accept the new rec hit if the flag is true. + if( AcceptRecHit ) { redCollection->push_back( NewRecHit ); } + else { redCollection->push_back( *it );} + break; + } + CheckDead++; + } + if (!OverADeadRecHit) { redCollection->push_back( *it ) ; } + } + + delete DeadChannelCorrector ; + + evt.put(redCollection, reducedHitCollection_); +} + + +// ------------ method called once each job just before starting event loop ------------ +void +EBDeadChannelRecoveryProducers::beginJob() +{ + //Open the DeadChannel file, read it. + FILE* DeadCha; + printf("Dead Channels FILE: %s\n",DeadChannelFileName_.c_str()); + DeadCha = fopen(DeadChannelFileName_.c_str(),"r"); + + int fileStatus=0; + int ieta=-10000; + int iphi=-10000; + + while (fileStatus != EOF) { + + fileStatus = fscanf(DeadCha,"%d %d\n",&ieta,&iphi); + + // Problem reading Dead Channels file + if (ieta==-10000||iphi==-10000) { break; } + + if( EBDetId::validDetId(ieta,iphi) ) { + EBDetId cell(ieta,iphi); + ChannelsDeadID.push_back(cell); + } + + } //end while + + fclose(DeadCha); +} + +// ------------ method called once each job just after ending the event loop ------------ +void +EBDeadChannelRecoveryProducers::endJob() { +} + +//define this as a plug-in +DEFINE_FWK_MODULE(EBDeadChannelRecoveryProducers); diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc new file mode 100644 index 0000000000000..404d77f4e0e67 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc @@ -0,0 +1,168 @@ +// -*- C++ -*- +// +// Package: EcalDeadChannelRecoveryProducers +// Class: EEDeadChannelRecoveryProducers +// +/**\class EEDeadChannelRecoveryProducers EEDeadChannelRecoveryProducers.cc RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc + + Description: + + Implementation: + +*/ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "EcalDeadChannelRecoveryProducers.cc" code +// + + +// system include files +#include + +// Geometry +#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" +#include "Geometry/CaloGeometry/interface/CaloGeometry.h" +#include "Geometry/CaloTopology/interface/CaloTopology.h" + +// Reconstruction Classes +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/EcalDetId/interface/EEDetId.h" + +#include "RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" + +#include +#include + +using namespace cms; +using namespace std; + +// +// constants, enums and typedefs +// + +// +// static data member definitions +// + +// +// constructors and destructor +// +EEDeadChannelRecoveryProducers::EEDeadChannelRecoveryProducers(const edm::ParameterSet& ps) +{ + //now do what ever other initialization is needed + CorrectDeadCells_ = ps.getParameter("CorrectDeadCells"); + CorrectionMethod_ = ps.getParameter("CorrectionMethod"); + hitProducer_ = ps.getParameter("hitProducer"); + hitCollection_ = ps.getParameter("hitCollection"); + reducedHitCollection_ = ps.getParameter("reducedHitCollection"); + DeadChannelFileName_ = ps.getParameter("DeadChannelsFile"); + Sum8GeVThreshold_= ps.getParameter("Sum8GeVThreshold"); + + produces< EcalRecHitCollection >(reducedHitCollection_); +} + + +EEDeadChannelRecoveryProducers::~EEDeadChannelRecoveryProducers() +{ + // do anything here that needs to be done at desctruction time + // (e.g. close files, deallocate resources etc.) +} + + +// +// member functions +// + +// ------------ method called to produce the data ------------ +void +EEDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& iSetup) +{ + using namespace edm; + + edm::ESHandle theCaloTopology; + iSetup.get().get(theCaloTopology); + + // get the hit collection from the event: + edm::Handle rhcHandle; + evt.getByLabel(hitProducer_, hitCollection_, rhcHandle); + if (!(rhcHandle.isValid())) + { + // std::cout << "could not get a handle on the EcalRecHitCollection!" << std::endl; + return; + } + const EcalRecHitCollection* hit_collection = rhcHandle.product(); + + // create an auto_ptr to a EcalRecHitCollection, copy the RecHits into it and put it in the Event: + std::auto_ptr< EcalRecHitCollection > redCollection(new EcalRecHitCollection); + + EEDeadChannelRecoveryAlgos *DeadChannelCorrector = new EEDeadChannelRecoveryAlgos(theCaloTopology.product()); + + // + // Double loop over EcalRecHit collection and "dead" cell RecHits. + // If we step into a "dead" cell call "DeadChannelCorrector::correct()" + // + for (EcalRecHitCollection::const_iterator it = hit_collection->begin(); it != hit_collection->end(); ++it) { + std::vector::const_iterator CheckDead = ChannelsDeadID.begin(); + bool OverADeadRecHit=false; + while ( CheckDead != ChannelsDeadID.end() ) { + if (it->detid()==*CheckDead) { + OverADeadRecHit=true; + bool AcceptRecHit=true; + EcalRecHit NewRecHit = DeadChannelCorrector->correct(it->detid(),hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); + // Accept the new rec hit if the flag is true. + if( AcceptRecHit ) { redCollection->push_back( NewRecHit ); } + else { redCollection->push_back( *it );} + break; + } + CheckDead++; + } + if (!OverADeadRecHit) { redCollection->push_back( *it ) ; } + } + + delete DeadChannelCorrector ; + + evt.put(redCollection, reducedHitCollection_); +} + + +// ------------ method called once each job just before starting event loop ------------ +void +EEDeadChannelRecoveryProducers::beginJob() +{ + //Open the DeadChannel file, read it. + FILE* DeadCha; + printf("Dead Channels FILE: %s\n",DeadChannelFileName_.c_str()); + DeadCha = fopen(DeadChannelFileName_.c_str(),"r"); + + int fileStatus=0; + int ix=-10000; + int iy=-10000; + int iz=-10000; + while (fileStatus != EOF) { + + fileStatus = fscanf(DeadCha,"%d %d %d\n",&ix,&iy,&iz); + + // Problem reading Dead Channels file + if (ix==-10000||iy==-10000||iz==-10000) { break; } + + if ( EEDetId::validDetId(ix,iy,iz) ) { + EEDetId cell(ix,iy,iz); + ChannelsDeadID.push_back(cell); + } + + } //end while + + fclose(DeadCha); +} + +// ------------ method called once each job just after ending the event loop ------------ +void +EEDeadChannelRecoveryProducers::endJob() { +} + +//define this as a plug-in +DEFINE_FWK_MODULE(EEDeadChannelRecoveryProducers); diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EcalDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EcalDeadChannelRecoveryProducers.cc deleted file mode 100644 index 6ded3e0d6d856..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EcalDeadChannelRecoveryProducers.cc +++ /dev/null @@ -1,171 +0,0 @@ -// -*- C++ -*- -// -// Package: EcalDeadChannelRecoveryProducers -// Class: EcalDeadChannelRecoveryProducers -// -/**\class EcalDeadChannelRecoveryProducers EcalDeadChannelRecoveryProducers.cc RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EcalDeadChannelRecoveryProducers.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Georgios Daskalakis -// Created: Thu Apr 12 17:01:03 CEST 2007 -// -// - - -// system include files -#include - - - -// Geometry -#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" -#include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" - -// Reconstruction Classes -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/EcalDetId/interface/EBDetId.h" - -#include "RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EcalDeadChannelRecoveryProducers.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h" - - -#include -#include - -using namespace cms; -using namespace std; - - - -// -// constants, enums and typedefs -// - -// -// static data member definitions -// - -// -// constructors and destructor -// -EcalDeadChannelRecoveryProducers::EcalDeadChannelRecoveryProducers(const edm::ParameterSet& ps) -{ - - //now do what ever other initialization is needed - CorrectDeadCells_ = ps.getParameter("CorrectDeadCells"); - CorrectionMethod_ = ps.getParameter("CorrectionMethod"); - hitProducer_ = ps.getParameter("hitProducer"); - hitCollection_ = ps.getParameter("hitCollection"); - reducedHitCollection_ = ps.getParameter("reducedHitCollection"); - DeadChannelFileName_ = ps.getParameter("DeadChannelsFile"); - Sum8GeVThreshold_= ps.getParameter("Sum8GeVThreshold"); - - produces< EcalRecHitCollection >(reducedHitCollection_); -} - - -EcalDeadChannelRecoveryProducers::~EcalDeadChannelRecoveryProducers() -{ - - // do anything here that needs to be done at desctruction time - // (e.g. close files, deallocate resources etc.) - -} - - -// -// member functions -// - -// ------------ method called to produce the data ------------ -void -EcalDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& iSetup) -{ - using namespace edm; - - edm::ESHandle theCaloTopology; - iSetup.get().get(theCaloTopology); - - // get the hit collection from the event: - edm::Handle rhcHandle; - evt.getByLabel(hitProducer_, hitCollection_, rhcHandle); - if (!(rhcHandle.isValid())) - { - std::cout << "could not get a handle on the EcalRecHitCollection!" << std::endl; - return; - } - const EcalRecHitCollection* hit_collection = rhcHandle.product(); - - // create an auto_ptr to a EcalRecHitCollection, copy the RecHits into it and put it in the Event: - std::auto_ptr< EcalRecHitCollection > redCollection(new EcalRecHitCollection); - - EcalDeadChannelRecoveryAlgos *DeadChannelCorrector = new EcalDeadChannelRecoveryAlgos(theCaloTopology.product()); - - //Dead Cells are read from a text file - std::vector::const_iterator DeadCell; - - // - //This should work only if we REMOVE the DC RecHit from the reduced RecHit collection - // - for(EcalRecHitCollection::const_iterator it = hit_collection->begin(); it != hit_collection->end(); ++it) { - std::vector::const_iterator CheckDead = ChannelsDeadID.begin(); - bool OverADeadRecHit=false; - while(CheckDeaddetid()==*CheckDead){OverADeadRecHit=true;break;} - CheckDead++; - } - if(!OverADeadRecHit)redCollection->push_back( *it ); - } - for(DeadCell=ChannelsDeadID.begin();DeadCellCorrect(*DeadCell,hit_collection,CorrectionMethod_,Sum8GeVThreshold_); - redCollection->push_back( NewRecHit ); - } - - - - - delete DeadChannelCorrector ; - - evt.put(redCollection, reducedHitCollection_); - -} - - - -// ------------ method called once each job just before starting event loop ------------ -void -EcalDeadChannelRecoveryProducers::beginJob() -{ - FILE* DeadCha; - printf("Dead Channels FILE: %s\n",DeadChannelFileName_.c_str()); - DeadCha = fopen(DeadChannelFileName_.c_str(),"r"); - - int fileStatus=0; - int ieta=-10000; - int iphi=-10000; - while(fileStatus != EOF) { - fileStatus = fscanf(DeadCha,"%d %d\n",&ieta,&iphi); - // std::cout<<" ieta "< >("dbStatusToBeExcludedEE"); dbStatusToBeExcludedEB_ = ps.getParameter >("dbStatusToBeExcludedEB"); - - tpDigiToken_ = - c.consumes(ps.getParameter("triggerPrimitiveDigiCollection")); + logWarningEtThreshold_EB_FE_ = ps.getParameter("logWarningEtThreshold_EB_FE"); logWarningEtThreshold_EE_FE_ = ps.getParameter("logWarningEtThreshold_EE_FE"); + + tpDigiToken_ = + c.consumes(ps.getParameter("triggerPrimitiveDigiCollection")); } @@ -129,19 +131,22 @@ EcalRecHitWorkerRecover::run( const edm::Event & evt, } if ( flags == EcalRecHitWorkerRecover::EB_single ) { - // recover as single dead channel - const EcalRecHitCollection * hit_collection = &result; - EcalDeadChannelRecoveryAlgos deadChannelCorrector(caloTopology_.product()); - - // channel recovery - EcalRecHit hit = deadChannelCorrector.correct( detId, hit_collection, singleRecoveryMethod_, singleRecoveryThreshold_ ); - if ( hit.energy() != 0 ) { - hit.setFlag( EcalRecHit::kNeighboursRecovered ) ; - } else { - // recovery failed - hit.setFlag( EcalRecHit::kDead ) ; - } - insertRecHit( hit, result ); + + // recover as single dead channel + const EcalRecHitCollection * hit_collection = &result; + EBDeadChannelRecoveryAlgos deadChannelCorrector(caloTopology_.product()); + + // channel recovery. Accepted new RecHit has the flag AcceptRecHit=TRUE + bool AcceptRecHit=true; + EcalRecHit hit = deadChannelCorrector.correct( detId, hit_collection, singleRecoveryMethod_, singleRecoveryThreshold_, &AcceptRecHit); + if ( hit.energy() != 0 and AcceptRecHit == true ) { + hit.setFlag( EcalRecHit::kNeighboursRecovered ) ; + } else { + // recovery failed + hit.setFlag( EcalRecHit::kDead ) ; + } + insertRecHit( hit, result ); + } else if ( flags == EcalRecHitWorkerRecover::EB_VFE ) { // recover as dead VFE EcalRecHit hit( detId, 0., 0.); @@ -193,6 +198,23 @@ EcalRecHitWorkerRecover::run( const edm::Event & evt, } } } + } else if ( flags == EcalRecHitWorkerRecover::EE_single ) { + + // recover as single dead channel + const EcalRecHitCollection * hit_collection = &result; + EEDeadChannelRecoveryAlgos deadChannelCorrector(caloTopology_.product()); + + // channel recovery. Accepted new RecHit has the flag AcceptRecHit=TRUE + bool AcceptRecHit=true; + EcalRecHit hit = deadChannelCorrector.correct( detId, hit_collection, singleRecoveryMethod_, singleRecoveryThreshold_, &AcceptRecHit); + if ( hit.energy() != 0 and AcceptRecHit == true ) { + hit.setFlag( EcalRecHit::kNeighboursRecovered ) ; + } else { + // recovery failed + hit.setFlag( EcalRecHit::kDead ) ; + } + insertRecHit( hit, result ); + } else if ( flags == EcalRecHitWorkerRecover::EE_FE ) { // Structure for recovery: // ** SC --> EEDetId constituents (eeC) --> associated Trigger Towers (aTT) --> EEDetId constituents (aTTC) diff --git a/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py b/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py index 25870eecbac51..cf60d7c864b6a 100644 --- a/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py +++ b/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py @@ -39,8 +39,8 @@ # for channel recovery algoRecover = cms.string("EcalRecHitWorkerRecover"), - recoverEBIsolatedChannels = cms.bool(False), - recoverEEIsolatedChannels = cms.bool(False), + recoverEBIsolatedChannels = cms.bool(True), + recoverEEIsolatedChannels = cms.bool(True), recoverEBVFE = cms.bool(False), recoverEEVFE = cms.bool(False), recoverEBFE = cms.bool(True), From 76be76f4336d84a0d7314209ef35413b53dc7850 Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Thu, 27 Mar 2014 23:48:43 +0100 Subject: [PATCH 02/11] Implemented DeadChannelNNContext. Now moving to file loading. --- .../BuildFile.xml | 1 - .../interface/CorrectEBDeadChannelsNN.h | 42 +++++++++++++ .../interface/CorrectEEDeadChannelsNN.h | 42 +++++++++++++ .../CrystalMatrixProbabilityEB.h} | 5 ++ .../CrystalMatrixProbabilityEE.h} | 5 ++ .../interface/DeadChannelNNContext.h | 36 +++++++++++ .../interface/EBDeadChannelRecoveryAlgos.h | 9 ++- .../interface/EEDeadChannelRecoveryAlgos.h | 8 +-- .../src/CorrectEBDeadChannelsNN.cc | 52 ++++------------ .../src/CorrectEEDeadChannelsNN.cc | 51 ++++------------ .../src/DeadChannelNNContext.cc | 61 +++++++++++++++++++ .../src/EBDeadChannelRecoveryAlgos.cc | 16 ++--- .../src/EEDeadChannelRecoveryAlgos.cc | 16 +++-- .../EBDeadChannelRecoveryProducers.h | 3 + .../EEDeadChannelRecoveryProducers.h | 2 + .../src/EBDeadChannelRecoveryProducers.cc | 10 +-- .../src/EEDeadChannelRecoveryProducers.cc | 9 +-- .../plugins/EcalRecHitWorkerRecover.cc | 14 ++--- .../plugins/EcalRecHitWorkerRecover.h | 7 ++- .../test/plugins/EcalRecHitDump.cc | 51 ++++++++++++++++ 20 files changed, 312 insertions(+), 128 deletions(-) create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h rename RecoLocalCalo/EcalDeadChannelRecoveryAlgos/{src/CrystalMatrixProbabilityEB.cc => interface/CrystalMatrixProbabilityEB.h} (95%) rename RecoLocalCalo/EcalDeadChannelRecoveryAlgos/{src/CrystalMatrixProbabilityEE.cc => interface/CrystalMatrixProbabilityEE.h} (94%) create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc create mode 100644 RecoLocalCalo/EcalRecProducers/test/plugins/EcalRecHitDump.cc diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/BuildFile.xml b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/BuildFile.xml index 45890a1edbc73..d23fd652a2a21 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/BuildFile.xml +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/BuildFile.xml @@ -7,7 +7,6 @@ - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h new file mode 100644 index 0000000000000..d885d4f9938f7 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h @@ -0,0 +1,42 @@ +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CorrectEBDeadChannelsNN_H +#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CorrectEBDeadChannelsNN_H + +// -*- C++ -*- +// +// Package: EcalDeadChannelRecoveryAlgos +// Class: CorrectEBDeadChannelsNN +// +/**\class CorrectEBDeadChannelsNN CorrectEBDeadChannelsNN.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc + + Description: + + Implementation: + + + Return Value: 1) Normal execution returns a positive number ("double"), coresponding to the ANN estimate for the energy of the "dead" cell. + 2) Non-normal execution returns a negative number ("double") with the following meaning: + -1000000.0 Zero DC's were detected + -1000001.0 More than one DC's detected. + -2000000.0 Non-positive (i.e negative or zero) cell energy detected within at least one "live" cell + -3000000.0 Detector region provided was EB but no match with a "dead" cell case was detected + -3000001.0 Detector region provided was EE but no match with a "dead" cell case was detected + To avoid future conflicts the return values have been set to very-high unphysical values +*/ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "CorrectDeadChannelsNN.cc" code +// + +#include +#include +#include +#include +#include + +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" + +double CorrectEBDeadChannelsNN(DeadChannelNNContext &ctx, double *M3x3Input, double epsilon=0.0000001); + +#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h new file mode 100644 index 0000000000000..a8d32e9178059 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h @@ -0,0 +1,42 @@ +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CorrectEEDeadChannelsNN_H +#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CorrectEEDeadChannelsNN_H + +// -*- C++ -*- +// +// Package: EcalDeadChannelRecoveryAlgos +// Class: CorrectEEDeadChannelsNN +// +/**\class CorrectEEDeadChannelsNN CorrectEEDeadChannelsNN.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc + + Description: + + Implementation: + + + Return Value: 1) Normal execution returns a positive number ("double"), coresponding to the ANN estimate for the energy of the "dead" cell. + 2) Non-normal execution returns a negative number ("double") with the following meaning: + -1000000.0 Zero DC's were detected + -1000001.0 More than one DC's detected. + -2000000.0 Non-positive (i.e negative or zero) cell energy detected within at least one "live" cell + -3000000.0 Detector region provided was EB but no match with a "dead" cell case was detected + -3000001.0 Detector region provided was EE but no match with a "dead" cell case was detected + To avoid future conflicts the return values have been set to very-high unphysical values +*/ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "CorrectDeadChannelsNN.cc" code +// + +#include +#include +#include +#include +#include + +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" + +double CorrectEEDeadChannelsNN(DeadChannelNNContext &ctx, double *M3x3Input, double epsilon=0.0000001); + +#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEB.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEB.h similarity index 95% rename from RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEB.cc rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEB.h index ad6606be26b80..57ddbe18953d2 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEB.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEB.h @@ -1,3 +1,6 @@ +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CrystalMatrixProbabilityEB_CC +#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CrystalMatrixProbabilityEB_CC + // // Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) // Created: Mon Feb 04 10:45:16 EET 2013 @@ -67,3 +70,5 @@ double EBReftRight(double x){ return vEBReftRight ; } + +#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEE.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEE.h similarity index 94% rename from RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEE.cc rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEE.h index e0f28b9ab7882..9c89bf51bbab8 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEE.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEE.h @@ -1,3 +1,6 @@ +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CrystalMatrixProbabilityEE_CC +#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CrystalMatrixProbabilityEE_CC + // // Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) // Created: Mon Feb 04 10:45:16 EET 2013 @@ -61,3 +64,5 @@ double EEReftRight(double x){ return vEEReftRight ; } + +#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h new file mode 100644 index 0000000000000..94cffc4eee306 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h @@ -0,0 +1,36 @@ +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_DeadChannelNNContext_H +#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_DeadChannelNNContext_H + +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h" + +#include + +class DeadChannelNNContext { + public: + DeadChannelNNContext(); + ~DeadChannelNNContext(); + + enum NetworkID { + ccEB = 0, ccEE, + rrEB, rrEE, + llEB, llEE, + + uuEB, uuEE, + ddEB, ddEE, + ruEB, ruEE, + + rdEB, rdEE, + luEB, luEE, + ldEB, ldEE, + }; + + double value(NetworkID method, int index, double in0, double in1, double in2, double in3, double in4, double in5, double in6, double in7); + + private: + void load(); + typedef std::function NNFunc3x3; + NNFunc3x3 implementation[18]; +}; + +#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h index 980a947d7271a..80095895bad22 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h @@ -27,21 +27,20 @@ #include "DataFormats/EcalDetId/interface/EBDetId.h" #include +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" class EBDeadChannelRecoveryAlgos { public: - EBDeadChannelRecoveryAlgos(const CaloTopology * theCaloTopology); - + + void setCaloTopology(const CaloTopology *theCaloTopology); EcalRecHit correct(const EBDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut, bool* AccFlag); private: - const CaloTopology * calotopo; double MakeNxNMatrice_RelMC(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelMC, bool* AccFlag); double MakeNxNMatrice_RelDC(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelDC, bool* AccFlag); - // ----------member data --------------------------- - + DeadChannelNNContext nn; }; #endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h index a76e3476ed6bf..cab8e797b9ff2 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h @@ -27,21 +27,19 @@ #include "DataFormats/EcalDetId/interface/EEDetId.h" #include +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" class EEDeadChannelRecoveryAlgos { public: - EEDeadChannelRecoveryAlgos(const CaloTopology * theCaloTopology); - + void setCaloTopology(const CaloTopology *theCaloTopology); EcalRecHit correct(const EEDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut, bool* AccFlag); private: - const CaloTopology * calotopo; double MakeNxNMatrice_RelMC(EEDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelMC, bool* AccFlag); double MakeNxNMatrice_RelDC(EEDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelDC, bool* AccFlag); - // ----------member data --------------------------- - + DeadChannelNNContext nn; }; #endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc index caa1a2d44a260..4637ed52b7921 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc @@ -1,44 +1,16 @@ -// -*- C++ -*- -// -// Package: EcalDeadChannelRecoveryAlgos -// Class: CorrectEBDeadChannelsNN -// -/**\class CorrectEBDeadChannelsNN CorrectEBDeadChannelsNN.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc - - Description: - - Implementation: - - - Return Value: 1) Normal execution returns a positive number ("double"), coresponding to the ANN estimate for the energy of the "dead" cell. - 2) Non-normal execution returns a negative number ("double") with the following meaning: - -1000000.0 Zero DC's were detected - -1000001.0 More than one DC's detected. - -2000000.0 Non-positive (i.e negative or zero) cell energy detected within at least one "live" cell - -3000000.0 Detector region provided was EB but no match with a "dead" cell case was detected - -3000001.0 Detector region provided was EE but no match with a "dead" cell case was detected - To avoid future conflicts the return values have been set to very-high unphysical values -*/ -// -// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) -// Created: Wed Nov 21 11:24:39 EET 2012 -// -// Nov 21 2012: First version of the code. Based on the old "CorrectDeadChannelsNN.cc" code -// - #include #include #include #include #include -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h" using namespace std; -double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { - +double CorrectEBDeadChannelsNN(DeadChannelNNContext &ctx, double *M3x3Input, double epsilon) { double NNResult ; + typedef DeadChannelNNContext::NetworkID NT; // Arrangement within the M3x3Input matrix // @@ -97,7 +69,7 @@ double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - ccNNEB* ccNNObjEB = new ccNNEB(); NNResult = TMath::Exp( ccNNObjEB->Value( 0, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete ccNNObjEB ; + NNResult = TMath::Exp( ctx.value(NT::ccEB, 0, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; M3x3Input[CC] = NNResult ; @@ -107,7 +79,7 @@ double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - rrNNEB* rrNNObjEB = new rrNNEB(); NNResult = TMath::Exp( rrNNObjEB->Value( 0, lnCC, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete rrNNObjEB ; + NNResult = TMath::Exp( ctx.value(NT::rrEB, 0, lnCC, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; M3x3Input[RR] = NNResult ; @@ -117,7 +89,7 @@ double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - llNNEB* llNNObjEB = new llNNEB(); NNResult = TMath::Exp( llNNObjEB->Value( 0, lnCC, lnRR, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete llNNObjEB ; + NNResult = TMath::Exp( ctx.value(NT::llEB, 0, lnCC, lnRR, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; M3x3Input[LL] = NNResult ; @@ -127,7 +99,7 @@ double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - uuNNEB* uuNNObjEB = new uuNNEB(); NNResult = TMath::Exp( uuNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete uuNNObjEB ; + NNResult = TMath::Exp( ctx.value(NT::uuEB, 0, lnCC, lnRR, lnLL, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; M3x3Input[UU] = NNResult ; @@ -137,7 +109,7 @@ double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - ddNNEB* ddNNObjEB = new ddNNEB(); NNResult = TMath::Exp( ddNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnUU, lnRU, lnRD, lnLU, lnLD ) ) ; delete ddNNObjEB ; + NNResult = TMath::Exp( ctx.value(NT::ddEB, 0, lnCC, lnRR, lnLL, lnUU, lnRU, lnRD, lnLU, lnLD ) ) ; M3x3Input[DD] = NNResult ; @@ -147,7 +119,7 @@ double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - ruNNEB* ruNNObjEB = new ruNNEB(); NNResult = TMath::Exp( ruNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRD, lnLU, lnLD ) ) ; delete ruNNObjEB ; + NNResult = TMath::Exp( ctx.value(NT::ruEB, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRD, lnLU, lnLD ) ) ; M3x3Input[RU] = NNResult ; @@ -157,7 +129,7 @@ double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; - rdNNEB* rdNNObjEB = new rdNNEB(); NNResult = TMath::Exp( rdNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnLU, lnLD ) ) ; delete rdNNObjEB ; + NNResult = TMath::Exp( ctx.value(NT::rdEB, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnLU, lnLD ) ) ; M3x3Input[RD] = NNResult ; @@ -167,7 +139,7 @@ double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - luNNEB* luNNObjEB = new luNNEB(); NNResult = TMath::Exp( luNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLD ) ) ; delete luNNObjEB ; + NNResult = TMath::Exp( ctx.value(NT::luEB, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLD ) ) ; M3x3Input[LU] = NNResult ; @@ -177,7 +149,7 @@ double CorrectEBDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - ldNNEB* ldNNObjEB = new ldNNEB(); NNResult = TMath::Exp( ldNNObjEB->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU ) ) ; delete ldNNObjEB ; + NNResult = TMath::Exp( ctx.value(NT::ldEB, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU ) ) ; M3x3Input[LD] = NNResult ; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc index bfafde57fc443..5ffa117a99665 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc @@ -1,44 +1,17 @@ -// -*- C++ -*- -// -// Package: EcalDeadChannelRecoveryAlgos -// Class: CorrectEEDeadChannelsNN -// -/**\class CorrectEEDeadChannelsNN CorrectEEDeadChannelsNN.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc - - Description: - - Implementation: - - - Return Value: 1) Normal execution returns a positive number ("double"), coresponding to the ANN estimate for the energy of the "dead" cell. - 2) Non-normal execution returns a negative number ("double") with the following meaning: - -1000000.0 Zero DC's were detected - -1000001.0 More than one DC's detected. - -2000000.0 Non-positive (i.e negative or zero) cell energy detected within at least one "live" cell - -3000000.0 Detector region provided was EB but no match with a "dead" cell case was detected - -3000001.0 Detector region provided was EE but no match with a "dead" cell case was detected - To avoid future conflicts the return values have been set to very-high unphysical values -*/ -// -// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) -// Created: Wed Nov 21 11:24:39 EET 2012 -// -// Nov 21 2012: First version of the code. Based on the old "CorrectDeadChannelsNN.cc" code -// - #include #include #include #include #include -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h" using namespace std; -double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { +double CorrectEEDeadChannelsNN(DeadChannelNNContext &ctx, double *M3x3Input, double epsilon) { double NNResult ; + typedef DeadChannelNNContext::NetworkID NT; // Arrangement within the M3x3Input matrix // @@ -97,7 +70,7 @@ double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - ccNNEE* ccNNObjEE = new ccNNEE(); NNResult = TMath::Exp( ccNNObjEE->Value( 0, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete ccNNObjEE ; + NNResult = TMath::Exp(ctx.value(NT::ccEE, 0, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; M3x3Input[CC] = NNResult ; @@ -107,7 +80,7 @@ double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - rrNNEE* rrNNObjEE = new rrNNEE(); NNResult = TMath::Exp( rrNNObjEE->Value( 0, lnCC, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete rrNNObjEE ; + NNResult = TMath::Exp(ctx.value(NT::rrEE, 0, lnCC, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; M3x3Input[RR] = NNResult ; @@ -117,7 +90,7 @@ double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - llNNEE* llNNObjEE = new llNNEE(); NNResult = TMath::Exp( llNNObjEE->Value( 0, lnCC, lnRR, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete llNNObjEE ; + NNResult = TMath::Exp(ctx.value(NT::llEE, 0, lnCC, lnRR, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; M3x3Input[LL] = NNResult ; @@ -127,7 +100,7 @@ double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - uuNNEE* uuNNObjEE = new uuNNEE(); NNResult = TMath::Exp( uuNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; delete uuNNObjEE ; + NNResult = TMath::Exp(ctx.value(NT::uuEE, 0, lnCC, lnRR, lnLL, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; M3x3Input[UU] = NNResult ; @@ -137,7 +110,7 @@ double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - ddNNEE* ddNNObjEE = new ddNNEE(); NNResult = TMath::Exp( ddNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnUU, lnRU, lnRD, lnLU, lnLD ) ) ; delete ddNNObjEE ; + NNResult = TMath::Exp(ctx.value(NT::ddEE, 0, lnCC, lnRR, lnLL, lnUU, lnRU, lnRD, lnLU, lnLD ) ) ; M3x3Input[DD] = NNResult ; @@ -147,7 +120,7 @@ double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - ruNNEE* ruNNObjEE = new ruNNEE(); NNResult = TMath::Exp( ruNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRD, lnLU, lnLD ) ) ; delete ruNNObjEE ; + NNResult = TMath::Exp(ctx.value(NT::ruEE, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRD, lnLU, lnLD ) ) ; M3x3Input[RU] = NNResult ; @@ -157,7 +130,7 @@ double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; - rdNNEE* rdNNObjEE = new rdNNEE(); NNResult = TMath::Exp( rdNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnLU, lnLD ) ) ; delete rdNNObjEE ; + NNResult = TMath::Exp(ctx.value(NT::rdEE, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnLU, lnLD ) ) ; M3x3Input[RD] = NNResult ; @@ -167,7 +140,7 @@ double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - luNNEE* luNNObjEE = new luNNEE(); NNResult = TMath::Exp( luNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLD ) ) ; delete luNNObjEE ; + NNResult = TMath::Exp(ctx.value(NT::luEE, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLD ) ) ; M3x3Input[LU] = NNResult ; @@ -177,7 +150,7 @@ double CorrectEEDeadChannelsNN(double *M3x3Input, double epsilon=0.0000001) { lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - ldNNEE* ldNNObjEE = new ldNNEE(); NNResult = TMath::Exp( ldNNObjEE->Value( 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU ) ) ; delete ldNNObjEE ; + NNResult = TMath::Exp(ctx.value(NT::ldEE, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU ) ) ; M3x3Input[LD] = NNResult ; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc new file mode 100644 index 0000000000000..27bdd8a31a2cb --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc @@ -0,0 +1,61 @@ +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" + +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h" + +DeadChannelNNContext::DeadChannelNNContext() { + this->load(); +} + +DeadChannelNNContext::~DeadChannelNNContext() {} + +void DeadChannelNNContext::load() { + ccNNEB* ccNNObjEB = new ccNNEB(); + rrNNEB* rrNNObjEB = new rrNNEB(); + llNNEB* llNNObjEB = new llNNEB(); + uuNNEB* uuNNObjEB = new uuNNEB(); + ddNNEB* ddNNObjEB = new ddNNEB(); + ruNNEB* ruNNObjEB = new ruNNEB(); + rdNNEB* rdNNObjEB = new rdNNEB(); + luNNEB* luNNObjEB = new luNNEB(); + ldNNEB* ldNNObjEB = new ldNNEB(); + + ccNNEE* ccNNObjEE = new ccNNEE(); + rrNNEE* rrNNObjEE = new rrNNEE(); + llNNEE* llNNObjEE = new llNNEE(); + uuNNEE* uuNNObjEE = new uuNNEE(); + ddNNEE* ddNNObjEE = new ddNNEE(); + ruNNEE* ruNNObjEE = new ruNNEE(); + rdNNEE* rdNNObjEE = new rdNNEE(); + luNNEE* luNNObjEE = new luNNEE(); + ldNNEE* ldNNObjEE = new ldNNEE(); + + implementation[NetworkID::ccEB] = [=](double x[8]) -> double { return ccNNObjEB->Value(0, x); }; + implementation[NetworkID::rrEB] = [=](double x[8]) -> double { return rrNNObjEB->Value(0, x); }; + implementation[NetworkID::llEB] = [=](double x[8]) -> double { return llNNObjEB->Value(0, x); }; + implementation[NetworkID::uuEB] = [=](double x[8]) -> double { return uuNNObjEB->Value(0, x); }; + implementation[NetworkID::ddEB] = [=](double x[8]) -> double { return ddNNObjEB->Value(0, x); }; + implementation[NetworkID::ruEB] = [=](double x[8]) -> double { return ruNNObjEB->Value(0, x); }; + implementation[NetworkID::rdEB] = [=](double x[8]) -> double { return rdNNObjEB->Value(0, x); }; + implementation[NetworkID::luEB] = [=](double x[8]) -> double { return luNNObjEB->Value(0, x); }; + implementation[NetworkID::ldEB] = [=](double x[8]) -> double { return ldNNObjEB->Value(0, x); }; + + implementation[NetworkID::ccEE] = [=](double x[8]) -> double { return ccNNObjEE->Value(0, x); }; + implementation[NetworkID::rrEE] = [=](double x[8]) -> double { return rrNNObjEE->Value(0, x); }; + implementation[NetworkID::llEE] = [=](double x[8]) -> double { return llNNObjEE->Value(0, x); }; + implementation[NetworkID::uuEE] = [=](double x[8]) -> double { return uuNNObjEE->Value(0, x); }; + implementation[NetworkID::ddEE] = [=](double x[8]) -> double { return ddNNObjEE->Value(0, x); }; + implementation[NetworkID::ruEE] = [=](double x[8]) -> double { return ruNNObjEE->Value(0, x); }; + implementation[NetworkID::rdEE] = [=](double x[8]) -> double { return rdNNObjEE->Value(0, x); }; + implementation[NetworkID::luEE] = [=](double x[8]) -> double { return luNNObjEE->Value(0, x); }; + implementation[NetworkID::ldEE] = [=](double x[8]) -> double { return ldNNObjEE->Value(0, x); }; + +} + +double DeadChannelNNContext::value(NetworkID method, int index, double in0, double in1, double in2, + double in3, double in4, double in5, double in6, double in7) { + + double vCC[8] = {in0, in1, in2, in3, in4, in5, in6, in7}; + return implementation[method](vCC); +} + + diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc index 37ac44574b2fa..2ad1e694a14d7 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc @@ -40,23 +40,20 @@ #include "DataFormats/EcalDetId/interface/EBDetId.h" #include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEB.cc" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEB.h" #include using namespace cms; using namespace std; - -EBDeadChannelRecoveryAlgos::EBDeadChannelRecoveryAlgos(const CaloTopology * theCaloTopology) +void EBDeadChannelRecoveryAlgos::setCaloTopology(const CaloTopology *theCaloTopology) { // now do what ever initialization is needed calotopo = theCaloTopology; } - - // // member functions // @@ -80,13 +77,15 @@ EcalRecHit EBDeadChannelRecoveryAlgos::correct(const EBDetId Id, const EcalRecHi double sum8_RelMC = MakeNxNMatrice_RelMC(Id,hit_collection,MNxN_RelMC,AcceptFlag); double sum8_RelDC = MakeNxNMatrice_RelDC(Id,hit_collection,MNxN_RelDC,AcceptFlag); + std::cout << "MC: " << sum8_RelMC << " DC: " << sum8_RelDC << std::endl; // Only if "AcceptFlag" is true call the ANN if ( *AcceptFlag ) { if (algo_=="NeuralNetworks") { + std::cout << "hi" << std::endl; if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { - NewEnergy_RelMC = CorrectEBDeadChannelsNN(MNxN_RelMC); - NewEnergy_RelDC = CorrectEBDeadChannelsNN(MNxN_RelDC); + NewEnergy_RelMC = CorrectEBDeadChannelsNN(this->nn, MNxN_RelMC); + NewEnergy_RelDC = CorrectEBDeadChannelsNN(this->nn, MNxN_RelDC); // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. @@ -131,6 +130,7 @@ EcalRecHit EBDeadChannelRecoveryAlgos::correct(const EBDetId Id, const EcalRecHi // Choose 10 as highest possible energy to be assigned to the dead channel under any scenario. uint32_t flag = 0; + std::cout << "New energy: " << NewEnergy << std::endl; if ( NewEnergy > 10.0 * sum8 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } EcalRecHit NewHit(Id,NewEnergy,0, flag); diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc index 96230ccde7af8..8c7b258798560 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc @@ -39,22 +39,20 @@ #include "DataFormats/EcalDetId/interface/EEDetId.h" #include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CrystalMatrixProbabilityEE.cc" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEE.h" #include using namespace cms; using namespace std; -EEDeadChannelRecoveryAlgos::EEDeadChannelRecoveryAlgos(const CaloTopology * theCaloTopology) +void EEDeadChannelRecoveryAlgos::setCaloTopology(const CaloTopology *theCaloTopology) { // now do what ever initialization is needed calotopo = theCaloTopology; } - - // // member functions // @@ -75,16 +73,16 @@ EcalRecHit EEDeadChannelRecoveryAlgos::correct(const EEDetId Id, const EcalRecHi double sum8 = 0.0; - double sum8_RelMC = MakeNxNMatrice_RelMC(Id,hit_collection,MNxN_RelMC,AcceptFlag); - double sum8_RelDC = MakeNxNMatrice_RelDC(Id,hit_collection,MNxN_RelDC,AcceptFlag); + double sum8_RelMC = MakeNxNMatrice_RelMC(Id, hit_collection,MNxN_RelMC,AcceptFlag); + double sum8_RelDC = MakeNxNMatrice_RelDC(Id, hit_collection,MNxN_RelDC,AcceptFlag); // Only if "AcceptFlag" is true call the ANN if ( *AcceptFlag ) { if (algo_=="NeuralNetworks") { if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { - NewEnergy_RelMC = CorrectEEDeadChannelsNN(MNxN_RelMC); - NewEnergy_RelDC = CorrectEEDeadChannelsNN(MNxN_RelDC); + NewEnergy_RelMC = CorrectEEDeadChannelsNN(this->nn, MNxN_RelMC); + NewEnergy_RelDC = CorrectEEDeadChannelsNN(this->nn, MNxN_RelDC); // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h index aeecc8f18ef15..3658b872594bb 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h @@ -20,6 +20,8 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" + // // class decleration // @@ -45,6 +47,7 @@ class EBDeadChannelRecoveryProducers : public edm::EDProducer { bool CorrectDeadCells_; std::string CorrectionMethod_; + EBDeadChannelRecoveryAlgos ebDeadChannelCorrector; }; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h index 9bd12f67096f3..86415639face2 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h @@ -22,6 +22,7 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" // // class decleration // @@ -47,6 +48,7 @@ class EEDeadChannelRecoveryProducers : public edm::EDProducer { bool CorrectDeadCells_; std::string CorrectionMethod_; + EEDeadChannelRecoveryAlgos eeDeadChannelCorrector; }; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc index 7dd483fea6e4d..871aa1de42bcb 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc @@ -32,7 +32,6 @@ #include "DataFormats/EcalDetId/interface/EBDetId.h" #include "RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" #include #include @@ -98,12 +97,11 @@ EBDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& // create an auto_ptr to a EcalRecHitCollection, copy the RecHits into it and put it in the Event: std::auto_ptr< EcalRecHitCollection > redCollection(new EcalRecHitCollection); - - EBDeadChannelRecoveryAlgos *DeadChannelCorrector = new EBDeadChannelRecoveryAlgos(theCaloTopology.product()); + ebDeadChannelCorrector.setCaloTopology(theCaloTopology.product()); // // Double loop over EcalRecHit collection and "dead" cell RecHits. - // If we step into a "dead" cell call "DeadChannelCorrector::correct()" + // If we step into a "dead" cell call "ebDeadChannelCorrector::correct()" // for (EcalRecHitCollection::const_iterator it = hit_collection->begin(); it != hit_collection->end(); ++it) { std::vector::const_iterator CheckDead = ChannelsDeadID.begin(); @@ -112,7 +110,7 @@ EBDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& if (it->detid()==*CheckDead) { OverADeadRecHit=true; bool AcceptRecHit=true; - EcalRecHit NewRecHit = DeadChannelCorrector->correct(it->detid(),hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); + EcalRecHit NewRecHit = ebDeadChannelCorrector.correct(it->detid(),hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); // Accept the new rec hit if the flag is true. if( AcceptRecHit ) { redCollection->push_back( NewRecHit ); } else { redCollection->push_back( *it );} @@ -123,8 +121,6 @@ EBDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& if (!OverADeadRecHit) { redCollection->push_back( *it ) ; } } - delete DeadChannelCorrector ; - evt.put(redCollection, reducedHitCollection_); } diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc index 404d77f4e0e67..7395a19e21602 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc @@ -98,12 +98,11 @@ EEDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& // create an auto_ptr to a EcalRecHitCollection, copy the RecHits into it and put it in the Event: std::auto_ptr< EcalRecHitCollection > redCollection(new EcalRecHitCollection); - - EEDeadChannelRecoveryAlgos *DeadChannelCorrector = new EEDeadChannelRecoveryAlgos(theCaloTopology.product()); + eeDeadChannelCorrector.setCaloTopology(theCaloTopology.product()); // // Double loop over EcalRecHit collection and "dead" cell RecHits. - // If we step into a "dead" cell call "DeadChannelCorrector::correct()" + // If we step into a "dead" cell call "eeDeadChannelCorrector::correct()" // for (EcalRecHitCollection::const_iterator it = hit_collection->begin(); it != hit_collection->end(); ++it) { std::vector::const_iterator CheckDead = ChannelsDeadID.begin(); @@ -112,7 +111,7 @@ EEDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& if (it->detid()==*CheckDead) { OverADeadRecHit=true; bool AcceptRecHit=true; - EcalRecHit NewRecHit = DeadChannelCorrector->correct(it->detid(),hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); + EcalRecHit NewRecHit = eeDeadChannelCorrector.correct(it->detid(),hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); // Accept the new rec hit if the flag is true. if( AcceptRecHit ) { redCollection->push_back( NewRecHit ); } else { redCollection->push_back( *it );} @@ -122,8 +121,6 @@ EEDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& } if (!OverADeadRecHit) { redCollection->push_back( *it ) ; } } - - delete DeadChannelCorrector ; evt.put(redCollection, reducedHitCollection_); } diff --git a/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.cc b/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.cc index be363085489c8..9ff26081d1965 100644 --- a/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.cc +++ b/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.cc @@ -15,9 +15,6 @@ #include "CondFormats/EcalObjects/interface/EcalTimeCalibConstants.h" #include "CalibCalorimetry/EcalLaserCorrection/interface/EcalLaserDbRecord.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" - #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/Framework/interface/EDProducer.h" @@ -134,17 +131,19 @@ EcalRecHitWorkerRecover::run( const edm::Event & evt, // recover as single dead channel const EcalRecHitCollection * hit_collection = &result; - EBDeadChannelRecoveryAlgos deadChannelCorrector(caloTopology_.product()); + ebDeadChannelCorrector.setCaloTopology(caloTopology_.product()); // channel recovery. Accepted new RecHit has the flag AcceptRecHit=TRUE bool AcceptRecHit=true; - EcalRecHit hit = deadChannelCorrector.correct( detId, hit_collection, singleRecoveryMethod_, singleRecoveryThreshold_, &AcceptRecHit); + EcalRecHit hit = ebDeadChannelCorrector.correct( detId, hit_collection, singleRecoveryMethod_, singleRecoveryThreshold_, &AcceptRecHit); + std::cout << "Recovery stuff. EB single " << AcceptRecHit << std::endl; if ( hit.energy() != 0 and AcceptRecHit == true ) { hit.setFlag( EcalRecHit::kNeighboursRecovered ) ; } else { // recovery failed hit.setFlag( EcalRecHit::kDead ) ; } + std::cout << hit << std::endl; insertRecHit( hit, result ); } else if ( flags == EcalRecHitWorkerRecover::EB_VFE ) { @@ -199,14 +198,15 @@ EcalRecHitWorkerRecover::run( const edm::Event & evt, } } } else if ( flags == EcalRecHitWorkerRecover::EE_single ) { + std::cout << "Recovery stuff. EE single" << std::endl; // recover as single dead channel const EcalRecHitCollection * hit_collection = &result; - EEDeadChannelRecoveryAlgos deadChannelCorrector(caloTopology_.product()); + eeDeadChannelCorrector.setCaloTopology(caloTopology_.product()); // channel recovery. Accepted new RecHit has the flag AcceptRecHit=TRUE bool AcceptRecHit=true; - EcalRecHit hit = deadChannelCorrector.correct( detId, hit_collection, singleRecoveryMethod_, singleRecoveryThreshold_, &AcceptRecHit); + EcalRecHit hit = eeDeadChannelCorrector.correct( detId, hit_collection, singleRecoveryMethod_, singleRecoveryThreshold_, &AcceptRecHit); if ( hit.energy() != 0 and AcceptRecHit == true ) { hit.setFlag( EcalRecHit::kNeighboursRecovered ) ; } else { diff --git a/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.h b/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.h index 35e7b91ed22c3..44c775643688d 100644 --- a/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.h +++ b/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.h @@ -25,7 +25,8 @@ #include "CalibCalorimetry/EcalTPGTools/interface/EcalTPGScale.h" #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" - +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" class EcalRecHitWorkerRecover : public EcalRecHitWorkerBaseClass { public: @@ -92,6 +93,10 @@ class EcalRecHitWorkerRecover : public EcalRecHitWorkerBaseClass { std::set recoveredDetIds_EE_; EcalTPGScale tpgscale_; + + EBDeadChannelRecoveryAlgos ebDeadChannelCorrector; + EEDeadChannelRecoveryAlgos eeDeadChannelCorrector; + }; #endif diff --git a/RecoLocalCalo/EcalRecProducers/test/plugins/EcalRecHitDump.cc b/RecoLocalCalo/EcalRecProducers/test/plugins/EcalRecHitDump.cc new file mode 100644 index 0000000000000..2086b9de999d2 --- /dev/null +++ b/RecoLocalCalo/EcalRecProducers/test/plugins/EcalRecHitDump.cc @@ -0,0 +1,51 @@ +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/EDAnalyzer.h" + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" + +#include "FWCore/ParameterSet/interface/ParameterSet.h" + +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" + +#include + +class EcalRecHitDump : public edm::EDAnalyzer { + public: + explicit EcalRecHitDump(const edm::ParameterSet&); + + private: + virtual void beginJob() {} + virtual void analyze(const edm::Event&, const edm::EventSetup&); + virtual void endJob() {} + + private: + edm::EDGetTokenT EBRecHitCollectionT_; + edm::EDGetTokenT EERecHitCollectionT_; +}; + +EcalRecHitDump::EcalRecHitDump(const edm::ParameterSet& iConfig) { + EBRecHitCollectionT_ = + consumes(iConfig.getParameter("EBRecHitCollection")); + EERecHitCollectionT_ = + consumes(iConfig.getParameter("EERecHitCollection")); +} + +void EcalRecHitDump::analyze(const edm::Event& ev, + const edm::EventSetup&) { + + edm::Handle EBRecHits_; + edm::Handle EERecHits_; + + ev.getByToken(EBRecHitCollectionT_, EBRecHits_); + ev.getByToken(EERecHitCollectionT_, EERecHits_); + + for (auto const& h : (*EBRecHits_)) + std::cout << h << std::endl; + + for (auto const& h : (*EERecHits_)) + std::cout << h << std::endl; +} + +DEFINE_FWK_MODULE(EcalRecHitDump); From c55695bbfa76110f0b4af54d44d82783218851c0 Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Fri, 28 Mar 2014 03:28:47 +0100 Subject: [PATCH 03/11] Neural network is now loaded from a file. --- .../BuildFile.xml | 1 + .../data/NNWeights/EB_ccNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EB_ddNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EB_ldNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EB_llNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EB_luNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EB_rdNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EB_rrNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EB_ruNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EB_uuNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EE_ccNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EE_ddNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EE_ldNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EE_llNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EE_luNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EE_rdNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EE_rrNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EE_ruNNWeights.txt | 172 ++++++++++++++++++ .../data/NNWeights/EE_uuNNWeights.txt | 172 ++++++++++++++++++ .../interface/DeadChannelNNContext.h | 71 +++++--- .../src/DeadChannelNNContext.cc | 110 ++++++----- 21 files changed, 3205 insertions(+), 73 deletions(-) create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ccNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ddNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ldNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_llNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_luNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rdNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rrNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ruNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_uuNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ccNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ddNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ldNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_llNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_luNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rdNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rrNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ruNNWeights.txt create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_uuNNWeights.txt diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/BuildFile.xml b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/BuildFile.xml index d23fd652a2a21..72df18a54ebf1 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/BuildFile.xml +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/BuildFile.xml @@ -6,6 +6,7 @@ + diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ccNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ccNNWeights.txt new file mode 100644 index 0000000000000..a8ecffa339427 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ccNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.68616 1.15492 +1.69316 1.14956 +1.49913 1.89563 +1.49442 1.90666 +1.46726 0.3065 +1.50742 0.318454 +1.51455 0.305354 +1.46928 0.31183 +#output normalization +1 0 +#neurons weights +0.0645575 +-0.372183 +0.270108 +-0.253988 +0.312358 +0.0517498 +0.370683 +-0.368609 +-0.539159 +1.51054 +-0.0379268 +0.463642 +-1.54839 +-1.25221 +-0.0674997 +-2.0379 +2.45266 +0.575118 +-0.834104 +-0.69539 +-0.879929 +0.56029 +0.386744 +0.868956 +#synapses weights +-0.0699207 +1.41084 +0.0620302 +0.0458559 +0.535032 +0.522631 +1.0977 +0.623202 +1.58823 +2.37636 +-0.234837 +0.0246192 +-1.50138 +0.0862727 +0.0195872 +-1.47387 +0.795657 +0.276677 +-0.0981622 +0.192442 +0.222694 +1.06613 +0.514147 +0.145554 +0.627626 +0.437069 +0.264892 +0.190372 +-1.01744 +-0.611537 +-0.0684924 +-0.441747 +-0.936029 +0.281874 +-0.559508 +0.333256 +0.898024 +0.700511 +-1.07369 +-0.0370767 +0.464066 +-0.470511 +0.165462 +0.0436253 +-0.565435 +0.386292 +0.468514 +-1.09823 +-0.830445 +-0.856368 +-0.324607 +-0.479792 +-0.310053 +-0.211249 +-0.663044 +-0.891015 +0.380276 +0.496164 +-0.396836 +-0.67967 +0.668008 +-0.598866 +-0.646267 +0.397705 +1.48193 +0.140198 +-0.126392 +-0.202857 +0.457037 +-0.0149029 +-0.200188 +-0.131662 +1.24678 +0.100963 +0.252164 +0.470284 +1.31056 +1.2156 +0.579176 +0.94709 +-0.207301 +0.395181 +0.0484047 +-1.1885 +-0.0594185 +-1.59126 +-0.136816 +-0.647761 +0.974329 +0.237124 +-0.306592 +1.53717 +-0.417984 +-2.71232 +-1.17791 +-1.59499 +-0.572163 +-1.13002 +1.7962 +0.39981 +-0.0395236 +0.94403 +-0.448583 +-2.71095 +-1.14823 +-1.33223 +-0.671872 +-1.26958 +2.30656 +-0.383468 +0.146573 +1.58013 +-0.619888 +0.990389 +-0.785703 +-1.15902 +-0.218559 +-0.805096 +1.00191 +-0.73646 +1.10806 +-0.320801 +0.0299629 +0.160331 +0.333674 +0.6104 +-0.690923 +0.800533 +-0.335794 +-0.00422044 +1.76016 +3.82695 +3.97341 +1.94878 +-1.83486 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ddNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ddNNWeights.txt new file mode 100644 index 0000000000000..46a56e54fdb22 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ddNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.30956 4.13794 +1.68616 1.15492 +1.69316 1.14956 +1.49913 1.89563 +1.46726 0.3065 +1.50742 0.318454 +1.51455 0.305354 +1.46928 0.31183 +#output normalization +1 0 +#neurons weights +0.349804 +0.333833 +-0.0285096 +-0.239895 +-0.309429 +0.493165 +0.474214 +-0.498105 +-2.63524 +1.91074 +-0.128303 +-0.0143879 +1.50607 +1.02996 +0.911485 +1.01528 +-1.78246 +-0.164083 +-1.84156 +-2.55771 +-3.54477 +-1.55382 +1.9974 +-1.41785 +#synapses weights +0.542666 +-0.41876 +0.255798 +-0.242769 +0.13839 +0.565941 +-0.018932 +0.323705 +0.656695 +1.32388 +-2.49611 +-0.0410726 +0.551725 +-1.76628 +-0.287117 +1.74831 +3.05652 +-0.10501 +0.267233 +0.26929 +-0.780574 +-1.55704 +-0.300177 +-1.07422 +0.496764 +0.597019 +0.673857 +0.185765 +0.220123 +1.37324 +0.598104 +1.28393 +1.69539 +-0.403427 +0.565482 +-0.928146 +-0.0268804 +0.0993066 +-0.292285 +-0.42177 +-0.0855238 +-1.21593 +-0.375884 +-0.598447 +-0.0568257 +1.57924 +0.147867 +1.38729 +0.485434 +-0.835655 +0.0218874 +0.848471 +-0.520038 +1.05246 +-0.149156 +-0.583154 +-0.916327 +0.702795 +0.919346 +-0.0825796 +-0.252398 +1.93309 +0.402714 +-0.705064 +0.279067 +2.10666 +-1.93947 +0.275969 +-0.106968 +-0.688045 +-0.668713 +1.05971 +-1.40774 +0.313147 +-0.734327 +0.152364 +0.201345 +-0.450168 +-0.0113884 +2.59905 +0.516919 +0.119394 +-1.4767 +-0.0500033 +0.298463 +2.45755 +0.654612 +0.57596 +-1.65405 +2.42557 +0.502582 +2.8062 +-5.0152 +-0.479722 +0.762427 +0.465059 +1.25011 +0.848167 +-3.38675 +0.890426 +2.11989 +-0.554945 +-0.633086 +0.574811 +0.354028 +-0.156698 +2.36578 +0.196586 +1.56175 +-0.0753345 +1.1924 +0.35832 +-1.20353 +-1.16455 +1.49197 +0.73065 +0.00900645 +0.682976 +0.888089 +2.13105 +-0.612113 +-0.686453 +-2.45879 +-0.257105 +-0.999997 +1.33032 +-0.300316 +-0.902281 +0.0236984 +-0.749823 +2.1077 +3.37063 +4.32082 +2.21584 +-5.43053 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ldNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ldNNWeights.txt new file mode 100644 index 0000000000000..2013b975915b4 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ldNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.30956 4.13794 +1.68616 1.15492 +1.69316 1.14956 +1.49913 1.89563 +1.49442 1.90666 +1.46726 0.3065 +1.50742 0.318454 +1.51455 0.305354 +#output normalization +1 0 +#neurons weights +0.37364 +-0.255299 +-0.207195 +0.335742 +-0.265204 +-0.160666 +-0.270559 +-0.17091 +-0.900178 +2.16276 +0.152496 +-0.320593 +-0.58249 +0.173697 +-1.94555 +0.545632 +-0.563904 +2.57453 +1.03566 +-0.093052 +0.160093 +-0.193108 +-0.780892 +3.54463 +#synapses weights +0.614766 +0.413269 +-1.73024 +0.00373702 +0.106991 +-0.449699 +-0.00781349 +0.339282 +0.0803725 +-0.332201 +-0.0784683 +-0.0932347 +0.990996 +0.456115 +-0.287584 +-0.0594785 +1.15983 +0.710525 +-0.994761 +0.271231 +-0.140435 +-0.688977 +0.106436 +0.390168 +0.257245 +0.258381 +0.33651 +1.93473 +0.00886707 +-0.527713 +0.369871 +0.494573 +-0.888076 +-0.592806 +-1.22797 +-0.220221 +-0.481517 +-0.528706 +-0.902304 +-1.31047 +1.18818 +0.549287 +0.812188 +-0.692576 +0.0828682 +0.301323 +0.259526 +0.337679 +-1.17139 +0.410552 +0.588709 +0.0275081 +0.547308 +-0.0396708 +0.0315642 +0.400394 +-0.606966 +1.26538 +-0.145802 +0.203945 +-0.376903 +0.521134 +-0.0731846 +0.179746 +-0.221377 +0.42709 +-0.35336 +-0.718037 +-0.127489 +-0.662367 +0.365699 +-0.936714 +-1.4265 +-0.460301 +-0.054207 +-0.122564 +-0.0448578 +0.636673 +0.200266 +0.284904 +-0.96263 +5.42215 +-1.06695 +-0.724369 +0.0415235 +-1.11119 +3.29088 +-3.47163 +1.96684 +-5.05257 +0.169895 +-1.03492 +1.0047 +0.541598 +-0.540631 +0.368238 +-0.540273 +1.34685 +-0.429885 +1.91775 +1.12693 +-2.70427 +1.87916 +0.12951 +0.0521041 +-0.480644 +-2.42394 +1.85898 +-0.281259 +3.24442 +-0.661399 +0.69702 +1.11072 +0.36713 +-0.165389 +0.351639 +0.817737 +-0.109831 +-0.545354 +-0.635203 +1.57996 +-1.28325 +-1.39606 +-0.0116294 +-0.373634 +0.015702 +-1.86785 +0.902913 +-0.959895 +2.46191 +-0.0487259 +0.655329 +-4.96624 +4.81781 +-4.50754 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_llNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_llNNWeights.txt new file mode 100644 index 0000000000000..9e11bd49b0991 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_llNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.30956 4.13794 +1.68616 1.15492 +1.49913 1.89563 +1.49442 1.90666 +1.46726 0.3065 +1.50742 0.318454 +1.51455 0.305354 +1.46928 0.31183 +#output normalization +1 0 +#neurons weights +-0.389421 +0.331049 +0.375113 +-0.398008 +-0.12196 +-0.0114601 +0.37962 +-0.0072128 +-0.0926358 +-0.565862 +0.115237 +0.890509 +0.775207 +0.230515 +0.862616 +-0.332968 +0.082267 +-0.304636 +-0.0916165 +-0.443607 +-0.00521054 +-0.446475 +2.12019 +2.9809 +#synapses weights +1.18802 +0.697943 +1.29077 +0.974011 +0.531372 +0.81473 +2.01243 +2.38963 +-0.925515 +0.478754 +-0.187566 +0.794948 +0.174207 +0.30047 +1.05822 +0.192867 +2.4499 +0.382343 +1.60773 +1.90051 +1.52519 +1.13771 +3.64255 +3.49626 +1.23427 +-0.0519786 +0.211897 +0.200567 +-0.23557 +-0.27122 +-0.403843 +-0.44644 +1.95955 +0.227203 +1.08097 +1.31399 +0.807464 +0.5526 +1.54524 +1.25477 +1.00016 +-0.29655 +-1.64098 +0.598756 +-0.255078 +-0.350156 +0.872753 +0.2515 +2.0049 +-0.538494 +0.457742 +0.681461 +-0.64671 +-0.655839 +-0.9445 +-1.16369 +-0.307722 +0.00796732 +-0.182972 +-0.619658 +-0.597408 +-0.0893563 +-1.37406 +-1.96252 +-2.49165 +-1.00368 +-1.71502 +-1.38569 +-0.972498 +-0.694178 +-3.13402 +-4.05429 +0.952673 +0.573276 +0.0479708 +0.290278 +-0.130862 +-0.196606 +-0.94221 +-1.11217 +2.23731 +-4.23388 +0.512447 +1.72921 +2.99858 +3.37404 +-6.86377 +0.238987 +3.94311 +-3.95507 +0.029347 +1.85203 +-0.249941 +1.14122 +-0.0270421 +-0.581733 +-0.693613 +-0.351173 +-0.4098 +0.0447752 +1.47129 +-3.90508 +0.767496 +1.01144 +1.74916 +2.63845 +-6.46134 +0.771541 +3.16939 +-5.83595 +1.43372 +-1.89272 +0.428573 +1.57341 +1.82221 +1.58248 +-3.14869 +-0.0304965 +1.75882 +-2.44213 +0.707172 +0.393115 +-0.0246247 +-5.06829 +-0.0752881 +-0.515807 +1.03079 +-0.35588 +0.37701 +1.99131 +-0.700239 +4.15526 +2.92611 +0.738438 +-7.41024 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_luNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_luNNWeights.txt new file mode 100644 index 0000000000000..a2f160de655c8 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_luNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.30956 4.13794 +1.68616 1.15492 +1.69316 1.14956 +1.49913 1.89563 +1.49442 1.90666 +1.46726 0.3065 +1.50742 0.318454 +1.46928 0.31183 +#output normalization +1 0 +#neurons weights +-0.384578 +-0.360546 +0.428223 +0.297095 +0.189146 +0.375811 +-0.0444054 +-0.171583 +-0.482263 +0.47095 +-0.263786 +-2.45341 +-0.186997 +1.98839 +-1.00701 +-0.560147 +-0.721986 +-0.736728 +0.481603 +0.390999 +-0.566348 +0.577951 +-0.372479 +4.72312 +#synapses weights +0.162147 +0.461803 +-1.37936 +-0.202747 +-0.0631962 +-0.0559553 +-0.328558 +0.20233 +2.65087 +-1.28916 +0.0722316 +0.40294 +0.403065 +0.325961 +-1.24393 +0.0787346 +1.33716 +1.12612 +2.05235 +1.23352 +0.750904 +1.041 +0.647542 +1.34407 +-0.265954 +0.289035 +1.06486 +-1.19126 +-0.03881 +0.233711 +-0.349635 +-0.0842293 +-1.35044 +-0.879086 +-1.33893 +-1.55637 +0.0523866 +-0.793344 +-0.73362 +-0.531828 +1.17694 +0.323671 +-0.781744 +-0.713545 +0.464629 +0.0100201 +0.0764805 +-0.451934 +0.893002 +0.512438 +0.199848 +-0.0643325 +0.0574431 +0.00360423 +-0.758948 +-0.0799728 +-3.16954 +-1.53585 +-4.1974 +-3.48157 +-1.96283 +-2.29231 +-1.23163 +-2.98389 +-1.35246 +0.840469 +-1.29467 +-0.735558 +0.0368447 +0.407403 +-0.414209 +-0.606965 +0.46383 +1.2554 +0.178097 +0.49485 +0.191809 +-0.0236312 +-0.0430808 +1.10224 +-3.072 +1.9901 +-0.337279 +-1.69344 +1.27032 +-1.50811 +4.59316 +-0.19978 +2.61239 +4.132 +-1.53604 +0.946982 +-0.291547 +-1.67342 +-0.206261 +-0.889833 +1.5124 +-0.112377 +-0.15154 +-0.219815 +0.953703 +-0.0869858 +-0.203974 +0.593883 +-0.368326 +0.86465 +-1.45982 +0.0559001 +-1.13586 +-1.47209 +-4.16288 +0.670889 +-1.31031 +-0.339257 +2.24316 +-1.00384 +3.56398 +0.835351 +3.77029 +3.42921 +3.06253 +1.96367 +-0.293902 +1.84213 +0.259737 +2.22645 +-2.77222 +-0.297916 +-0.219784 +-0.502024 +2.88626 +3.92546 +-0.55782 +-0.59229 +-8.44197 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rdNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rdNNWeights.txt new file mode 100644 index 0000000000000..5210f86fa3aa3 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rdNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.30956 4.13794 +1.68616 1.15492 +1.69316 1.14956 +1.49913 1.89563 +1.49442 1.90666 +1.46726 0.3065 +1.51455 0.305354 +1.46928 0.31183 +#output normalization +1 0 +#neurons weights +0.13237 +0.0960208 +-0.137261 +0.193261 +-0.300869 +-0.34829 +0.177684 +-0.13352 +2.42798 +-0.411164 +1.80772 +0.642085 +1.10385 +1.58604 +-0.249532 +0.976559 +-1.43635 +-0.127806 +0.455212 +-0.695286 +-0.580753 +0.49098 +-0.0961925 +1.63819 +#synapses weights +-0.216406 +-0.420975 +-0.56903 +0.170109 +1.72569 +-0.141621 +0.258394 +-0.0122614 +1.14533 +-0.415792 +-0.661272 +0.0745773 +-0.0324746 +0.0664283 +-1.67815 +0.343732 +1.70759 +-0.829353 +0.728579 +0.608541 +-0.991141 +-0.397236 +-0.505365 +0.0697281 +-0.606239 +1.85788 +-0.0541781 +-0.156056 +-0.511695 +-0.0604903 +0.296835 +0.151318 +0.45892 +-0.113319 +-0.0432273 +-1.20745 +-0.414526 +0.388562 +0.581199 +-0.242221 +-1.53883 +-0.0712372 +-0.00473586 +0.202715 +0.403952 +0.306872 +0.256241 +0.203546 +0.749902 +0.186212 +0.641923 +0.0616216 +0.0547814 +0.150325 +-0.037531 +0.00331658 +-0.0260585 +0.243857 +0.556623 +0.786342 +-1.22138 +-0.180283 +-0.557386 +0.194623 +-0.560909 +0.618483 +1.56332 +-0.543328 +-0.183581 +0.7814 +-0.104609 +-0.376717 +-1.3224 +0.05359 +0.682048 +-0.249621 +-0.0417721 +0.099426 +0.417192 +0.23391 +0.0948073 +-1.02893 +-0.509918 +0.867766 +0.664667 +0.659037 +-1.63301 +0.626759 +-0.251753 +1.72268 +0.86684 +-0.228328 +-2.27991 +2.19628 +-1.12465 +-2.69582 +0.388994 +-1.59652 +1.86835 +1.49056 +-0.290069 +-0.803451 +0.00307815 +-0.777897 +-0.291359 +0.501869 +0.991883 +-0.601744 +-0.705386 +-1.02517 +1.05875 +0.0280678 +0.310589 +0.950605 +-0.141197 +-0.781974 +1.51498 +-0.23685 +0.881958 +-0.707959 +-1.16238 +-0.98238 +1.1459 +-1.25397 +1.4953 +1.63361 +-0.665746 +0.569317 +-0.375751 +-0.472168 +-2.71126 +5.31703 +0.943595 +4.36333 +-4.62187 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rrNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rrNNWeights.txt new file mode 100644 index 0000000000000..1caf24edceebe --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rrNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.30956 4.13794 +1.69316 1.14956 +1.49913 1.89563 +1.49442 1.90666 +1.46726 0.3065 +1.50742 0.318454 +1.51455 0.305354 +1.46928 0.31183 +#output normalization +1 0 +#neurons weights +-0.0894376 +-0.296482 +-0.21528 +-0.224649 +-0.321653 +0.175463 +-0.0190546 +0.216841 +1.16126 +0.288451 +0.390796 +-0.706336 +-1.43078 +0.686351 +1.51256 +0.163221 +0.103629 +1.15988 +0.596451 +-0.30359 +0.0520657 +-0.196957 +-0.692853 +-5.05639 +#synapses weights +0.605152 +-0.0922336 +0.149301 +0.0738282 +-0.352642 +0.0919073 +-0.750544 +-0.880366 +1.36946 +2.02988 +0.455045 +0.449721 +-2.14025 +-1.43845 +-0.384525 +-0.370368 +-1.38509 +0.276106 +-0.356619 +-0.0844072 +0.207364 +0.672194 +0.320889 +0.134055 +0.127745 +-0.324372 +0.227847 +0.307894 +-0.718459 +0.513562 +0.140791 +0.177697 +-0.825028 +-0.543806 +1.0514 +0.223959 +-1.47321 +1.05252 +0.195496 +0.184128 +0.720829 +0.724649 +0.995317 +1.3153 +-0.703115 +-1.02371 +0.102528 +0.012124 +-0.20377 +0.174654 +0.00425452 +-0.153449 +0.859321 +0.878773 +-0.393275 +-0.673188 +0.541441 +0.265352 +-1.66637 +-0.211802 +0.570811 +1.19751 +-0.280904 +-0.12274 +4.05102 +-0.875368 +1.21106 +0.0400104 +-2.51356 +-1.47699 +-0.787877 +-0.402396 +-0.0941635 +0.15048 +1.18917 +-1.94427 +-0.783299 +1.74181 +0.0131229 +-0.212452 +-1.31458 +-1.47201 +-2.1513 +0.611078 +-0.932359 +-0.271423 +1.84772 +0.0107637 +0.161287 +0.544009 +-1.58107 +-0.50392 +-0.850074 +1.62414 +0.379895 +-0.421928 +1.94032 +0.40022 +-0.381851 +-0.213928 +-0.875178 +0.763808 +-2.06516 +2.18368 +-0.676228 +0.936987 +1.28271 +0.279625 +0.277457 +0.203106 +-0.448124 +-0.367835 +-0.670159 +0.927953 +-0.04733 +-0.508311 +0.804349 +0.480625 +0.187565 +-0.588078 +-1.98538 +-2.25635 +0.363142 +0.689364 +-2.41042 +-0.94643 +-0.166018 +1.13809 +-2.84646 +2.69381 +2.7719 +3.24816 +4.16451 +1.17779 +3.92439 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ruNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ruNNWeights.txt new file mode 100644 index 0000000000000..2402b9dc57aed --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ruNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.30956 4.13794 +1.68616 1.15492 +1.69316 1.14956 +1.49913 1.89563 +1.49442 1.90666 +1.50742 0.318454 +1.51455 0.305354 +1.46928 0.31183 +#output normalization +1 0 +#neurons weights +-0.487254 +0.0327601 +-0.0610587 +-0.382189 +-0.150268 +0.0514546 +-0.45483 +-0.225942 +1.45945 +2.06722 +-0.660232 +-0.124235 +1.07315 +-0.607245 +0.389523 +-2.57324 +-1.05451 +0.758507 +-0.2328 +0.0236358 +0.155914 +-0.295368 +0.132164 +-2.06837 +#synapses weights +-0.0701012 +-0.66992 +-0.640978 +1.0476 +-0.211549 +0.604938 +-0.48798 +0.379182 +-1.1129 +-0.682829 +-0.341504 +0.49885 +0.812563 +0.346436 +0.112762 +-0.00576687 +0.905371 +-0.081892 +-1.43722 +0.822035 +0.0800306 +-0.25427 +-0.147545 +-0.713625 +-0.0268293 +0.136042 +-0.152346 +-0.0287884 +0.120797 +-0.63162 +1.03652 +0.725806 +0.259529 +-0.096735 +-1.03728 +-0.130331 +-0.665413 +-0.0465597 +0.125835 +0.903114 +-0.493811 +0.104356 +-0.57549 +-0.0153415 +0.0543057 +-0.549977 +-0.461156 +0.0203922 +0.234716 +0.651407 +-0.214669 +-0.160465 +0.0914841 +-0.74246 +0.583625 +0.198533 +-1.40039 +0.724146 +-0.179277 +1.00082 +-0.468151 +0.551447 +-0.236782 +0.378075 +0.35642 +-1.68175 +0.779485 +0.371443 +0.162279 +0.24014 +-0.283817 +-0.482751 +-0.762919 +0.18839 +-0.829236 +0.463294 +-0.169371 +0.171274 +-0.195367 +0.276946 +0.89148 +-1.36244 +1.21674 +0.396925 +-1.70521 +-0.232645 +0.674072 +1.33276 +-1.47118 +-1.54233 +1.01373 +-0.704411 +0.465801 +-0.566637 +-0.699478 +-0.39378 +0.895162 +0.890616 +-0.417674 +-0.425274 +0.916152 +-0.55573 +0.523426 +-0.803919 +-0.730321 +-0.496462 +0.818055 +1.25811 +-0.496195 +-0.769757 +-1.67636 +-0.0178184 +0.0371507 +0.104829 +1.10022 +0.300674 +-1.27645 +-0.661545 +0.600524 +1.10324 +0.342316 +-0.856519 +0.525865 +0.121581 +-1.23787 +-0.166805 +-0.190686 +0.687436 +-0.671269 +-1.17779 +4.14555 +3.50214 +4.58479 +-3.61183 +0.901646 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_uuNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_uuNNWeights.txt new file mode 100644 index 0000000000000..49baebcb31e10 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_uuNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.30956 4.13794 +1.68616 1.15492 +1.69316 1.14956 +1.49442 1.90666 +1.46726 0.3065 +1.50742 0.318454 +1.51455 0.305354 +1.46928 0.31183 +#output normalization +1 0 +#neurons weights +0.326972 +0.41698 +0.274841 +-0.45904 +0.382485 +-0.240182 +-0.178245 +-0.0619688 +-3.46668 +-0.216712 +-1.25069 +0.164265 +1.20615 +-1.00109 +-1.43638 +1.30954 +-0.75568 +0.349564 +-2.54272 +-1.6243 +-2.41565 +1.3051 +-0.872798 +-0.827423 +#synapses weights +1.44277 +-0.602439 +-0.664344 +0.259659 +0.521977 +-0.139725 +0.462369 +-0.144491 +-0.690881 +3.00857 +0.584154 +-0.443833 +-1.12004 +0.385117 +0.828344 +0.0518985 +2.46324 +-1.27957 +1.52325 +0.324036 +-0.772301 +-0.288646 +-1.59626 +-0.333816 +-0.775788 +-0.33891 +0.413686 +-0.103716 +2.59851 +-0.0130854 +-0.428691 +-0.0479283 +-2.37794 +-1.41136 +2.07387 +-0.30988 +1.91446 +-0.220708 +-0.809622 +1.13641 +2.03498 +1.50096 +-0.0779476 +-1.07668 +-1.85923 +-1.04043 +0.36375 +-0.367085 +-0.727066 +-1.0188 +0.468547 +-0.405341 +1.12725 +-0.0173553 +-1.04423 +0.532221 +2.09286 +-0.466192 +0.37012 +-0.436637 +0.0712444 +-0.309679 +-1.06154 +0.0765883 +0.668865 +-0.60273 +0.283323 +0.0257678 +0.519152 +-0.260405 +-0.0699433 +0.405117 +-2.56026 +-0.0943651 +-0.228386 +-0.199914 +0.472089 +0.374635 +2.80952 +0.0236235 +1.80182 +0.452891 +-1.64631 +-1.19492 +1.45913 +0.370735 +-2.74557 +1.27757 +0.113696 +1.2331 +3.08306 +-2.61474 +-1.11434 +1.99314 +0.197835 +-0.142996 +-0.816864 +2.032 +0.89448 +1.29876 +0.414836 +0.191323 +-3.98714 +0.447498 +2.68837 +-1.63414 +-1.59613 +1.4858 +-0.59188 +0.696164 +-0.544148 +-0.835737 +-1.91574 +-0.57913 +1.35325 +0.215738 +1.04704 +-0.289321 +-0.204792 +0.0657331 +2.17066 +0.508575 +0.374617 +2.54452 +1.03871 +1.66025 +-0.749529 +0.516512 +0.492925 +1.1131 +3.22095 +3.08946 +3.36558 +-4.11024 +2.09935 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ccNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ccNNWeights.txt new file mode 100644 index 0000000000000..f38b43be9840d --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ccNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.40003 2.40353 +1.41004 2.41121 +1.40629 2.42657 +1.40466 2.42619 +1.28698 1.33856 +1.28879 1.33177 +1.29347 1.33367 +1.29317 1.34123 +#output normalization +1 0 +#neurons weights +-0.220457 +-0.347025 +-0.499397 +-0.187597 +0.258836 +-0.16621 +-0.475502 +0.0996641 +1.45018 +0.513263 +-0.424002 +-3.93277 +-0.770492 +0.50899 +-2.4899 +-1.0127 +-1.4571 +0.71886 +-4.01118 +-2.05647 +-1.37802 +0.267395 +-1.92227 +1.45162 +#synapses weights +1.71165 +1.54118 +-0.726711 +-1.5899 +-0.704007 +0.154605 +0.189555 +-0.282059 +-1.80849 +-0.573659 +0.604474 +0.964384 +0.0577964 +0.0857454 +0.243587 +0.162777 +0.268058 +2.06646 +-0.372554 +-0.861342 +-0.755119 +0.322542 +0.13772 +-0.366595 +0.979019 +0.670766 +-3.34411 +-0.264608 +0.650668 +-0.233652 +0.312077 +0.27134 +0.777705 +0.0741502 +-0.83739 +-0.055425 +0.170293 +0.0117798 +0.308031 +0.403181 +-0.264386 +1.32561 +-0.489181 +0.655156 +-0.377223 +0.505918 +0.256939 +-1.1697 +-0.961581 +0.941952 +0.0325193 +-0.569454 +0.887025 +-0.53192 +-0.612533 +0.515826 +-0.228631 +0.117628 +0.767413 +0.172603 +0.0917384 +0.245461 +0.0541929 +0.163008 +-0.564364 +-0.162665 +-0.110124 +-0.00196696 +-0.459567 +0.86846 +0.989158 +-0.979802 +0.936438 +0.580903 +-0.522228 +-1.61368 +0.6777 +-0.385456 +-0.0587413 +0.117251 +2.17389 +2.18535 +-1.15272 +-3.18652 +-0.668958 +1.1318 +-3.22956 +0.639365 +-2.57762 +1.2187 +0.924918 +-0.235074 +-0.554771 +-1.45049 +0.670977 +1.09232 +-0.882513 +0.933392 +-1.07881 +0.231102 +0.278011 +0.611001 +-0.288964 +0.543014 +1.78693 +0.724617 +-0.163241 +1.36038 +-0.541271 +0.250387 +0.333114 +-0.379421 +0.229684 +-0.232456 +-0.583428 +-0.377764 +-1.1476 +-0.576983 +-0.375297 +0.0778199 +-0.177098 +0.208895 +-0.539107 +-0.844427 +1.73929 +1.19979 +0.350089 +1.25415 +-0.387113 +0.61157 +4.82065 +2.0913 +2.28334 +-1.85272 +2.63883 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ddNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ddNNWeights.txt new file mode 100644 index 0000000000000..8d5a6eb22a42c --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ddNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.1492 4.99102 +1.40003 2.40353 +1.41004 2.41121 +1.40629 2.42657 +1.28698 1.33856 +1.28879 1.33177 +1.29347 1.33367 +1.29317 1.34123 +#output normalization +1 0 +#neurons weights +-0.434129 +0.0669814 +-0.380387 +-0.139634 +-0.0807183 +-0.450651 +-0.345243 +0.189619 +1.05719 +-1.37516 +0.753304 +-1.4179 +1.67886 +0.142783 +-1.49169 +-0.0621605 +0.517246 +0.63036 +0.536046 +0.28105 +0.253693 +0.558697 +-2.24623 +-2.15788 +#synapses weights +-1.58825 +-1.10229 +-0.565096 +0.122835 +-0.105586 +3.72349 +0.517663 +-0.0567961 +0.394706 +0.342424 +0.436855 +-0.294598 +0.492127 +0.00187448 +-0.377788 +-0.349046 +-0.197605 +-0.373985 +-0.0505447 +-0.246537 +0.140793 +0.411811 +-0.209583 +-0.453906 +1.64781 +0.921551 +0.941424 +1.15033 +0.978414 +1.03646 +0.992893 +1.07173 +-0.487263 +-0.415371 +-0.179726 +1.23975 +-0.218843 +0.239369 +-0.584394 +0.198253 +0.740868 +-0.217136 +0.561292 +0.114271 +0.381374 +-0.466769 +0.405474 +-1.04062 +-0.402604 +0.220286 +0.331519 +-0.646217 +0.198439 +-0.70732 +-0.584387 +2.29453 +-1.93044 +-2.45384 +-0.423168 +0.126811 +0.46297 +2.33621 +-0.0213368 +1.38537 +-0.53831 +0.329635 +-0.795528 +0.387663 +0.0506177 +-0.619213 +-0.00450464 +1.74116 +1.39179 +-1.33156 +0.412971 +-0.100225 +-0.155398 +0.898231 +-0.238382 +-1.06072 +0.914963 +1.44698 +-0.928438 +0.470698 +-0.69716 +-0.57454 +0.438625 +-0.170681 +1.08005 +0.711833 +0.647346 +2.39181 +-1.55821 +-0.215333 +-0.366795 +0.215596 +-0.572009 +-1.12707 +0.874066 +1.09344 +-0.283404 +0.0407104 +-0.714295 +-0.168094 +-2.60967 +-1.08998 +1.00207 +0.792278 +0.718949 +2.36826 +0.478507 +0.13425 +0.281792 +0.769649 +0.893873 +0.401025 +-0.726698 +0.377856 +-0.0124937 +0.413426 +0.910933 +1.12521 +-1.36901 +0.494542 +-0.775266 +-2.12784 +-2.08337 +1.98218 +2.82563 +0.404478 +2.06702 +3.65618 +3.54663 +-1.53354 +4.25567 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ldNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ldNNWeights.txt new file mode 100644 index 0000000000000..1ff2d21c6202a --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ldNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.1492 4.99102 +1.40003 2.40353 +1.41004 2.41121 +1.40629 2.42657 +1.40466 2.42619 +1.28698 1.33856 +1.28879 1.33177 +1.29347 1.33367 +#output normalization +1 0 +#neurons weights +-0.399729 +0.0166478 +0.341221 +0.376557 +0.186979 +0.00804616 +-0.243021 +-0.156036 +-1.56243 +0.277395 +-2.09409 +-0.665299 +-0.112128 +0.0424555 +0.783657 +-0.327327 +2.23142 +2.37996 +-0.959941 +-0.0545535 +0.108088 +-0.0100983 +-0.534084 +-1.46932 +#synapses weights +1.46564 +0.428584 +0.582542 +-0.787778 +-1.76293 +0.173838 +-0.902033 +-0.089348 +1.41247 +-0.042349 +-0.7785 +-0.210301 +-1.17315 +-0.195878 +1.3596 +1.28309 +1.15124 +-0.0668577 +0.408767 +-0.383822 +-0.350844 +-0.658633 +0.253153 +0.450355 +0.533386 +-0.0825323 +-0.690911 +0.216972 +0.753513 +0.0971258 +0.355891 +0.62749 +2.40699 +-1.59664 +-0.865839 +-1.03403 +-0.0327801 +-0.883803 +0.919519 +1.463 +-0.0746568 +-0.332818 +-1.35063 +0.183133 +0.134358 +-0.491049 +1.64453 +0.67541 +0.434697 +-0.360692 +0.217958 +0.0690149 +1.07911 +0.461768 +-0.778333 +-1.37221 +-0.885185 +-0.146735 +1.0352 +0.00272632 +0.761924 +0.0672013 +-0.640816 +-0.691704 +-0.384238 +0.397007 +-0.39839 +-0.00745285 +-0.413446 +-0.243978 +-0.500086 +-0.178044 +-0.323586 +0.501998 +1.51388 +-0.879529 +-0.805979 +-0.461876 +0.0814574 +0.690482 +-0.92281 +-1.65121 +1.7076 +0.799588 +-1.21932 +-0.265466 +1.20421 +0.585932 +-1.8946 +1.08486 +0.764949 +-1.77857 +-1.44957 +-1.41676 +-0.458544 +0.528898 +-0.750037 +-0.764525 +0.371361 +-0.399181 +-0.376096 +0.137658 +0.298105 +0.105747 +-0.738776 +-0.216621 +0.522074 +-0.133003 +-0.116397 +0.643543 +-0.684852 +0.556556 +1.16285 +1.13189 +-1.5021 +-0.509703 +0.980433 +0.240291 +-1.16458 +0.598338 +-1.05336 +0.897677 +2.32913 +0.837162 +0.0385715 +-1.22258 +0.946005 +1.22504 +-1.85501 +1.77983 +4.10013 +-3.6466 +-0.333399 +1.42134 +3.14812 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_llNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_llNNWeights.txt new file mode 100644 index 0000000000000..efc6b8c3c3208 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_llNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.1492 4.99102 +1.40003 2.40353 +1.40629 2.42657 +1.40466 2.42619 +1.28698 1.33856 +1.28879 1.33177 +1.29347 1.33367 +1.29317 1.34123 +#output normalization +1 0 +#neurons weights +0.310518 +-0.0427677 +0.438828 +-0.487306 +-0.47286 +-0.436314 +-0.0723872 +0.269227 +0.900227 +-0.566678 +0.272189 +-0.907915 +-1.00744 +0.396889 +-1.18242 +0.882358 +1.01806 +0.855648 +-1.64745 +0.502623 +1.05585 +0.709421 +-0.51613 +-1.55835 +#synapses weights +0.972565 +-0.186841 +-0.675938 +0.921684 +-0.0250039 +-0.0829526 +0.641632 +-1.18715 +1.73331 +-0.556065 +0.501218 +1.02699 +-0.523322 +0.0387328 +0.270953 +-3.38283 +0.429829 +-0.215613 +-2.95853 +-0.0254754 +0.408803 +-0.229918 +2.08506 +-0.0131537 +0.746666 +-1.13844 +-0.20628 +0.689589 +0.0139899 +-1.07008 +-0.451243 +1.71738 +-1.69868 +-0.76067 +-0.269277 +-0.77228 +0.13292 +-0.0801225 +1.50998 +1.75937 +0.632788 +0.144782 +0.558561 +-1.76916 +-0.409269 +0.00840235 +-0.796708 +1.4515 +1.22116 +-0.489883 +-0.730029 +-1.37951 +1.18109 +0.71902 +-0.0593575 +-0.127015 +-0.531685 +0.458726 +-0.00391746 +0.116965 +-0.903644 +0.129238 +0.0490041 +0.105892 +-1.65312 +0.376034 +-1.08633 +-0.43458 +-0.339381 +0.326537 +3.81688 +-0.15933 +-0.303486 +0.176229 +-0.651793 +-0.109911 +0.204654 +-0.444645 +0.323009 +-0.32932 +0.307842 +-2.10435 +1.29426 +-1.9263 +0.498768 +1.94302 +-1.51854 +-1.5205 +1.4293 +-0.0628727 +-0.936375 +-1.01656 +-0.94244 +0.648178 +-0.215294 +-0.0498091 +-0.346044 +2.10931 +-0.534627 +0.378392 +2.48796 +-1.0624 +-1.35455 +1.03804 +-0.328661 +1.41886 +-0.705526 +-0.536636 +0.702937 +-1.11388 +0.970495 +-1.02329 +-0.535743 +0.184999 +-0.0849754 +1.382 +-0.210058 +-0.341471 +-0.142899 +-1.38485 +0.831022 +0.340431 +0.894314 +0.644547 +1.17724 +-0.0303256 +-1.17792 +-0.662309 +-0.295636 +-2.16503 +3.71847 +-2.82565 +3.13229 +2.1016 +4.08793 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_luNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_luNNWeights.txt new file mode 100644 index 0000000000000..4bc3fb69bff2a --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_luNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.1492 4.99102 +1.40003 2.40353 +1.41004 2.41121 +1.40629 2.42657 +1.40466 2.42619 +1.28698 1.33856 +1.28879 1.33177 +1.29317 1.34123 +#output normalization +1 0 +#neurons weights +0.0561973 +-0.21693 +0.431686 +0.00364602 +0.169068 +0.00565401 +0.102342 +-0.43469 +1.882 +1.23049 +0.649317 +-0.288646 +1.72265 +0.45399 +1.79327 +-1.3481 +2.24534 +-1.10491 +0.086249 +0.536111 +1.05668 +0.63205 +0.23401 +-1.22764 +#synapses weights +-0.92939 +0.320184 +0.932357 +-0.374119 +-0.384557 +0.753054 +-0.36931 +0.984306 +0.990952 +0.323254 +0.242277 +0.1361 +0.19794 +0.200274 +-0.177756 +0.210928 +0.663276 +0.198227 +-0.526768 +-0.59923 +0.152005 +0.419226 +-0.106808 +0.340483 +-1.26401 +-0.435347 +-0.0244965 +-0.726778 +-0.0550666 +-0.274861 +-0.723293 +-1.18553 +-1.09586 +0.60971 +-0.31137 +-0.711958 +0.487486 +0.0659214 +0.157566 +0.172181 +0.535937 +-0.0465596 +0.643086 +1.17476 +0.288662 +-0.641959 +0.537438 +-2.73611 +-0.366689 +-0.183007 +-0.380738 +-0.00161081 +-0.18148 +-0.557646 +0.042859 +-0.349465 +1.49823 +-1.15228 +0.381668 +0.363835 +-1.34539 +0.563932 +-0.418145 +0.480876 +-0.606071 +-1.29562 +-1.32919 +2.38038 +1.1447 +0.428176 +-0.0504862 +-0.429001 +-0.516443 +-0.156578 +-1.24439 +-0.0514229 +0.443304 +1.62769 +-0.374873 +0.560535 +0.767992 +0.50302 +-0.472644 +0.806902 +-1.81099 +-0.458441 +-1.38208 +-0.310336 +-0.324322 +0.0540683 +0.786979 +1.0236 +-0.8535 +-0.215959 +-0.854814 +-0.108652 +-0.943531 +0.509758 +0.0385086 +0.296752 +0.600361 +2.23698 +-1.06472 +0.0920412 +-0.834027 +0.75298 +-0.396142 +0.892455 +0.968262 +-0.709875 +-2.51911 +1.31583 +2.66054 +1.22613 +-0.0846529 +-1.80604 +1.2746 +3.04159 +-2.38866 +2.92037 +0.467129 +0.933566 +-0.411388 +-0.254523 +-1.34352 +0.155716 +-0.833839 +0.113311 +-0.465655 +0.0637556 +3.50251 +2.51474 +2.96117 +-3.30225 +2.72949 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rdNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rdNNWeights.txt new file mode 100644 index 0000000000000..ce5b7e7cea798 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rdNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.1492 4.99102 +1.40003 2.40353 +1.41004 2.41121 +1.40629 2.42657 +1.40466 2.42619 +1.28698 1.33856 +1.29347 1.33367 +1.29317 1.34123 +#output normalization +1 0 +#neurons weights +-0.258515 +0.144237 +0.058844 +-0.153764 +0.35101 +-0.44518 +0.395851 +-0.0976609 +0.825175 +2.54534 +2.28817 +-0.815879 +-1.58742 +1.38619 +0.892159 +0.996943 +-0.282028 +1.65324 +0.239174 +0.843606 +-0.0990648 +-0.896219 +-0.436962 +-1.43615 +#synapses weights +1.00654 +-0.782609 +0.0940371 +0.262207 +-0.589799 +0.336342 +-0.00159879 +0.510516 +-0.839079 +0.113118 +0.283235 +-0.0827286 +-0.673746 +-0.160767 +1.17374 +-0.451086 +-1.78628 +3.14715 +1.2482 +-1.06716 +-0.920541 +0.611627 +0.0321043 +-0.424328 +-0.934525 +0.227701 +-0.145405 +-0.202652 +0.0565631 +-0.414642 +-0.018005 +-0.513357 +0.336392 +0.326511 +0.0746277 +0.0145317 +0.181203 +-0.0232318 +0.401596 +0.301376 +-0.24831 +-0.709084 +-0.498667 +0.417819 +0.255772 +0.652771 +-0.791629 +0.908048 +0.924764 +0.683953 +-0.0863026 +-0.619365 +0.15908 +-0.532884 +0.658398 +-1.49995 +-0.174238 +-0.073891 +-0.455685 +0.505203 +1.64713 +-1.3679 +0.281 +-0.179998 +1.21172 +-0.153712 +-0.677341 +-0.723119 +-0.0591842 +0.923111 +-1.03907 +0.706416 +-0.228062 +-0.864466 +0.0626024 +0.287105 +0.0330635 +-0.305153 +0.21622 +-0.19366 +-0.127884 +-1.04592 +-0.199728 +-0.00266199 +0.74619 +0.115496 +0.582991 +0.619113 +-0.627176 +-0.768379 +0.266785 +-1.03515 +-0.364548 +-1.10946 +0.631055 +0.719271 +1.00781 +-0.160315 +-0.25212 +-0.704644 +-1.80907 +-0.751556 +1.10668 +-1.35127 +0.815284 +1.85946 +0.0871906 +1.30664 +1.14415 +-0.52077 +-1.95843 +-0.838962 +1.49395 +0.022963 +0.038856 +-0.257157 +1.54999 +2.12141 +-2.59816 +-1.38224 +0.189974 +0.481018 +-0.0162486 +0.941632 +-1.21962 +-0.509644 +-0.308659 +0.61483 +0.715472 +0.422625 +1.95961 +2.21297 +3.56681 +3.34891 +-3.23415 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rrNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rrNNWeights.txt new file mode 100644 index 0000000000000..19577015aee78 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rrNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.1492 4.99102 +1.41004 2.41121 +1.40629 2.42657 +1.40466 2.42619 +1.28698 1.33856 +1.28879 1.33177 +1.29347 1.33367 +1.29317 1.34123 +#output normalization +1 0 +#neurons weights +0.351169 +0.229239 +-0.360041 +0.210442 +-0.470483 +0.0237827 +-0.25972 +0.303392 +0.653896 +0.707726 +-0.441893 +-0.634536 +0.53862 +-1.38965 +-2.69757 +0.552602 +-0.289258 +0.0539445 +0.422267 +-0.298858 +0.87923 +-1.51041 +-3.09485 +3.93219 +#synapses weights +0.719572 +-0.0692008 +-1.18787 +0.707363 +1.16964 +-1.01254 +0.129117 +-0.166791 +-0.529282 +0.732823 +-0.361648 +-0.610316 +0.188769 +0.542069 +-0.600285 +-0.0701344 +1.54523 +-0.498099 +-0.726753 +-0.842911 +-0.469895 +-0.377609 +0.813695 +0.636629 +1.65108 +-0.190199 +0.982778 +0.711544 +-3.26145 +0.162657 +-0.089699 +-0.851981 +0.772435 +0.152775 +0.723079 +-0.917971 +-1.09432 +0.928471 +-0.358788 +-0.0812723 +0.374882 +-1.11654 +0.847504 +0.602074 +-0.28634 +-0.371769 +-0.900869 +1.50983 +0.370821 +1.07235 +-0.367159 +-0.68921 +1.15195 +1.46823 +0.0745679 +-0.00508042 +-1.81515 +0.478004 +-0.609589 +-1.08779 +-0.318204 +3.54867 +0.79003 +0.0066591 +-0.603721 +-0.0150205 +0.0899062 +-2.32862 +0.392175 +2.26292 +-0.117487 +0.0187756 +0.0326351 +0.0883082 +-2.62164 +-0.626323 +1.77677 +0.771757 +0.0133546 +-0.108335 +-1.46721 +1.19058 +-0.719918 +-0.0205937 +-1.98777 +-0.0982577 +-1.46517 +0.113774 +0.045319 +0.421127 +-0.974081 +-0.351462 +-0.342592 +0.225037 +-0.192674 +-0.82117 +-0.175556 +0.0352347 +0.155098 +0.465587 +-1.93436 +1.73157 +1.47908 +1.01792 +-2.70061 +-0.351462 +0.330296 +-0.941561 +-0.0761283 +-0.32878 +0.700144 +-0.962227 +-2.48208 +-1.33986 +-1.63243 +0.559641 +-0.537616 +1.76524 +2.37791 +1.21161 +0.775653 +-2.31679 +-0.314825 +0.281125 +1.0574 +0.183422 +0.923959 +-0.495954 +1.13259 +1.30696 +-3.12656 +-1.07836 +-4.12287 +2.16816 +4.26021 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ruNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ruNNWeights.txt new file mode 100644 index 0000000000000..3b4258893b709 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ruNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.1492 4.99102 +1.40003 2.40353 +1.41004 2.41121 +1.40629 2.42657 +1.40466 2.42619 +1.28879 1.33177 +1.29347 1.33367 +1.29317 1.34123 +#output normalization +1 0 +#neurons weights +-0.100036 +0.0995771 +-0.0831665 +-0.0670158 +0.413384 +0.352707 +0.46145 +-0.0702236 +-0.739082 +-0.228431 +-2.50648 +2.40472 +-2.81377 +0.360115 +-1.41676 +0.979543 +2.28198 +-2.40913 +0.0880209 +0.645116 +0.00539517 +0.810706 +-0.83505 +0.0469036 +#synapses weights +-1.47017 +0.300555 +-0.153933 +0.287892 +0.0337064 +0.235817 +0.123549 +-0.124928 +0.274245 +-1.08182 +-0.82647 +-1.00043 +0.143352 +0.345801 +2.88779 +-0.550332 +1.06424 +-2.4593 +-0.716967 +0.821676 +0.888099 +-0.430376 +-0.0471971 +0.214872 +-0.175604 +-0.391058 +-0.0195448 +-0.409259 +-0.290356 +0.0849884 +-0.286946 +0.0658396 +1.86726 +0.673606 +1.28299 +-3.07066 +-1.19893 +0.0879598 +-1.15324 +0.282287 +-0.798174 +-0.23108 +-0.0903257 +-0.330533 +0.0800251 +-0.0635542 +-0.0161712 +-0.270878 +1.50949 +0.0766836 +-1.30968 +0.193006 +-1.36285 +0.951778 +0.71593 +-0.586066 +1.28256 +0.534974 +-0.443663 +0.850094 +-0.180367 +-2.35516 +-0.806304 +0.573719 +1.13865 +0.327888 +0.0724785 +0.382394 +-0.00753103 +-0.190601 +-0.234588 +-0.00238543 +0.859022 +0.239251 +-0.627504 +0.230238 +-0.417699 +0.0416927 +0.320059 +-0.367003 +0.182052 +-0.139437 +-0.598619 +-1.35137 +-0.272138 +-1.22362 +0.34401 +-0.533939 +0.477494 +1.42208 +0.0972746 +1.17598 +-0.752091 +-0.744279 +-0.120409 +-0.209274 +1.09003 +0.333017 +2.06864 +1.36074 +0.383234 +0.722152 +0.993275 +-0.812513 +0.429425 +-1.53475 +-0.122715 +-0.938325 +1.7371 +2.06163 +0.454973 +-1.40592 +-1.58567 +-0.880453 +-0.359768 +-0.733199 +0.688791 +0.6616 +0.878811 +1.86126 +-1.51421 +1.22434 +1.51179 +1.54355 +1.36086 +0.500821 +1.77085 +-1.79602 +1.15052 +-1.15544 +1.74873 +2.23277 +3.82441 +1.89862 +-5.32595 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_uuNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_uuNNWeights.txt new file mode 100644 index 0000000000000..841c36319d3f8 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_uuNNWeights.txt @@ -0,0 +1,172 @@ +#input normalization +1.1492 4.99102 +1.40003 2.40353 +1.41004 2.41121 +1.40466 2.42619 +1.28698 1.33856 +1.28879 1.33177 +1.29347 1.33367 +1.29317 1.34123 +#output normalization +1 0 +#neurons weights +-0.48591 +-0.103505 +0.354908 +0.432118 +0.251325 +-0.101147 +-0.333994 +-0.389726 +0.132124 +-1.56833 +2.47862 +-0.411867 +-0.466911 +1.76238 +0.269915 +-1.28328 +0.991379 +-0.40117 +-2.43098 +-0.49089 +-1.40155 +0.856813 +-2.19246 +1.19185 +#synapses weights +-1.62498 +-1.12984 +-1.65077 +1.10939 +-0.662375 +0.722792 +2.60651 +0.205855 +0.867588 +0.986362 +0.215262 +-0.367279 +-1.55761 +-0.685611 +0.331329 +0.810081 +1.3436 +0.733122 +-0.413899 +0.705015 +-0.95841 +-0.2698 +0.00991537 +-0.176317 +0.605556 +-0.0700405 +0.643331 +0.0630598 +0.649561 +0.157865 +-0.780671 +-0.252903 +-0.913091 +-0.177423 +2.24212 +0.458241 +0.57807 +-0.0153282 +-1.62724 +-0.128059 +0.307401 +-0.0846233 +-0.796274 +1.84915 +-0.293791 +-0.535142 +0.282696 +-0.43494 +0.641573 +-2.2047 +0.411344 +-0.259468 +1.80947 +0.0964665 +-0.646553 +-0.194568 +-0.865571 +0.308825 +0.0972404 +0.747192 +0.259783 +0.262404 +1.1773 +0.0180551 +-1.36178 +0.469672 +-0.517745 +0.132974 +-0.203739 +-0.44837 +2.97524 +-0.316517 +1.82517 +0.414161 +0.251126 +-0.507721 +-2.57603 +0.286574 +-0.149589 +0.0424992 +-0.728981 +-0.217835 +2.14288 +0.843815 +-1.88617 +-1.95356 +0.139252 +1.47315 +0.554027 +0.17062 +0.448036 +-0.254115 +-0.00580066 +-1.69415 +0.854384 +0.979013 +-0.992856 +-0.753223 +-2.07683 +0.716962 +0.475778 +0.272449 +1.24325 +1.14387 +-1.03597 +-0.808608 +-0.67539 +1.19305 +0.303352 +1.16241 +-0.398235 +-1.07879 +-1.88175 +-1.7548 +-0.585679 +0.328479 +-1.09065 +1.3457 +1.02988 +1.23338 +1.19672 +0.632228 +-0.546108 +-0.471203 +-1.06115 +-0.790267 +2.03872 +0.339001 +2.30874 +-2.70062 +3.61326 +-2.48462 +3.14274 +-4.10291 +3.40931 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h index 94cffc4eee306..6393a6b603356 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h @@ -1,36 +1,55 @@ #ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_DeadChannelNNContext_H #define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_DeadChannelNNContext_H -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h" +#include +#include #include class DeadChannelNNContext { - public: - DeadChannelNNContext(); - ~DeadChannelNNContext(); - - enum NetworkID { - ccEB = 0, ccEE, - rrEB, rrEE, - llEB, llEE, - - uuEB, uuEE, - ddEB, ddEE, - ruEB, ruEE, - - rdEB, rdEE, - luEB, luEE, - ldEB, ldEE, - }; - - double value(NetworkID method, int index, double in0, double in1, double in2, double in3, double in4, double in5, double in6, double in7); - - private: - void load(); - typedef std::function NNFunc3x3; - NNFunc3x3 implementation[18]; + public: + DeadChannelNNContext(); + ~DeadChannelNNContext(); + + enum NetworkID { + ccEB = 0, + ccEE, + rrEB, + rrEE, + llEB, + llEE, + + uuEB, + uuEE, + ddEB, + ddEE, + ruEB, + ruEE, + + rdEB, + rdEE, + luEB, + luEE, + ldEB, + ldEE, + + lastID + }; + + double value(NetworkID method, int index, double in0, double in1, double in2, + double in3, double in4, double in5, double in6, double in7); + + private: + void load(); + void load_file(NetworkID id, std::string fn); + + struct MultiLayerPerceptronContext { + Double_t tmp[9]; + TTree *tree; + TMultiLayerPerceptron *mlp; + }; + + MultiLayerPerceptronContext ctx[lastID]; }; #endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc index 27bdd8a31a2cb..24b17dca22495 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc @@ -1,61 +1,77 @@ #include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" +#include "FWCore/ParameterSet/interface/FileInPath.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h" +#include DeadChannelNNContext::DeadChannelNNContext() { - this->load(); + for (int id = 0; id < NetworkID::lastID; ++id) { + ctx[id].mlp = NULL; + } } -DeadChannelNNContext::~DeadChannelNNContext() {} +DeadChannelNNContext::~DeadChannelNNContext() { + for (int id = 0; id < NetworkID::lastID; ++id) { + if (ctx[id].mlp) { + // @TODO segfaults for an uknown reason + // delete ctx[id].mlp; + // delete ctx[id].tree; + } + } +} -void DeadChannelNNContext::load() { - ccNNEB* ccNNObjEB = new ccNNEB(); - rrNNEB* rrNNObjEB = new rrNNEB(); - llNNEB* llNNObjEB = new llNNEB(); - uuNNEB* uuNNObjEB = new uuNNEB(); - ddNNEB* ddNNObjEB = new ddNNEB(); - ruNNEB* ruNNObjEB = new ruNNEB(); - rdNNEB* rdNNObjEB = new rdNNEB(); - luNNEB* luNNObjEB = new luNNEB(); - ldNNEB* ldNNObjEB = new ldNNEB(); - - ccNNEE* ccNNObjEE = new ccNNEE(); - rrNNEE* rrNNObjEE = new rrNNEE(); - llNNEE* llNNObjEE = new llNNEE(); - uuNNEE* uuNNObjEE = new uuNNEE(); - ddNNEE* ddNNObjEE = new ddNNEE(); - ruNNEE* ruNNObjEE = new ruNNEE(); - rdNNEE* rdNNObjEE = new rdNNEE(); - luNNEE* luNNObjEE = new luNNEE(); - ldNNEE* ldNNObjEE = new ldNNEE(); - - implementation[NetworkID::ccEB] = [=](double x[8]) -> double { return ccNNObjEB->Value(0, x); }; - implementation[NetworkID::rrEB] = [=](double x[8]) -> double { return rrNNObjEB->Value(0, x); }; - implementation[NetworkID::llEB] = [=](double x[8]) -> double { return llNNObjEB->Value(0, x); }; - implementation[NetworkID::uuEB] = [=](double x[8]) -> double { return uuNNObjEB->Value(0, x); }; - implementation[NetworkID::ddEB] = [=](double x[8]) -> double { return ddNNObjEB->Value(0, x); }; - implementation[NetworkID::ruEB] = [=](double x[8]) -> double { return ruNNObjEB->Value(0, x); }; - implementation[NetworkID::rdEB] = [=](double x[8]) -> double { return rdNNObjEB->Value(0, x); }; - implementation[NetworkID::luEB] = [=](double x[8]) -> double { return luNNObjEB->Value(0, x); }; - implementation[NetworkID::ldEB] = [=](double x[8]) -> double { return ldNNObjEB->Value(0, x); }; - - implementation[NetworkID::ccEE] = [=](double x[8]) -> double { return ccNNObjEE->Value(0, x); }; - implementation[NetworkID::rrEE] = [=](double x[8]) -> double { return rrNNObjEE->Value(0, x); }; - implementation[NetworkID::llEE] = [=](double x[8]) -> double { return llNNObjEE->Value(0, x); }; - implementation[NetworkID::uuEE] = [=](double x[8]) -> double { return uuNNObjEE->Value(0, x); }; - implementation[NetworkID::ddEE] = [=](double x[8]) -> double { return ddNNObjEE->Value(0, x); }; - implementation[NetworkID::ruEE] = [=](double x[8]) -> double { return ruNNObjEE->Value(0, x); }; - implementation[NetworkID::rdEE] = [=](double x[8]) -> double { return rdNNObjEE->Value(0, x); }; - implementation[NetworkID::luEE] = [=](double x[8]) -> double { return luNNObjEE->Value(0, x); }; - implementation[NetworkID::ldEE] = [=](double x[8]) -> double { return ldNNObjEE->Value(0, x); }; +void DeadChannelNNContext::load_file(NetworkID id, std::string fn) { + std::string path = edm::FileInPath(fn).fullPath(); + + TTree *t = new TTree("t", "dummy MLP tree"); + t->SetDirectory(0); + + t->Branch("z1", &(ctx[id].tmp[0]), "z1/D"); + t->Branch("z2", &(ctx[id].tmp[1]), "z2/D"); + t->Branch("z3", &(ctx[id].tmp[2]), "z3/D"); + t->Branch("z4", &(ctx[id].tmp[3]), "z4/D"); + t->Branch("z5", &(ctx[id].tmp[4]), "z5/D"); + t->Branch("z6", &(ctx[id].tmp[5]), "z6/D"); + t->Branch("z7", &(ctx[id].tmp[6]), "z7/D"); + t->Branch("z8", &(ctx[id].tmp[7]), "z8/D"); + t->Branch("zf", &(ctx[id].tmp[8]), "zf/D"); + ctx[id].tree = t; + ctx[id].mlp = + new TMultiLayerPerceptron("@z1,@z2,@z3,@z4,@z5,@z6,@z7,@z8:10:5:zf", t); + ctx[id].mlp->LoadWeights(path.c_str()); } -double DeadChannelNNContext::value(NetworkID method, int index, double in0, double in1, double in2, - double in3, double in4, double in5, double in6, double in7) { +void DeadChannelNNContext::load() { + std::string p = "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/"; + + this->load_file(NetworkID::ccEB, p + "EB_ccNNWeights.txt"); + this->load_file(NetworkID::rrEB, p + "EB_rrNNWeights.txt"); + this->load_file(NetworkID::llEB, p + "EB_llNNWeights.txt"); + this->load_file(NetworkID::uuEB, p + "EB_uuNNWeights.txt"); + this->load_file(NetworkID::ddEB, p + "EB_ddNNWeights.txt"); + this->load_file(NetworkID::ruEB, p + "EB_ruNNWeights.txt"); + this->load_file(NetworkID::rdEB, p + "EB_rdNNWeights.txt"); + this->load_file(NetworkID::luEB, p + "EB_luNNWeights.txt"); + this->load_file(NetworkID::ldEB, p + "EB_ldNNWeights.txt"); - double vCC[8] = {in0, in1, in2, in3, in4, in5, in6, in7}; - return implementation[method](vCC); + this->load_file(NetworkID::ccEE, p + "EE_ccNNWeights.txt"); + this->load_file(NetworkID::rrEE, p + "EE_rrNNWeights.txt"); + this->load_file(NetworkID::llEE, p + "EE_llNNWeights.txt"); + this->load_file(NetworkID::uuEE, p + "EE_uuNNWeights.txt"); + this->load_file(NetworkID::ddEE, p + "EE_ddNNWeights.txt"); + this->load_file(NetworkID::ruEE, p + "EE_ruNNWeights.txt"); + this->load_file(NetworkID::rdEE, p + "EE_rdNNWeights.txt"); + this->load_file(NetworkID::luEE, p + "EE_luNNWeights.txt"); + this->load_file(NetworkID::ldEE, p + "EE_ldNNWeights.txt"); } +double DeadChannelNNContext::value(NetworkID method, int index, double in0, + double in1, double in2, double in3, + double in4, double in5, double in6, + double in7) { + if (!ctx[method].mlp) this->load(); + + double vCC[8] = { in0, in1, in2, in3, in4, in5, in6, in7 }; + return ctx[method].mlp->Evaluate(0, vCC); +} From 99653032e433bcd1fcce3e225d54cd62163b4ccb Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Fri, 28 Mar 2014 05:52:16 +0100 Subject: [PATCH 04/11] Some minor refactoring. --- .../interface/CorrectEBDeadChannelsNN.h | 42 - .../interface/CorrectEEDeadChannelsNN.h | 42 - .../interface/DeadChannelNNContext.h | 53 +- .../interface/xyNNEB.h | 1730 ---- .../interface/xyNNEE.h | 1719 ---- .../src/CorrectEBDeadChannelsNN.cc | 162 - .../src/CorrectEEDeadChannelsNN.cc | 163 - .../src/DeadChannelNNContext.cc | 133 +- .../src/EBDeadChannelRecoveryAlgos.cc | 5 +- .../src/EEDeadChannelRecoveryAlgos.cc | 6 +- .../src/xyNNEB.cc | 8120 ----------------- .../src/xyNNEE.cc | 8113 ---------------- 12 files changed, 116 insertions(+), 20172 deletions(-) delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEB.cc delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEE.cc diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h deleted file mode 100644 index d885d4f9938f7..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CorrectEBDeadChannelsNN_H -#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CorrectEBDeadChannelsNN_H - -// -*- C++ -*- -// -// Package: EcalDeadChannelRecoveryAlgos -// Class: CorrectEBDeadChannelsNN -// -/**\class CorrectEBDeadChannelsNN CorrectEBDeadChannelsNN.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc - - Description: - - Implementation: - - - Return Value: 1) Normal execution returns a positive number ("double"), coresponding to the ANN estimate for the energy of the "dead" cell. - 2) Non-normal execution returns a negative number ("double") with the following meaning: - -1000000.0 Zero DC's were detected - -1000001.0 More than one DC's detected. - -2000000.0 Non-positive (i.e negative or zero) cell energy detected within at least one "live" cell - -3000000.0 Detector region provided was EB but no match with a "dead" cell case was detected - -3000001.0 Detector region provided was EE but no match with a "dead" cell case was detected - To avoid future conflicts the return values have been set to very-high unphysical values -*/ -// -// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) -// Created: Wed Nov 21 11:24:39 EET 2012 -// -// Nov 21 2012: First version of the code. Based on the old "CorrectDeadChannelsNN.cc" code -// - -#include -#include -#include -#include -#include - -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" - -double CorrectEBDeadChannelsNN(DeadChannelNNContext &ctx, double *M3x3Input, double epsilon=0.0000001); - -#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h deleted file mode 100644 index a8d32e9178059..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CorrectEEDeadChannelsNN_H -#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CorrectEEDeadChannelsNN_H - -// -*- C++ -*- -// -// Package: EcalDeadChannelRecoveryAlgos -// Class: CorrectEEDeadChannelsNN -// -/**\class CorrectEEDeadChannelsNN CorrectEEDeadChannelsNN.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc - - Description: - - Implementation: - - - Return Value: 1) Normal execution returns a positive number ("double"), coresponding to the ANN estimate for the energy of the "dead" cell. - 2) Non-normal execution returns a negative number ("double") with the following meaning: - -1000000.0 Zero DC's were detected - -1000001.0 More than one DC's detected. - -2000000.0 Non-positive (i.e negative or zero) cell energy detected within at least one "live" cell - -3000000.0 Detector region provided was EB but no match with a "dead" cell case was detected - -3000001.0 Detector region provided was EE but no match with a "dead" cell case was detected - To avoid future conflicts the return values have been set to very-high unphysical values -*/ -// -// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) -// Created: Wed Nov 21 11:24:39 EET 2012 -// -// Nov 21 2012: First version of the code. Based on the old "CorrectDeadChannelsNN.cc" code -// - -#include -#include -#include -#include -#include - -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" - -double CorrectEEDeadChannelsNN(DeadChannelNNContext &ctx, double *M3x3Input, double epsilon=0.0000001); - -#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h index 6393a6b603356..5e34578e9788f 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h @@ -7,49 +7,42 @@ #include class DeadChannelNNContext { + // Arrangement within the M3x3Input matrix + // + // M3x3 + // ----------------------------------- + // + // + // LU UU RU 04 01 07 + // LL CC RR or 03 00 06 + // LD DD RD 05 02 08 + public: DeadChannelNNContext(); ~DeadChannelNNContext(); - enum NetworkID { - ccEB = 0, - ccEE, - rrEB, - rrEE, - llEB, - llEE, - - uuEB, - uuEE, - ddEB, - ddEE, - ruEB, - ruEE, - - rdEB, - rdEE, - luEB, - luEE, - ldEB, - ldEE, - - lastID - }; + // Enumeration to switch from custom names within the 3x3 matrix. + enum CellID { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 }; - double value(NetworkID method, int index, double in0, double in1, double in2, - double in3, double in4, double in5, double in6, double in7); + // Double value_ee(CellID missing, Double_t inputs[8]); + // Double value_eb(CellID missing, Double_t inputs[8]); - private: - void load(); - void load_file(NetworkID id, std::string fn); + double estimateEnergyEB(double *M3x3Input, double epsilon=0.0000001); + double estimateEnergyEE(double *M3x3Input, double epsilon=0.0000001); + private: struct MultiLayerPerceptronContext { Double_t tmp[9]; TTree *tree; TMultiLayerPerceptron *mlp; }; - MultiLayerPerceptronContext ctx[lastID]; + MultiLayerPerceptronContext ctx_eb[9]; + MultiLayerPerceptronContext ctx_ee[9]; + + void load(); + void load_file(MultiLayerPerceptronContext& ctx, std::string fn); + double estimateEnergy(MultiLayerPerceptronContext *ctx, double *M3x3Input, double epsilon); }; #endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h deleted file mode 100644 index 5fab25c76fd56..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h +++ /dev/null @@ -1,1730 +0,0 @@ -#ifndef xyNNEB_h -#define xyNNEB_h - -class ccNNEB { - -public: - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x60567d0(); - double neuron0x6056b10(); - double neuron0x6056e50(); - double neuron0x6057190(); - double neuron0x60574d0(); - double neuron0x6057810(); - double neuron0x6057b50(); - double neuron0x6057e90(); - double input0x6058300(); - double neuron0x6058300(); - double input0x6058730(); - double neuron0x6058730(); - double input0x6058c70(); - double neuron0x6058c70(); - double input0x6059240(); - double neuron0x6059240(); - double input0x6059780(); - double neuron0x6059780(); - double input0x6059b00(); - double neuron0x6059b00(); - double input0x605a040(); - double neuron0x605a040(); - double input0x605a580(); - double neuron0x605a580(); - double input0x605aac0(); - double neuron0x605aac0(); - double input0x605b320(); - double neuron0x605b320(); - double input0x605b7d0(); - double neuron0x605b7d0(); - double input0x605bd90(); - double neuron0x605bd90(); - double input0x605c350(); - double neuron0x605c350(); - double input0x605c910(); - double neuron0x605c910(); - double input0x605ced0(); - double neuron0x605ced0(); - double input0x605af50(); - double neuron0x605af50(); - double synapse0x5fb71d0(); - double synapse0x605f3d0(); - double synapse0x60585b0(); - double synapse0x60585f0(); - double synapse0x6058630(); - double synapse0x6058670(); - double synapse0x60586b0(); - double synapse0x60586f0(); - double synapse0x6058a70(); - double synapse0x6058ab0(); - double synapse0x6058af0(); - double synapse0x6058b30(); - double synapse0x6058b70(); - double synapse0x6058bb0(); - double synapse0x6058bf0(); - double synapse0x6058c30(); - double synapse0x6058fb0(); - double synapse0x58b5e90(); - double synapse0x58b5ed0(); - double synapse0x6059100(); - double synapse0x6059140(); - double synapse0x6059180(); - double synapse0x60591c0(); - double synapse0x6059200(); - double synapse0x6059580(); - double synapse0x60595c0(); - double synapse0x6059600(); - double synapse0x6059640(); - double synapse0x6059680(); - double synapse0x60596c0(); - double synapse0x6059700(); - double synapse0x6059740(); - double synapse0x6059ac0(); - double synapse0x6056700(); - double synapse0x605f410(); - double synapse0x58b49d0(); - double synapse0x6058ff0(); - double synapse0x6059030(); - double synapse0x6059070(); - double synapse0x60590b0(); - double synapse0x6059e40(); - double synapse0x6059e80(); - double synapse0x6059ec0(); - double synapse0x6059f00(); - double synapse0x6059f40(); - double synapse0x6059f80(); - double synapse0x6059fc0(); - double synapse0x605a000(); - double synapse0x605a380(); - double synapse0x605a3c0(); - double synapse0x605a400(); - double synapse0x605a440(); - double synapse0x605a480(); - double synapse0x605a4c0(); - double synapse0x605a500(); - double synapse0x605a540(); - double synapse0x605a8c0(); - double synapse0x605a900(); - double synapse0x605a940(); - double synapse0x605a980(); - double synapse0x605a9c0(); - double synapse0x605aa00(); - double synapse0x605aa40(); - double synapse0x605aa80(); - double synapse0x57a3df0(); - double synapse0x57a3e30(); - double synapse0x58cf7a0(); - double synapse0x58cf7e0(); - double synapse0x58cf820(); - double synapse0x58cf860(); - double synapse0x58cf8a0(); - double synapse0x58cf8e0(); - double synapse0x605b5d0(); - double synapse0x605b610(); - double synapse0x605b650(); - double synapse0x605b690(); - double synapse0x605b6d0(); - double synapse0x605b710(); - double synapse0x605b750(); - double synapse0x605b790(); - double synapse0x605bb10(); - double synapse0x605bb50(); - double synapse0x605bb90(); - double synapse0x605bbd0(); - double synapse0x605bc10(); - double synapse0x605bc50(); - double synapse0x605bc90(); - double synapse0x605bcd0(); - double synapse0x605bd10(); - double synapse0x605bd50(); - double synapse0x605c0d0(); - double synapse0x605c110(); - double synapse0x605c150(); - double synapse0x605c190(); - double synapse0x605c1d0(); - double synapse0x605c210(); - double synapse0x605c250(); - double synapse0x605c290(); - double synapse0x605c2d0(); - double synapse0x605c310(); - double synapse0x605c690(); - double synapse0x605c6d0(); - double synapse0x605c710(); - double synapse0x605c750(); - double synapse0x605c790(); - double synapse0x605c7d0(); - double synapse0x605c810(); - double synapse0x605c850(); - double synapse0x605c890(); - double synapse0x605c8d0(); - double synapse0x605cc50(); - double synapse0x605cc90(); - double synapse0x605ccd0(); - double synapse0x605cd10(); - double synapse0x605cd50(); - double synapse0x605cd90(); - double synapse0x605cdd0(); - double synapse0x605ce10(); - double synapse0x605ce50(); - double synapse0x605ce90(); - double synapse0x605d210(); - double synapse0x605d250(); - double synapse0x605d290(); - double synapse0x605d2d0(); - double synapse0x605d310(); - double synapse0x605d350(); - double synapse0x605d390(); - double synapse0x605d3d0(); - double synapse0x605d410(); - double synapse0x605af10(); - double synapse0x605b290(); - double synapse0x605b2d0(); - double synapse0x60581d0(); - double synapse0x6058210(); - double synapse0x6058250(); -}; - - -class ddNNEB { -public: - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x4a46790(); - double neuron0x4a46ad0(); - double neuron0x4a46e10(); - double neuron0x4a47150(); - double neuron0x4a47490(); - double neuron0x4a477d0(); - double neuron0x4a47b10(); - double neuron0x4a47e50(); - double input0x4a482c0(); - double neuron0x4a482c0(); - double input0x4a486f0(); - double neuron0x4a486f0(); - double input0x4a48c30(); - double neuron0x4a48c30(); - double input0x4a49200(); - double neuron0x4a49200(); - double input0x4a49740(); - double neuron0x4a49740(); - double input0x4a49ac0(); - double neuron0x4a49ac0(); - double input0x4a4a000(); - double neuron0x4a4a000(); - double input0x4a4a540(); - double neuron0x4a4a540(); - double input0x4a4aa80(); - double neuron0x4a4aa80(); - double input0x4a4b2e0(); - double neuron0x4a4b2e0(); - double input0x4a4b790(); - double neuron0x4a4b790(); - double input0x4a4bd50(); - double neuron0x4a4bd50(); - double input0x4a4c310(); - double neuron0x4a4c310(); - double input0x4a4c8d0(); - double neuron0x4a4c8d0(); - double input0x4a4ce90(); - double neuron0x4a4ce90(); - double input0x4a4af10(); - double neuron0x4a4af10(); - double synapse0x49a7190(); - double synapse0x4a4f390(); - double synapse0x4a48570(); - double synapse0x4a485b0(); - double synapse0x4a485f0(); - double synapse0x4a48630(); - double synapse0x4a48670(); - double synapse0x4a486b0(); - double synapse0x4a48a30(); - double synapse0x4a48a70(); - double synapse0x4a48ab0(); - double synapse0x4a48af0(); - double synapse0x4a48b30(); - double synapse0x4a48b70(); - double synapse0x4a48bb0(); - double synapse0x4a48bf0(); - double synapse0x4a48f70(); - double synapse0x42a5e50(); - double synapse0x42a5e90(); - double synapse0x4a490c0(); - double synapse0x4a49100(); - double synapse0x4a49140(); - double synapse0x4a49180(); - double synapse0x4a491c0(); - double synapse0x4a49540(); - double synapse0x4a49580(); - double synapse0x4a495c0(); - double synapse0x4a49600(); - double synapse0x4a49640(); - double synapse0x4a49680(); - double synapse0x4a496c0(); - double synapse0x4a49700(); - double synapse0x4a49a80(); - double synapse0x4a466c0(); - double synapse0x4a4f3d0(); - double synapse0x42a4990(); - double synapse0x4a48fb0(); - double synapse0x4a48ff0(); - double synapse0x4a49030(); - double synapse0x4a49070(); - double synapse0x4a49e00(); - double synapse0x4a49e40(); - double synapse0x4a49e80(); - double synapse0x4a49ec0(); - double synapse0x4a49f00(); - double synapse0x4a49f40(); - double synapse0x4a49f80(); - double synapse0x4a49fc0(); - double synapse0x4a4a340(); - double synapse0x4a4a380(); - double synapse0x4a4a3c0(); - double synapse0x4a4a400(); - double synapse0x4a4a440(); - double synapse0x4a4a480(); - double synapse0x4a4a4c0(); - double synapse0x4a4a500(); - double synapse0x4a4a880(); - double synapse0x4a4a8c0(); - double synapse0x4a4a900(); - double synapse0x4a4a940(); - double synapse0x4a4a980(); - double synapse0x4a4a9c0(); - double synapse0x4a4aa00(); - double synapse0x4a4aa40(); - double synapse0x4193db0(); - double synapse0x4193df0(); - double synapse0x42bf760(); - double synapse0x42bf7a0(); - double synapse0x42bf7e0(); - double synapse0x42bf820(); - double synapse0x42bf860(); - double synapse0x42bf8a0(); - double synapse0x4a4b590(); - double synapse0x4a4b5d0(); - double synapse0x4a4b610(); - double synapse0x4a4b650(); - double synapse0x4a4b690(); - double synapse0x4a4b6d0(); - double synapse0x4a4b710(); - double synapse0x4a4b750(); - double synapse0x4a4bad0(); - double synapse0x4a4bb10(); - double synapse0x4a4bb50(); - double synapse0x4a4bb90(); - double synapse0x4a4bbd0(); - double synapse0x4a4bc10(); - double synapse0x4a4bc50(); - double synapse0x4a4bc90(); - double synapse0x4a4bcd0(); - double synapse0x4a4bd10(); - double synapse0x4a4c090(); - double synapse0x4a4c0d0(); - double synapse0x4a4c110(); - double synapse0x4a4c150(); - double synapse0x4a4c190(); - double synapse0x4a4c1d0(); - double synapse0x4a4c210(); - double synapse0x4a4c250(); - double synapse0x4a4c290(); - double synapse0x4a4c2d0(); - double synapse0x4a4c650(); - double synapse0x4a4c690(); - double synapse0x4a4c6d0(); - double synapse0x4a4c710(); - double synapse0x4a4c750(); - double synapse0x4a4c790(); - double synapse0x4a4c7d0(); - double synapse0x4a4c810(); - double synapse0x4a4c850(); - double synapse0x4a4c890(); - double synapse0x4a4cc10(); - double synapse0x4a4cc50(); - double synapse0x4a4cc90(); - double synapse0x4a4ccd0(); - double synapse0x4a4cd10(); - double synapse0x4a4cd50(); - double synapse0x4a4cd90(); - double synapse0x4a4cdd0(); - double synapse0x4a4ce10(); - double synapse0x4a4ce50(); - double synapse0x4a4d1d0(); - double synapse0x4a4d210(); - double synapse0x4a4d250(); - double synapse0x4a4d290(); - double synapse0x4a4d2d0(); - double synapse0x4a4d310(); - double synapse0x4a4d350(); - double synapse0x4a4d390(); - double synapse0x4a4d3d0(); - double synapse0x4a4aed0(); - double synapse0x4a4b250(); - double synapse0x4a4b290(); - double synapse0x4a48190(); - double synapse0x4a481d0(); - double synapse0x4a48210(); -}; - - -class ldNNEB { -public: - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x18275890(); - double neuron0x18275bd0(); - double neuron0x18275f10(); - double neuron0x18276250(); - double neuron0x18276590(); - double neuron0x182768d0(); - double neuron0x18276c10(); - double neuron0x18276f50(); - double input0x182773c0(); - double neuron0x182773c0(); - double input0x182777f0(); - double neuron0x182777f0(); - double input0x18277d30(); - double neuron0x18277d30(); - double input0x18278300(); - double neuron0x18278300(); - double input0x18278840(); - double neuron0x18278840(); - double input0x18278bc0(); - double neuron0x18278bc0(); - double input0x18279100(); - double neuron0x18279100(); - double input0x18279640(); - double neuron0x18279640(); - double input0x18279b80(); - double neuron0x18279b80(); - double input0x1827a3e0(); - double neuron0x1827a3e0(); - double input0x1827a890(); - double neuron0x1827a890(); - double input0x1827ae50(); - double neuron0x1827ae50(); - double input0x1827b410(); - double neuron0x1827b410(); - double input0x1827b9d0(); - double neuron0x1827b9d0(); - double input0x1827bf90(); - double neuron0x1827bf90(); - double input0x1827a010(); - double neuron0x1827a010(); - double synapse0x181d6290(); - double synapse0x1827e490(); - double synapse0x18277670(); - double synapse0x182776b0(); - double synapse0x182776f0(); - double synapse0x18277730(); - double synapse0x18277770(); - double synapse0x182777b0(); - double synapse0x18277b30(); - double synapse0x18277b70(); - double synapse0x18277bb0(); - double synapse0x18277bf0(); - double synapse0x18277c30(); - double synapse0x18277c70(); - double synapse0x18277cb0(); - double synapse0x18277cf0(); - double synapse0x18278070(); - double synapse0x17ad4f50(); - double synapse0x17ad4f90(); - double synapse0x182781c0(); - double synapse0x18278200(); - double synapse0x18278240(); - double synapse0x18278280(); - double synapse0x182782c0(); - double synapse0x18278640(); - double synapse0x18278680(); - double synapse0x182786c0(); - double synapse0x18278700(); - double synapse0x18278740(); - double synapse0x18278780(); - double synapse0x182787c0(); - double synapse0x18278800(); - double synapse0x18278b80(); - double synapse0x182757c0(); - double synapse0x1827e4d0(); - double synapse0x17ad3a90(); - double synapse0x182780b0(); - double synapse0x182780f0(); - double synapse0x18278130(); - double synapse0x18278170(); - double synapse0x18278f00(); - double synapse0x18278f40(); - double synapse0x18278f80(); - double synapse0x18278fc0(); - double synapse0x18279000(); - double synapse0x18279040(); - double synapse0x18279080(); - double synapse0x182790c0(); - double synapse0x18279440(); - double synapse0x18279480(); - double synapse0x182794c0(); - double synapse0x18279500(); - double synapse0x18279540(); - double synapse0x18279580(); - double synapse0x182795c0(); - double synapse0x18279600(); - double synapse0x18279980(); - double synapse0x182799c0(); - double synapse0x18279a00(); - double synapse0x18279a40(); - double synapse0x18279a80(); - double synapse0x18279ac0(); - double synapse0x18279b00(); - double synapse0x18279b40(); - double synapse0x179c2eb0(); - double synapse0x179c2ef0(); - double synapse0x17aee860(); - double synapse0x17aee8a0(); - double synapse0x17aee8e0(); - double synapse0x17aee920(); - double synapse0x17aee960(); - double synapse0x17aee9a0(); - double synapse0x1827a690(); - double synapse0x1827a6d0(); - double synapse0x1827a710(); - double synapse0x1827a750(); - double synapse0x1827a790(); - double synapse0x1827a7d0(); - double synapse0x1827a810(); - double synapse0x1827a850(); - double synapse0x1827abd0(); - double synapse0x1827ac10(); - double synapse0x1827ac50(); - double synapse0x1827ac90(); - double synapse0x1827acd0(); - double synapse0x1827ad10(); - double synapse0x1827ad50(); - double synapse0x1827ad90(); - double synapse0x1827add0(); - double synapse0x1827ae10(); - double synapse0x1827b190(); - double synapse0x1827b1d0(); - double synapse0x1827b210(); - double synapse0x1827b250(); - double synapse0x1827b290(); - double synapse0x1827b2d0(); - double synapse0x1827b310(); - double synapse0x1827b350(); - double synapse0x1827b390(); - double synapse0x1827b3d0(); - double synapse0x1827b750(); - double synapse0x1827b790(); - double synapse0x1827b7d0(); - double synapse0x1827b810(); - double synapse0x1827b850(); - double synapse0x1827b890(); - double synapse0x1827b8d0(); - double synapse0x1827b910(); - double synapse0x1827b950(); - double synapse0x1827b990(); - double synapse0x1827bd10(); - double synapse0x1827bd50(); - double synapse0x1827bd90(); - double synapse0x1827bdd0(); - double synapse0x1827be10(); - double synapse0x1827be50(); - double synapse0x1827be90(); - double synapse0x1827bed0(); - double synapse0x1827bf10(); - double synapse0x1827bf50(); - double synapse0x1827c2d0(); - double synapse0x1827c310(); - double synapse0x1827c350(); - double synapse0x1827c390(); - double synapse0x1827c3d0(); - double synapse0x1827c410(); - double synapse0x1827c450(); - double synapse0x1827c490(); - double synapse0x1827c4d0(); - double synapse0x18279fd0(); - double synapse0x1827a350(); - double synapse0x1827a390(); - double synapse0x18277290(); - double synapse0x182772d0(); - double synapse0x18277310(); -}; - -class llNNEB { -public: - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x2f8b810(); - double neuron0x2f8bb50(); - double neuron0x2f8be90(); - double neuron0x2f8c1d0(); - double neuron0x2f8c510(); - double neuron0x2f8c850(); - double neuron0x2f8cb90(); - double neuron0x2f8ced0(); - double input0x2f8d340(); - double neuron0x2f8d340(); - double input0x2f8d770(); - double neuron0x2f8d770(); - double input0x2f8dcb0(); - double neuron0x2f8dcb0(); - double input0x2f8e280(); - double neuron0x2f8e280(); - double input0x2f8e7c0(); - double neuron0x2f8e7c0(); - double input0x2f8eb40(); - double neuron0x2f8eb40(); - double input0x2f8f080(); - double neuron0x2f8f080(); - double input0x2f8f5c0(); - double neuron0x2f8f5c0(); - double input0x2f8fb00(); - double neuron0x2f8fb00(); - double input0x2f90360(); - double neuron0x2f90360(); - double input0x2f90810(); - double neuron0x2f90810(); - double input0x2f90dd0(); - double neuron0x2f90dd0(); - double input0x2f91390(); - double neuron0x2f91390(); - double input0x2f91950(); - double neuron0x2f91950(); - double input0x2f91f10(); - double neuron0x2f91f10(); - double input0x2f8ff90(); - double neuron0x2f8ff90(); - double synapse0x2eec210(); - double synapse0x2f94410(); - double synapse0x2f8d5f0(); - double synapse0x2f8d630(); - double synapse0x2f8d670(); - double synapse0x2f8d6b0(); - double synapse0x2f8d6f0(); - double synapse0x2f8d730(); - double synapse0x2f8dab0(); - double synapse0x2f8daf0(); - double synapse0x2f8db30(); - double synapse0x2f8db70(); - double synapse0x2f8dbb0(); - double synapse0x2f8dbf0(); - double synapse0x2f8dc30(); - double synapse0x2f8dc70(); - double synapse0x2f8dff0(); - double synapse0x27eaed0(); - double synapse0x27eaf10(); - double synapse0x2f8e140(); - double synapse0x2f8e180(); - double synapse0x2f8e1c0(); - double synapse0x2f8e200(); - double synapse0x2f8e240(); - double synapse0x2f8e5c0(); - double synapse0x2f8e600(); - double synapse0x2f8e640(); - double synapse0x2f8e680(); - double synapse0x2f8e6c0(); - double synapse0x2f8e700(); - double synapse0x2f8e740(); - double synapse0x2f8e780(); - double synapse0x2f8eb00(); - double synapse0x2f8b740(); - double synapse0x2f94450(); - double synapse0x27e9a10(); - double synapse0x2f8e030(); - double synapse0x2f8e070(); - double synapse0x2f8e0b0(); - double synapse0x2f8e0f0(); - double synapse0x2f8ee80(); - double synapse0x2f8eec0(); - double synapse0x2f8ef00(); - double synapse0x2f8ef40(); - double synapse0x2f8ef80(); - double synapse0x2f8efc0(); - double synapse0x2f8f000(); - double synapse0x2f8f040(); - double synapse0x2f8f3c0(); - double synapse0x2f8f400(); - double synapse0x2f8f440(); - double synapse0x2f8f480(); - double synapse0x2f8f4c0(); - double synapse0x2f8f500(); - double synapse0x2f8f540(); - double synapse0x2f8f580(); - double synapse0x2f8f900(); - double synapse0x2f8f940(); - double synapse0x2f8f980(); - double synapse0x2f8f9c0(); - double synapse0x2f8fa00(); - double synapse0x2f8fa40(); - double synapse0x2f8fa80(); - double synapse0x2f8fac0(); - double synapse0x26d8e30(); - double synapse0x26d8e70(); - double synapse0x28047e0(); - double synapse0x2804820(); - double synapse0x2804860(); - double synapse0x28048a0(); - double synapse0x28048e0(); - double synapse0x2804920(); - double synapse0x2f90610(); - double synapse0x2f90650(); - double synapse0x2f90690(); - double synapse0x2f906d0(); - double synapse0x2f90710(); - double synapse0x2f90750(); - double synapse0x2f90790(); - double synapse0x2f907d0(); - double synapse0x2f90b50(); - double synapse0x2f90b90(); - double synapse0x2f90bd0(); - double synapse0x2f90c10(); - double synapse0x2f90c50(); - double synapse0x2f90c90(); - double synapse0x2f90cd0(); - double synapse0x2f90d10(); - double synapse0x2f90d50(); - double synapse0x2f90d90(); - double synapse0x2f91110(); - double synapse0x2f91150(); - double synapse0x2f91190(); - double synapse0x2f911d0(); - double synapse0x2f91210(); - double synapse0x2f91250(); - double synapse0x2f91290(); - double synapse0x2f912d0(); - double synapse0x2f91310(); - double synapse0x2f91350(); - double synapse0x2f916d0(); - double synapse0x2f91710(); - double synapse0x2f91750(); - double synapse0x2f91790(); - double synapse0x2f917d0(); - double synapse0x2f91810(); - double synapse0x2f91850(); - double synapse0x2f91890(); - double synapse0x2f918d0(); - double synapse0x2f91910(); - double synapse0x2f91c90(); - double synapse0x2f91cd0(); - double synapse0x2f91d10(); - double synapse0x2f91d50(); - double synapse0x2f91d90(); - double synapse0x2f91dd0(); - double synapse0x2f91e10(); - double synapse0x2f91e50(); - double synapse0x2f91e90(); - double synapse0x2f91ed0(); - double synapse0x2f92250(); - double synapse0x2f92290(); - double synapse0x2f922d0(); - double synapse0x2f92310(); - double synapse0x2f92350(); - double synapse0x2f92390(); - double synapse0x2f923d0(); - double synapse0x2f92410(); - double synapse0x2f92450(); - double synapse0x2f8ff50(); - double synapse0x2f902d0(); - double synapse0x2f90310(); - double synapse0x2f8d210(); - double synapse0x2f8d250(); - double synapse0x2f8d290(); -}; - -class luNNEB { -public: - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x10fd78d0(); - double neuron0x10fd7c10(); - double neuron0x10fd7f50(); - double neuron0x10fd8290(); - double neuron0x10fd85d0(); - double neuron0x10fd8910(); - double neuron0x10fd8c50(); - double neuron0x10fd8f90(); - double input0x10fd9400(); - double neuron0x10fd9400(); - double input0x10fd9830(); - double neuron0x10fd9830(); - double input0x10fd9d70(); - double neuron0x10fd9d70(); - double input0x10fda340(); - double neuron0x10fda340(); - double input0x10fda880(); - double neuron0x10fda880(); - double input0x10fdac00(); - double neuron0x10fdac00(); - double input0x10fdb140(); - double neuron0x10fdb140(); - double input0x10fdb680(); - double neuron0x10fdb680(); - double input0x10fdbbc0(); - double neuron0x10fdbbc0(); - double input0x10fdc420(); - double neuron0x10fdc420(); - double input0x10fdc8d0(); - double neuron0x10fdc8d0(); - double input0x10fdce90(); - double neuron0x10fdce90(); - double input0x10fdd450(); - double neuron0x10fdd450(); - double input0x10fdda10(); - double neuron0x10fdda10(); - double input0x10fddfd0(); - double neuron0x10fddfd0(); - double input0x10fdc050(); - double neuron0x10fdc050(); - double synapse0x10f382d0(); - double synapse0x10fe04d0(); - double synapse0x10fd96b0(); - double synapse0x10fd96f0(); - double synapse0x10fd9730(); - double synapse0x10fd9770(); - double synapse0x10fd97b0(); - double synapse0x10fd97f0(); - double synapse0x10fd9b70(); - double synapse0x10fd9bb0(); - double synapse0x10fd9bf0(); - double synapse0x10fd9c30(); - double synapse0x10fd9c70(); - double synapse0x10fd9cb0(); - double synapse0x10fd9cf0(); - double synapse0x10fd9d30(); - double synapse0x10fda0b0(); - double synapse0x10836f90(); - double synapse0x10836fd0(); - double synapse0x10fda200(); - double synapse0x10fda240(); - double synapse0x10fda280(); - double synapse0x10fda2c0(); - double synapse0x10fda300(); - double synapse0x10fda680(); - double synapse0x10fda6c0(); - double synapse0x10fda700(); - double synapse0x10fda740(); - double synapse0x10fda780(); - double synapse0x10fda7c0(); - double synapse0x10fda800(); - double synapse0x10fda840(); - double synapse0x10fdabc0(); - double synapse0x10fd7800(); - double synapse0x10fe0510(); - double synapse0x10835ad0(); - double synapse0x10fda0f0(); - double synapse0x10fda130(); - double synapse0x10fda170(); - double synapse0x10fda1b0(); - double synapse0x10fdaf40(); - double synapse0x10fdaf80(); - double synapse0x10fdafc0(); - double synapse0x10fdb000(); - double synapse0x10fdb040(); - double synapse0x10fdb080(); - double synapse0x10fdb0c0(); - double synapse0x10fdb100(); - double synapse0x10fdb480(); - double synapse0x10fdb4c0(); - double synapse0x10fdb500(); - double synapse0x10fdb540(); - double synapse0x10fdb580(); - double synapse0x10fdb5c0(); - double synapse0x10fdb600(); - double synapse0x10fdb640(); - double synapse0x10fdb9c0(); - double synapse0x10fdba00(); - double synapse0x10fdba40(); - double synapse0x10fdba80(); - double synapse0x10fdbac0(); - double synapse0x10fdbb00(); - double synapse0x10fdbb40(); - double synapse0x10fdbb80(); - double synapse0x10724ef0(); - double synapse0x10724f30(); - double synapse0x108508a0(); - double synapse0x108508e0(); - double synapse0x10850920(); - double synapse0x10850960(); - double synapse0x108509a0(); - double synapse0x108509e0(); - double synapse0x10fdc6d0(); - double synapse0x10fdc710(); - double synapse0x10fdc750(); - double synapse0x10fdc790(); - double synapse0x10fdc7d0(); - double synapse0x10fdc810(); - double synapse0x10fdc850(); - double synapse0x10fdc890(); - double synapse0x10fdcc10(); - double synapse0x10fdcc50(); - double synapse0x10fdcc90(); - double synapse0x10fdccd0(); - double synapse0x10fdcd10(); - double synapse0x10fdcd50(); - double synapse0x10fdcd90(); - double synapse0x10fdcdd0(); - double synapse0x10fdce10(); - double synapse0x10fdce50(); - double synapse0x10fdd1d0(); - double synapse0x10fdd210(); - double synapse0x10fdd250(); - double synapse0x10fdd290(); - double synapse0x10fdd2d0(); - double synapse0x10fdd310(); - double synapse0x10fdd350(); - double synapse0x10fdd390(); - double synapse0x10fdd3d0(); - double synapse0x10fdd410(); - double synapse0x10fdd790(); - double synapse0x10fdd7d0(); - double synapse0x10fdd810(); - double synapse0x10fdd850(); - double synapse0x10fdd890(); - double synapse0x10fdd8d0(); - double synapse0x10fdd910(); - double synapse0x10fdd950(); - double synapse0x10fdd990(); - double synapse0x10fdd9d0(); - double synapse0x10fddd50(); - double synapse0x10fddd90(); - double synapse0x10fdddd0(); - double synapse0x10fdde10(); - double synapse0x10fdde50(); - double synapse0x10fdde90(); - double synapse0x10fdded0(); - double synapse0x10fddf10(); - double synapse0x10fddf50(); - double synapse0x10fddf90(); - double synapse0x10fde310(); - double synapse0x10fde350(); - double synapse0x10fde390(); - double synapse0x10fde3d0(); - double synapse0x10fde410(); - double synapse0x10fde450(); - double synapse0x10fde490(); - double synapse0x10fde4d0(); - double synapse0x10fde510(); - double synapse0x10fdc010(); - double synapse0x10fdc390(); - double synapse0x10fdc3d0(); - double synapse0x10fd92d0(); - double synapse0x10fd9310(); - double synapse0x10fd9350(); -}; - -class rdNNEB { -public: - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x14abb950(); - double neuron0x14abbc90(); - double neuron0x14abbfd0(); - double neuron0x14abc310(); - double neuron0x14abc650(); - double neuron0x14abc990(); - double neuron0x14abccd0(); - double neuron0x14abd010(); - double input0x14abd480(); - double neuron0x14abd480(); - double input0x14abd8b0(); - double neuron0x14abd8b0(); - double input0x14abddf0(); - double neuron0x14abddf0(); - double input0x14abe3c0(); - double neuron0x14abe3c0(); - double input0x14abe900(); - double neuron0x14abe900(); - double input0x14abec80(); - double neuron0x14abec80(); - double input0x14abf1c0(); - double neuron0x14abf1c0(); - double input0x14abf700(); - double neuron0x14abf700(); - double input0x14abfc40(); - double neuron0x14abfc40(); - double input0x14ac04a0(); - double neuron0x14ac04a0(); - double input0x14ac0950(); - double neuron0x14ac0950(); - double input0x14ac0f10(); - double neuron0x14ac0f10(); - double input0x14ac14d0(); - double neuron0x14ac14d0(); - double input0x14ac1a90(); - double neuron0x14ac1a90(); - double input0x14ac2050(); - double neuron0x14ac2050(); - double input0x14ac00d0(); - double neuron0x14ac00d0(); - double synapse0x14a1c350(); - double synapse0x14ac4550(); - double synapse0x14abd730(); - double synapse0x14abd770(); - double synapse0x14abd7b0(); - double synapse0x14abd7f0(); - double synapse0x14abd830(); - double synapse0x14abd870(); - double synapse0x14abdbf0(); - double synapse0x14abdc30(); - double synapse0x14abdc70(); - double synapse0x14abdcb0(); - double synapse0x14abdcf0(); - double synapse0x14abdd30(); - double synapse0x14abdd70(); - double synapse0x14abddb0(); - double synapse0x14abe130(); - double synapse0x1431b010(); - double synapse0x1431b050(); - double synapse0x14abe280(); - double synapse0x14abe2c0(); - double synapse0x14abe300(); - double synapse0x14abe340(); - double synapse0x14abe380(); - double synapse0x14abe700(); - double synapse0x14abe740(); - double synapse0x14abe780(); - double synapse0x14abe7c0(); - double synapse0x14abe800(); - double synapse0x14abe840(); - double synapse0x14abe880(); - double synapse0x14abe8c0(); - double synapse0x14abec40(); - double synapse0x14abb880(); - double synapse0x14ac4590(); - double synapse0x14319b50(); - double synapse0x14abe170(); - double synapse0x14abe1b0(); - double synapse0x14abe1f0(); - double synapse0x14abe230(); - double synapse0x14abefc0(); - double synapse0x14abf000(); - double synapse0x14abf040(); - double synapse0x14abf080(); - double synapse0x14abf0c0(); - double synapse0x14abf100(); - double synapse0x14abf140(); - double synapse0x14abf180(); - double synapse0x14abf500(); - double synapse0x14abf540(); - double synapse0x14abf580(); - double synapse0x14abf5c0(); - double synapse0x14abf600(); - double synapse0x14abf640(); - double synapse0x14abf680(); - double synapse0x14abf6c0(); - double synapse0x14abfa40(); - double synapse0x14abfa80(); - double synapse0x14abfac0(); - double synapse0x14abfb00(); - double synapse0x14abfb40(); - double synapse0x14abfb80(); - double synapse0x14abfbc0(); - double synapse0x14abfc00(); - double synapse0x14208f70(); - double synapse0x14208fb0(); - double synapse0x14334920(); - double synapse0x14334960(); - double synapse0x143349a0(); - double synapse0x143349e0(); - double synapse0x14334a20(); - double synapse0x14334a60(); - double synapse0x14ac0750(); - double synapse0x14ac0790(); - double synapse0x14ac07d0(); - double synapse0x14ac0810(); - double synapse0x14ac0850(); - double synapse0x14ac0890(); - double synapse0x14ac08d0(); - double synapse0x14ac0910(); - double synapse0x14ac0c90(); - double synapse0x14ac0cd0(); - double synapse0x14ac0d10(); - double synapse0x14ac0d50(); - double synapse0x14ac0d90(); - double synapse0x14ac0dd0(); - double synapse0x14ac0e10(); - double synapse0x14ac0e50(); - double synapse0x14ac0e90(); - double synapse0x14ac0ed0(); - double synapse0x14ac1250(); - double synapse0x14ac1290(); - double synapse0x14ac12d0(); - double synapse0x14ac1310(); - double synapse0x14ac1350(); - double synapse0x14ac1390(); - double synapse0x14ac13d0(); - double synapse0x14ac1410(); - double synapse0x14ac1450(); - double synapse0x14ac1490(); - double synapse0x14ac1810(); - double synapse0x14ac1850(); - double synapse0x14ac1890(); - double synapse0x14ac18d0(); - double synapse0x14ac1910(); - double synapse0x14ac1950(); - double synapse0x14ac1990(); - double synapse0x14ac19d0(); - double synapse0x14ac1a10(); - double synapse0x14ac1a50(); - double synapse0x14ac1dd0(); - double synapse0x14ac1e10(); - double synapse0x14ac1e50(); - double synapse0x14ac1e90(); - double synapse0x14ac1ed0(); - double synapse0x14ac1f10(); - double synapse0x14ac1f50(); - double synapse0x14ac1f90(); - double synapse0x14ac1fd0(); - double synapse0x14ac2010(); - double synapse0x14ac2390(); - double synapse0x14ac23d0(); - double synapse0x14ac2410(); - double synapse0x14ac2450(); - double synapse0x14ac2490(); - double synapse0x14ac24d0(); - double synapse0x14ac2510(); - double synapse0x14ac2550(); - double synapse0x14ac2590(); - double synapse0x14ac0090(); - double synapse0x14ac0410(); - double synapse0x14ac0450(); - double synapse0x14abd350(); - double synapse0x14abd390(); - double synapse0x14abd3d0(); -}; - - -class rrNNEB { -public: - - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0xb0ae990(); - double neuron0xb0aecd0(); - double neuron0xb0af010(); - double neuron0xb0af350(); - double neuron0xb0af690(); - double neuron0xb0af9d0(); - double neuron0xb0afd10(); - double neuron0xb0b0050(); - double input0xb0b04c0(); - double neuron0xb0b04c0(); - double input0xb0b08f0(); - double neuron0xb0b08f0(); - double input0xb0b0e30(); - double neuron0xb0b0e30(); - double input0xb0b1400(); - double neuron0xb0b1400(); - double input0xb0b1940(); - double neuron0xb0b1940(); - double input0xb0b1cc0(); - double neuron0xb0b1cc0(); - double input0xb0b2200(); - double neuron0xb0b2200(); - double input0xb0b2740(); - double neuron0xb0b2740(); - double input0xb0b2c80(); - double neuron0xb0b2c80(); - double input0xb0b34e0(); - double neuron0xb0b34e0(); - double input0xb0b3990(); - double neuron0xb0b3990(); - double input0xb0b3f50(); - double neuron0xb0b3f50(); - double input0xb0b4510(); - double neuron0xb0b4510(); - double input0xb0b4ad0(); - double neuron0xb0b4ad0(); - double input0xb0b5090(); - double neuron0xb0b5090(); - double input0xb0b3110(); - double neuron0xb0b3110(); - double synapse0xb00f390(); - double synapse0xb0b7590(); - double synapse0xb0b0770(); - double synapse0xb0b07b0(); - double synapse0xb0b07f0(); - double synapse0xb0b0830(); - double synapse0xb0b0870(); - double synapse0xb0b08b0(); - double synapse0xb0b0c30(); - double synapse0xb0b0c70(); - double synapse0xb0b0cb0(); - double synapse0xb0b0cf0(); - double synapse0xb0b0d30(); - double synapse0xb0b0d70(); - double synapse0xb0b0db0(); - double synapse0xb0b0df0(); - double synapse0xb0b1170(); - double synapse0xa90e050(); - double synapse0xa90e090(); - double synapse0xb0b12c0(); - double synapse0xb0b1300(); - double synapse0xb0b1340(); - double synapse0xb0b1380(); - double synapse0xb0b13c0(); - double synapse0xb0b1740(); - double synapse0xb0b1780(); - double synapse0xb0b17c0(); - double synapse0xb0b1800(); - double synapse0xb0b1840(); - double synapse0xb0b1880(); - double synapse0xb0b18c0(); - double synapse0xb0b1900(); - double synapse0xb0b1c80(); - double synapse0xb0ae8c0(); - double synapse0xb0b75d0(); - double synapse0xa90cb90(); - double synapse0xb0b11b0(); - double synapse0xb0b11f0(); - double synapse0xb0b1230(); - double synapse0xb0b1270(); - double synapse0xb0b2000(); - double synapse0xb0b2040(); - double synapse0xb0b2080(); - double synapse0xb0b20c0(); - double synapse0xb0b2100(); - double synapse0xb0b2140(); - double synapse0xb0b2180(); - double synapse0xb0b21c0(); - double synapse0xb0b2540(); - double synapse0xb0b2580(); - double synapse0xb0b25c0(); - double synapse0xb0b2600(); - double synapse0xb0b2640(); - double synapse0xb0b2680(); - double synapse0xb0b26c0(); - double synapse0xb0b2700(); - double synapse0xb0b2a80(); - double synapse0xb0b2ac0(); - double synapse0xb0b2b00(); - double synapse0xb0b2b40(); - double synapse0xb0b2b80(); - double synapse0xb0b2bc0(); - double synapse0xb0b2c00(); - double synapse0xb0b2c40(); - double synapse0xa7fbfb0(); - double synapse0xa7fbff0(); - double synapse0xa927960(); - double synapse0xa9279a0(); - double synapse0xa9279e0(); - double synapse0xa927a20(); - double synapse0xa927a60(); - double synapse0xa927aa0(); - double synapse0xb0b3790(); - double synapse0xb0b37d0(); - double synapse0xb0b3810(); - double synapse0xb0b3850(); - double synapse0xb0b3890(); - double synapse0xb0b38d0(); - double synapse0xb0b3910(); - double synapse0xb0b3950(); - double synapse0xb0b3cd0(); - double synapse0xb0b3d10(); - double synapse0xb0b3d50(); - double synapse0xb0b3d90(); - double synapse0xb0b3dd0(); - double synapse0xb0b3e10(); - double synapse0xb0b3e50(); - double synapse0xb0b3e90(); - double synapse0xb0b3ed0(); - double synapse0xb0b3f10(); - double synapse0xb0b4290(); - double synapse0xb0b42d0(); - double synapse0xb0b4310(); - double synapse0xb0b4350(); - double synapse0xb0b4390(); - double synapse0xb0b43d0(); - double synapse0xb0b4410(); - double synapse0xb0b4450(); - double synapse0xb0b4490(); - double synapse0xb0b44d0(); - double synapse0xb0b4850(); - double synapse0xb0b4890(); - double synapse0xb0b48d0(); - double synapse0xb0b4910(); - double synapse0xb0b4950(); - double synapse0xb0b4990(); - double synapse0xb0b49d0(); - double synapse0xb0b4a10(); - double synapse0xb0b4a50(); - double synapse0xb0b4a90(); - double synapse0xb0b4e10(); - double synapse0xb0b4e50(); - double synapse0xb0b4e90(); - double synapse0xb0b4ed0(); - double synapse0xb0b4f10(); - double synapse0xb0b4f50(); - double synapse0xb0b4f90(); - double synapse0xb0b4fd0(); - double synapse0xb0b5010(); - double synapse0xb0b5050(); - double synapse0xb0b53d0(); - double synapse0xb0b5410(); - double synapse0xb0b5450(); - double synapse0xb0b5490(); - double synapse0xb0b54d0(); - double synapse0xb0b5510(); - double synapse0xb0b5550(); - double synapse0xb0b5590(); - double synapse0xb0b55d0(); - double synapse0xb0b30d0(); - double synapse0xb0b3450(); - double synapse0xb0b3490(); - double synapse0xb0b0390(); - double synapse0xb0b03d0(); - double synapse0xb0b0410(); -}; - - -class ruNNEB { -public: - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0xc532850(); - double neuron0xc532b90(); - double neuron0xc532ed0(); - double neuron0xc533210(); - double neuron0xc533550(); - double neuron0xc533890(); - double neuron0xc533bd0(); - double neuron0xc533f10(); - double input0xc534380(); - double neuron0xc534380(); - double input0xc5347b0(); - double neuron0xc5347b0(); - double input0xc534cf0(); - double neuron0xc534cf0(); - double input0xc5352c0(); - double neuron0xc5352c0(); - double input0xc535800(); - double neuron0xc535800(); - double input0xc535b80(); - double neuron0xc535b80(); - double input0xc5360c0(); - double neuron0xc5360c0(); - double input0xc536600(); - double neuron0xc536600(); - double input0xc536b40(); - double neuron0xc536b40(); - double input0xc5373a0(); - double neuron0xc5373a0(); - double input0xc537850(); - double neuron0xc537850(); - double input0xc537e10(); - double neuron0xc537e10(); - double input0xc5383d0(); - double neuron0xc5383d0(); - double input0xc538990(); - double neuron0xc538990(); - double input0xc538f50(); - double neuron0xc538f50(); - double input0xc536fd0(); - double neuron0xc536fd0(); - double synapse0xc493250(); - double synapse0xc53b450(); - double synapse0xc534630(); - double synapse0xc534670(); - double synapse0xc5346b0(); - double synapse0xc5346f0(); - double synapse0xc534730(); - double synapse0xc534770(); - double synapse0xc534af0(); - double synapse0xc534b30(); - double synapse0xc534b70(); - double synapse0xc534bb0(); - double synapse0xc534bf0(); - double synapse0xc534c30(); - double synapse0xc534c70(); - double synapse0xc534cb0(); - double synapse0xc535030(); - double synapse0xbd91f10(); - double synapse0xbd91f50(); - double synapse0xc535180(); - double synapse0xc5351c0(); - double synapse0xc535200(); - double synapse0xc535240(); - double synapse0xc535280(); - double synapse0xc535600(); - double synapse0xc535640(); - double synapse0xc535680(); - double synapse0xc5356c0(); - double synapse0xc535700(); - double synapse0xc535740(); - double synapse0xc535780(); - double synapse0xc5357c0(); - double synapse0xc535b40(); - double synapse0xc532780(); - double synapse0xc53b490(); - double synapse0xbd90a50(); - double synapse0xc535070(); - double synapse0xc5350b0(); - double synapse0xc5350f0(); - double synapse0xc535130(); - double synapse0xc535ec0(); - double synapse0xc535f00(); - double synapse0xc535f40(); - double synapse0xc535f80(); - double synapse0xc535fc0(); - double synapse0xc536000(); - double synapse0xc536040(); - double synapse0xc536080(); - double synapse0xc536400(); - double synapse0xc536440(); - double synapse0xc536480(); - double synapse0xc5364c0(); - double synapse0xc536500(); - double synapse0xc536540(); - double synapse0xc536580(); - double synapse0xc5365c0(); - double synapse0xc536940(); - double synapse0xc536980(); - double synapse0xc5369c0(); - double synapse0xc536a00(); - double synapse0xc536a40(); - double synapse0xc536a80(); - double synapse0xc536ac0(); - double synapse0xc536b00(); - double synapse0xbc7fe70(); - double synapse0xbc7feb0(); - double synapse0xbdab820(); - double synapse0xbdab860(); - double synapse0xbdab8a0(); - double synapse0xbdab8e0(); - double synapse0xbdab920(); - double synapse0xbdab960(); - double synapse0xc537650(); - double synapse0xc537690(); - double synapse0xc5376d0(); - double synapse0xc537710(); - double synapse0xc537750(); - double synapse0xc537790(); - double synapse0xc5377d0(); - double synapse0xc537810(); - double synapse0xc537b90(); - double synapse0xc537bd0(); - double synapse0xc537c10(); - double synapse0xc537c50(); - double synapse0xc537c90(); - double synapse0xc537cd0(); - double synapse0xc537d10(); - double synapse0xc537d50(); - double synapse0xc537d90(); - double synapse0xc537dd0(); - double synapse0xc538150(); - double synapse0xc538190(); - double synapse0xc5381d0(); - double synapse0xc538210(); - double synapse0xc538250(); - double synapse0xc538290(); - double synapse0xc5382d0(); - double synapse0xc538310(); - double synapse0xc538350(); - double synapse0xc538390(); - double synapse0xc538710(); - double synapse0xc538750(); - double synapse0xc538790(); - double synapse0xc5387d0(); - double synapse0xc538810(); - double synapse0xc538850(); - double synapse0xc538890(); - double synapse0xc5388d0(); - double synapse0xc538910(); - double synapse0xc538950(); - double synapse0xc538cd0(); - double synapse0xc538d10(); - double synapse0xc538d50(); - double synapse0xc538d90(); - double synapse0xc538dd0(); - double synapse0xc538e10(); - double synapse0xc538e50(); - double synapse0xc538e90(); - double synapse0xc538ed0(); - double synapse0xc538f10(); - double synapse0xc539290(); - double synapse0xc5392d0(); - double synapse0xc539310(); - double synapse0xc539350(); - double synapse0xc539390(); - double synapse0xc5393d0(); - double synapse0xc539410(); - double synapse0xc539450(); - double synapse0xc539490(); - double synapse0xc536f90(); - double synapse0xc537310(); - double synapse0xc537350(); - double synapse0xc534250(); - double synapse0xc534290(); - double synapse0xc5342d0(); -}; - -class uuNNEB { -public: - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x215a0910(); - double neuron0x215a0c50(); - double neuron0x215a0f90(); - double neuron0x215a12d0(); - double neuron0x215a1610(); - double neuron0x215a1950(); - double neuron0x215a1c90(); - double neuron0x215a1fd0(); - double input0x215a2440(); - double neuron0x215a2440(); - double input0x215a2870(); - double neuron0x215a2870(); - double input0x215a2db0(); - double neuron0x215a2db0(); - double input0x215a3380(); - double neuron0x215a3380(); - double input0x215a38c0(); - double neuron0x215a38c0(); - double input0x215a3c40(); - double neuron0x215a3c40(); - double input0x215a4180(); - double neuron0x215a4180(); - double input0x215a46c0(); - double neuron0x215a46c0(); - double input0x215a4c00(); - double neuron0x215a4c00(); - double input0x215a5460(); - double neuron0x215a5460(); - double input0x215a5910(); - double neuron0x215a5910(); - double input0x215a5ed0(); - double neuron0x215a5ed0(); - double input0x215a6490(); - double neuron0x215a6490(); - double input0x215a6a50(); - double neuron0x215a6a50(); - double input0x215a7010(); - double neuron0x215a7010(); - double input0x215a5090(); - double neuron0x215a5090(); - double synapse0x21501310(); - double synapse0x215a9510(); - double synapse0x215a26f0(); - double synapse0x215a2730(); - double synapse0x215a2770(); - double synapse0x215a27b0(); - double synapse0x215a27f0(); - double synapse0x215a2830(); - double synapse0x215a2bb0(); - double synapse0x215a2bf0(); - double synapse0x215a2c30(); - double synapse0x215a2c70(); - double synapse0x215a2cb0(); - double synapse0x215a2cf0(); - double synapse0x215a2d30(); - double synapse0x215a2d70(); - double synapse0x215a30f0(); - double synapse0x20dfffd0(); - double synapse0x20e00010(); - double synapse0x215a3240(); - double synapse0x215a3280(); - double synapse0x215a32c0(); - double synapse0x215a3300(); - double synapse0x215a3340(); - double synapse0x215a36c0(); - double synapse0x215a3700(); - double synapse0x215a3740(); - double synapse0x215a3780(); - double synapse0x215a37c0(); - double synapse0x215a3800(); - double synapse0x215a3840(); - double synapse0x215a3880(); - double synapse0x215a3c00(); - double synapse0x215a0840(); - double synapse0x215a9550(); - double synapse0x20dfeb10(); - double synapse0x215a3130(); - double synapse0x215a3170(); - double synapse0x215a31b0(); - double synapse0x215a31f0(); - double synapse0x215a3f80(); - double synapse0x215a3fc0(); - double synapse0x215a4000(); - double synapse0x215a4040(); - double synapse0x215a4080(); - double synapse0x215a40c0(); - double synapse0x215a4100(); - double synapse0x215a4140(); - double synapse0x215a44c0(); - double synapse0x215a4500(); - double synapse0x215a4540(); - double synapse0x215a4580(); - double synapse0x215a45c0(); - double synapse0x215a4600(); - double synapse0x215a4640(); - double synapse0x215a4680(); - double synapse0x215a4a00(); - double synapse0x215a4a40(); - double synapse0x215a4a80(); - double synapse0x215a4ac0(); - double synapse0x215a4b00(); - double synapse0x215a4b40(); - double synapse0x215a4b80(); - double synapse0x215a4bc0(); - double synapse0x20cedf30(); - double synapse0x20cedf70(); - double synapse0x20e198e0(); - double synapse0x20e19920(); - double synapse0x20e19960(); - double synapse0x20e199a0(); - double synapse0x20e199e0(); - double synapse0x20e19a20(); - double synapse0x215a5710(); - double synapse0x215a5750(); - double synapse0x215a5790(); - double synapse0x215a57d0(); - double synapse0x215a5810(); - double synapse0x215a5850(); - double synapse0x215a5890(); - double synapse0x215a58d0(); - double synapse0x215a5c50(); - double synapse0x215a5c90(); - double synapse0x215a5cd0(); - double synapse0x215a5d10(); - double synapse0x215a5d50(); - double synapse0x215a5d90(); - double synapse0x215a5dd0(); - double synapse0x215a5e10(); - double synapse0x215a5e50(); - double synapse0x215a5e90(); - double synapse0x215a6210(); - double synapse0x215a6250(); - double synapse0x215a6290(); - double synapse0x215a62d0(); - double synapse0x215a6310(); - double synapse0x215a6350(); - double synapse0x215a6390(); - double synapse0x215a63d0(); - double synapse0x215a6410(); - double synapse0x215a6450(); - double synapse0x215a67d0(); - double synapse0x215a6810(); - double synapse0x215a6850(); - double synapse0x215a6890(); - double synapse0x215a68d0(); - double synapse0x215a6910(); - double synapse0x215a6950(); - double synapse0x215a6990(); - double synapse0x215a69d0(); - double synapse0x215a6a10(); - double synapse0x215a6d90(); - double synapse0x215a6dd0(); - double synapse0x215a6e10(); - double synapse0x215a6e50(); - double synapse0x215a6e90(); - double synapse0x215a6ed0(); - double synapse0x215a6f10(); - double synapse0x215a6f50(); - double synapse0x215a6f90(); - double synapse0x215a6fd0(); - double synapse0x215a7350(); - double synapse0x215a7390(); - double synapse0x215a73d0(); - double synapse0x215a7410(); - double synapse0x215a7450(); - double synapse0x215a7490(); - double synapse0x215a74d0(); - double synapse0x215a7510(); - double synapse0x215a7550(); - double synapse0x215a5050(); - double synapse0x215a53d0(); - double synapse0x215a5410(); - double synapse0x215a2310(); - double synapse0x215a2350(); - double synapse0x215a2390(); -}; - -#endif // xyNNEB_h - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h deleted file mode 100644 index 6752a6d5a2759..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h +++ /dev/null @@ -1,1719 +0,0 @@ -#ifndef xyNNEE_h -#define xyNNEE_h - -class ccNNEE { - -public: - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x19a48480(); - double neuron0x19a487c0(); - double neuron0x19a48b00(); - double neuron0x19a48e40(); - double neuron0x19a49180(); - double neuron0x19a494c0(); - double neuron0x19a49800(); - double neuron0x19a49b40(); - double input0x19a49fb0(); - double neuron0x19a49fb0(); - double input0x19a4a3e0(); - double neuron0x19a4a3e0(); - double input0x19a4a920(); - double neuron0x19a4a920(); - double input0x19a4aef0(); - double neuron0x19a4aef0(); - double input0x19a4b430(); - double neuron0x19a4b430(); - double input0x19a4b7b0(); - double neuron0x19a4b7b0(); - double input0x19a4bcf0(); - double neuron0x19a4bcf0(); - double input0x19a4c230(); - double neuron0x19a4c230(); - double input0x19a4c770(); - double neuron0x19a4c770(); - double input0x19a4cfd0(); - double neuron0x19a4cfd0(); - double input0x19a4d480(); - double neuron0x19a4d480(); - double input0x19a4da40(); - double neuron0x19a4da40(); - double input0x19a4e000(); - double neuron0x19a4e000(); - double input0x19a4e5c0(); - double neuron0x19a4e5c0(); - double input0x19a4eb80(); - double neuron0x19a4eb80(); - double input0x19a4cc00(); - double neuron0x19a4cc00(); - double synapse0x199a87c0(); - double synapse0x19a51080(); - double synapse0x19a4a260(); - double synapse0x19a4a2a0(); - double synapse0x19a4a2e0(); - double synapse0x19a4a320(); - double synapse0x19a4a360(); - double synapse0x19a4a3a0(); - double synapse0x19a4a720(); - double synapse0x19a4a760(); - double synapse0x19a4a7a0(); - double synapse0x19a4a7e0(); - double synapse0x19a4a820(); - double synapse0x19a4a860(); - double synapse0x19a4a8a0(); - double synapse0x19a4a8e0(); - double synapse0x19a4ac60(); - double synapse0x19976d60(); - double synapse0x19976da0(); - double synapse0x19a4adb0(); - double synapse0x19a4adf0(); - double synapse0x19a4ae30(); - double synapse0x19a4ae70(); - double synapse0x19a4aeb0(); - double synapse0x19a4b230(); - double synapse0x19a4b270(); - double synapse0x19a4b2b0(); - double synapse0x19a4b2f0(); - double synapse0x19a4b330(); - double synapse0x19a4b370(); - double synapse0x19a4b3b0(); - double synapse0x19a4b3f0(); - double synapse0x19a4b770(); - double synapse0x19a483b0(); - double synapse0x19a510c0(); - double synapse0x199930d0(); - double synapse0x19a4aca0(); - double synapse0x19a4ace0(); - double synapse0x19a4ad20(); - double synapse0x19a4ad60(); - double synapse0x19a4baf0(); - double synapse0x19a4bb30(); - double synapse0x19a4bb70(); - double synapse0x19a4bbb0(); - double synapse0x19a4bbf0(); - double synapse0x19a4bc30(); - double synapse0x19a4bc70(); - double synapse0x19a4bcb0(); - double synapse0x19a4c030(); - double synapse0x19a4c070(); - double synapse0x19a4c0b0(); - double synapse0x19a4c0f0(); - double synapse0x19a4c130(); - double synapse0x19a4c170(); - double synapse0x19a4c1b0(); - double synapse0x19a4c1f0(); - double synapse0x19a4c570(); - double synapse0x19a4c5b0(); - double synapse0x19a4c5f0(); - double synapse0x19a4c630(); - double synapse0x19a4c670(); - double synapse0x19a4c6b0(); - double synapse0x19a4c6f0(); - double synapse0x19a4c730(); - double synapse0x199749c0(); - double synapse0x19974a00(); - double synapse0x1998f8c0(); - double synapse0x1998f900(); - double synapse0x1998f940(); - double synapse0x1998f980(); - double synapse0x1998f9c0(); - double synapse0x1998fa00(); - double synapse0x19a4d280(); - double synapse0x19a4d2c0(); - double synapse0x19a4d300(); - double synapse0x19a4d340(); - double synapse0x19a4d380(); - double synapse0x19a4d3c0(); - double synapse0x19a4d400(); - double synapse0x19a4d440(); - double synapse0x19a4d7c0(); - double synapse0x19a4d800(); - double synapse0x19a4d840(); - double synapse0x19a4d880(); - double synapse0x19a4d8c0(); - double synapse0x19a4d900(); - double synapse0x19a4d940(); - double synapse0x19a4d980(); - double synapse0x19a4d9c0(); - double synapse0x19a4da00(); - double synapse0x19a4dd80(); - double synapse0x19a4ddc0(); - double synapse0x19a4de00(); - double synapse0x19a4de40(); - double synapse0x19a4de80(); - double synapse0x19a4dec0(); - double synapse0x19a4df00(); - double synapse0x19a4df40(); - double synapse0x19a4df80(); - double synapse0x19a4dfc0(); - double synapse0x19a4e340(); - double synapse0x19a4e380(); - double synapse0x19a4e3c0(); - double synapse0x19a4e400(); - double synapse0x19a4e440(); - double synapse0x19a4e480(); - double synapse0x19a4e4c0(); - double synapse0x19a4e500(); - double synapse0x19a4e540(); - double synapse0x19a4e580(); - double synapse0x19a4e900(); - double synapse0x19a4e940(); - double synapse0x19a4e980(); - double synapse0x19a4e9c0(); - double synapse0x19a4ea00(); - double synapse0x19a4ea40(); - double synapse0x19a4ea80(); - double synapse0x19a4eac0(); - double synapse0x19a4eb00(); - double synapse0x19a4eb40(); - double synapse0x19a4eec0(); - double synapse0x19a4ef00(); - double synapse0x19a4ef40(); - double synapse0x19a4ef80(); - double synapse0x19a4efc0(); - double synapse0x19a4f000(); - double synapse0x19a4f040(); - double synapse0x19a4f080(); - double synapse0x19a4f0c0(); - double synapse0x19a4cbc0(); - double synapse0x19a4cf40(); - double synapse0x19a4cf80(); - double synapse0x19a49e80(); - double synapse0x19a49ec0(); - double synapse0x19a49f00(); -}; - - -class ddNNEE { -public: - - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x8312580(); - double neuron0x83128c0(); - double neuron0x8312c00(); - double neuron0x8312f40(); - double neuron0x8313280(); - double neuron0x83135c0(); - double neuron0x8313900(); - double neuron0x8313c40(); - double input0x83140b0(); - double neuron0x83140b0(); - double input0x83144e0(); - double neuron0x83144e0(); - double input0x8314a20(); - double neuron0x8314a20(); - double input0x8314ff0(); - double neuron0x8314ff0(); - double input0x8315530(); - double neuron0x8315530(); - double input0x83158b0(); - double neuron0x83158b0(); - double input0x8315df0(); - double neuron0x8315df0(); - double input0x8316330(); - double neuron0x8316330(); - double input0x8316870(); - double neuron0x8316870(); - double input0x83170d0(); - double neuron0x83170d0(); - double input0x8317580(); - double neuron0x8317580(); - double input0x8317b40(); - double neuron0x8317b40(); - double input0x8318100(); - double neuron0x8318100(); - double input0x83186c0(); - double neuron0x83186c0(); - double input0x8318c80(); - double neuron0x8318c80(); - double input0x8316d00(); - double neuron0x8316d00(); - double synapse0x82728c0(); - double synapse0x831b180(); - double synapse0x8314360(); - double synapse0x83143a0(); - double synapse0x83143e0(); - double synapse0x8314420(); - double synapse0x8314460(); - double synapse0x83144a0(); - double synapse0x8314820(); - double synapse0x8314860(); - double synapse0x83148a0(); - double synapse0x83148e0(); - double synapse0x8314920(); - double synapse0x8314960(); - double synapse0x83149a0(); - double synapse0x83149e0(); - double synapse0x8314d60(); - double synapse0x8240e60(); - double synapse0x8240ea0(); - double synapse0x8314eb0(); - double synapse0x8314ef0(); - double synapse0x8314f30(); - double synapse0x8314f70(); - double synapse0x8314fb0(); - double synapse0x8315330(); - double synapse0x8315370(); - double synapse0x83153b0(); - double synapse0x83153f0(); - double synapse0x8315430(); - double synapse0x8315470(); - double synapse0x83154b0(); - double synapse0x83154f0(); - double synapse0x8315870(); - double synapse0x83124b0(); - double synapse0x831b1c0(); - double synapse0x825d1d0(); - double synapse0x8314da0(); - double synapse0x8314de0(); - double synapse0x8314e20(); - double synapse0x8314e60(); - double synapse0x8315bf0(); - double synapse0x8315c30(); - double synapse0x8315c70(); - double synapse0x8315cb0(); - double synapse0x8315cf0(); - double synapse0x8315d30(); - double synapse0x8315d70(); - double synapse0x8315db0(); - double synapse0x8316130(); - double synapse0x8316170(); - double synapse0x83161b0(); - double synapse0x83161f0(); - double synapse0x8316230(); - double synapse0x8316270(); - double synapse0x83162b0(); - double synapse0x83162f0(); - double synapse0x8316670(); - double synapse0x83166b0(); - double synapse0x83166f0(); - double synapse0x8316730(); - double synapse0x8316770(); - double synapse0x83167b0(); - double synapse0x83167f0(); - double synapse0x8316830(); - double synapse0x823eac0(); - double synapse0x823eb00(); - double synapse0x82599c0(); - double synapse0x8259a00(); - double synapse0x8259a40(); - double synapse0x8259a80(); - double synapse0x8259ac0(); - double synapse0x8259b00(); - double synapse0x8317380(); - double synapse0x83173c0(); - double synapse0x8317400(); - double synapse0x8317440(); - double synapse0x8317480(); - double synapse0x83174c0(); - double synapse0x8317500(); - double synapse0x8317540(); - double synapse0x83178c0(); - double synapse0x8317900(); - double synapse0x8317940(); - double synapse0x8317980(); - double synapse0x83179c0(); - double synapse0x8317a00(); - double synapse0x8317a40(); - double synapse0x8317a80(); - double synapse0x8317ac0(); - double synapse0x8317b00(); - double synapse0x8317e80(); - double synapse0x8317ec0(); - double synapse0x8317f00(); - double synapse0x8317f40(); - double synapse0x8317f80(); - double synapse0x8317fc0(); - double synapse0x8318000(); - double synapse0x8318040(); - double synapse0x8318080(); - double synapse0x83180c0(); - double synapse0x8318440(); - double synapse0x8318480(); - double synapse0x83184c0(); - double synapse0x8318500(); - double synapse0x8318540(); - double synapse0x8318580(); - double synapse0x83185c0(); - double synapse0x8318600(); - double synapse0x8318640(); - double synapse0x8318680(); - double synapse0x8318a00(); - double synapse0x8318a40(); - double synapse0x8318a80(); - double synapse0x8318ac0(); - double synapse0x8318b00(); - double synapse0x8318b40(); - double synapse0x8318b80(); - double synapse0x8318bc0(); - double synapse0x8318c00(); - double synapse0x8318c40(); - double synapse0x8318fc0(); - double synapse0x8319000(); - double synapse0x8319040(); - double synapse0x8319080(); - double synapse0x83190c0(); - double synapse0x8319100(); - double synapse0x8319140(); - double synapse0x8319180(); - double synapse0x83191c0(); - double synapse0x8316cc0(); - double synapse0x8317040(); - double synapse0x8317080(); - double synapse0x8313f80(); - double synapse0x8313fc0(); - double synapse0x8314000(); -}; - -class ldNNEE { -public: - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x1e957540(); - double neuron0x1e957880(); - double neuron0x1e957bc0(); - double neuron0x1e957f00(); - double neuron0x1e958240(); - double neuron0x1e958580(); - double neuron0x1e9588c0(); - double neuron0x1e958c00(); - double input0x1e959070(); - double neuron0x1e959070(); - double input0x1e9594a0(); - double neuron0x1e9594a0(); - double input0x1e9599e0(); - double neuron0x1e9599e0(); - double input0x1e959fb0(); - double neuron0x1e959fb0(); - double input0x1e95a4f0(); - double neuron0x1e95a4f0(); - double input0x1e95a870(); - double neuron0x1e95a870(); - double input0x1e95adb0(); - double neuron0x1e95adb0(); - double input0x1e95b2f0(); - double neuron0x1e95b2f0(); - double input0x1e95b830(); - double neuron0x1e95b830(); - double input0x1e95c090(); - double neuron0x1e95c090(); - double input0x1e95c540(); - double neuron0x1e95c540(); - double input0x1e95cb00(); - double neuron0x1e95cb00(); - double input0x1e95d0c0(); - double neuron0x1e95d0c0(); - double input0x1e95d680(); - double neuron0x1e95d680(); - double input0x1e95dc40(); - double neuron0x1e95dc40(); - double input0x1e95bcc0(); - double neuron0x1e95bcc0(); - double synapse0x1e8b7880(); - double synapse0x1e960140(); - double synapse0x1e959320(); - double synapse0x1e959360(); - double synapse0x1e9593a0(); - double synapse0x1e9593e0(); - double synapse0x1e959420(); - double synapse0x1e959460(); - double synapse0x1e9597e0(); - double synapse0x1e959820(); - double synapse0x1e959860(); - double synapse0x1e9598a0(); - double synapse0x1e9598e0(); - double synapse0x1e959920(); - double synapse0x1e959960(); - double synapse0x1e9599a0(); - double synapse0x1e959d20(); - double synapse0x1e885e20(); - double synapse0x1e885e60(); - double synapse0x1e959e70(); - double synapse0x1e959eb0(); - double synapse0x1e959ef0(); - double synapse0x1e959f30(); - double synapse0x1e959f70(); - double synapse0x1e95a2f0(); - double synapse0x1e95a330(); - double synapse0x1e95a370(); - double synapse0x1e95a3b0(); - double synapse0x1e95a3f0(); - double synapse0x1e95a430(); - double synapse0x1e95a470(); - double synapse0x1e95a4b0(); - double synapse0x1e95a830(); - double synapse0x1e957470(); - double synapse0x1e960180(); - double synapse0x1e8a2190(); - double synapse0x1e959d60(); - double synapse0x1e959da0(); - double synapse0x1e959de0(); - double synapse0x1e959e20(); - double synapse0x1e95abb0(); - double synapse0x1e95abf0(); - double synapse0x1e95ac30(); - double synapse0x1e95ac70(); - double synapse0x1e95acb0(); - double synapse0x1e95acf0(); - double synapse0x1e95ad30(); - double synapse0x1e95ad70(); - double synapse0x1e95b0f0(); - double synapse0x1e95b130(); - double synapse0x1e95b170(); - double synapse0x1e95b1b0(); - double synapse0x1e95b1f0(); - double synapse0x1e95b230(); - double synapse0x1e95b270(); - double synapse0x1e95b2b0(); - double synapse0x1e95b630(); - double synapse0x1e95b670(); - double synapse0x1e95b6b0(); - double synapse0x1e95b6f0(); - double synapse0x1e95b730(); - double synapse0x1e95b770(); - double synapse0x1e95b7b0(); - double synapse0x1e95b7f0(); - double synapse0x1e883a80(); - double synapse0x1e883ac0(); - double synapse0x1e89e980(); - double synapse0x1e89e9c0(); - double synapse0x1e89ea00(); - double synapse0x1e89ea40(); - double synapse0x1e89ea80(); - double synapse0x1e89eac0(); - double synapse0x1e95c340(); - double synapse0x1e95c380(); - double synapse0x1e95c3c0(); - double synapse0x1e95c400(); - double synapse0x1e95c440(); - double synapse0x1e95c480(); - double synapse0x1e95c4c0(); - double synapse0x1e95c500(); - double synapse0x1e95c880(); - double synapse0x1e95c8c0(); - double synapse0x1e95c900(); - double synapse0x1e95c940(); - double synapse0x1e95c980(); - double synapse0x1e95c9c0(); - double synapse0x1e95ca00(); - double synapse0x1e95ca40(); - double synapse0x1e95ca80(); - double synapse0x1e95cac0(); - double synapse0x1e95ce40(); - double synapse0x1e95ce80(); - double synapse0x1e95cec0(); - double synapse0x1e95cf00(); - double synapse0x1e95cf40(); - double synapse0x1e95cf80(); - double synapse0x1e95cfc0(); - double synapse0x1e95d000(); - double synapse0x1e95d040(); - double synapse0x1e95d080(); - double synapse0x1e95d400(); - double synapse0x1e95d440(); - double synapse0x1e95d480(); - double synapse0x1e95d4c0(); - double synapse0x1e95d500(); - double synapse0x1e95d540(); - double synapse0x1e95d580(); - double synapse0x1e95d5c0(); - double synapse0x1e95d600(); - double synapse0x1e95d640(); - double synapse0x1e95d9c0(); - double synapse0x1e95da00(); - double synapse0x1e95da40(); - double synapse0x1e95da80(); - double synapse0x1e95dac0(); - double synapse0x1e95db00(); - double synapse0x1e95db40(); - double synapse0x1e95db80(); - double synapse0x1e95dbc0(); - double synapse0x1e95dc00(); - double synapse0x1e95df80(); - double synapse0x1e95dfc0(); - double synapse0x1e95e000(); - double synapse0x1e95e040(); - double synapse0x1e95e080(); - double synapse0x1e95e0c0(); - double synapse0x1e95e100(); - double synapse0x1e95e140(); - double synapse0x1e95e180(); - double synapse0x1e95bc80(); - double synapse0x1e95c000(); - double synapse0x1e95c040(); - double synapse0x1e958f40(); - double synapse0x1e958f80(); - double synapse0x1e958fc0(); -}; - -class llNNEE { -public: - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x13012440(); - double neuron0x13012780(); - double neuron0x13012ac0(); - double neuron0x13012e00(); - double neuron0x13013140(); - double neuron0x13013480(); - double neuron0x130137c0(); - double neuron0x13013b00(); - double input0x13013f70(); - double neuron0x13013f70(); - double input0x130143a0(); - double neuron0x130143a0(); - double input0x130148e0(); - double neuron0x130148e0(); - double input0x13014eb0(); - double neuron0x13014eb0(); - double input0x130153f0(); - double neuron0x130153f0(); - double input0x13015770(); - double neuron0x13015770(); - double input0x13015cb0(); - double neuron0x13015cb0(); - double input0x130161f0(); - double neuron0x130161f0(); - double input0x13016730(); - double neuron0x13016730(); - double input0x13016f90(); - double neuron0x13016f90(); - double input0x13017440(); - double neuron0x13017440(); - double input0x13017a00(); - double neuron0x13017a00(); - double input0x13017fc0(); - double neuron0x13017fc0(); - double input0x13018580(); - double neuron0x13018580(); - double input0x13018b40(); - double neuron0x13018b40(); - double input0x13016bc0(); - double neuron0x13016bc0(); - double synapse0x12f72780(); - double synapse0x1301b040(); - double synapse0x13014220(); - double synapse0x13014260(); - double synapse0x130142a0(); - double synapse0x130142e0(); - double synapse0x13014320(); - double synapse0x13014360(); - double synapse0x130146e0(); - double synapse0x13014720(); - double synapse0x13014760(); - double synapse0x130147a0(); - double synapse0x130147e0(); - double synapse0x13014820(); - double synapse0x13014860(); - double synapse0x130148a0(); - double synapse0x13014c20(); - double synapse0x12f40d20(); - double synapse0x12f40d60(); - double synapse0x13014d70(); - double synapse0x13014db0(); - double synapse0x13014df0(); - double synapse0x13014e30(); - double synapse0x13014e70(); - double synapse0x130151f0(); - double synapse0x13015230(); - double synapse0x13015270(); - double synapse0x130152b0(); - double synapse0x130152f0(); - double synapse0x13015330(); - double synapse0x13015370(); - double synapse0x130153b0(); - double synapse0x13015730(); - double synapse0x13012370(); - double synapse0x1301b080(); - double synapse0x12f5d090(); - double synapse0x13014c60(); - double synapse0x13014ca0(); - double synapse0x13014ce0(); - double synapse0x13014d20(); - double synapse0x13015ab0(); - double synapse0x13015af0(); - double synapse0x13015b30(); - double synapse0x13015b70(); - double synapse0x13015bb0(); - double synapse0x13015bf0(); - double synapse0x13015c30(); - double synapse0x13015c70(); - double synapse0x13015ff0(); - double synapse0x13016030(); - double synapse0x13016070(); - double synapse0x130160b0(); - double synapse0x130160f0(); - double synapse0x13016130(); - double synapse0x13016170(); - double synapse0x130161b0(); - double synapse0x13016530(); - double synapse0x13016570(); - double synapse0x130165b0(); - double synapse0x130165f0(); - double synapse0x13016630(); - double synapse0x13016670(); - double synapse0x130166b0(); - double synapse0x130166f0(); - double synapse0x12f3e980(); - double synapse0x12f3e9c0(); - double synapse0x12f59880(); - double synapse0x12f598c0(); - double synapse0x12f59900(); - double synapse0x12f59940(); - double synapse0x12f59980(); - double synapse0x12f599c0(); - double synapse0x13017240(); - double synapse0x13017280(); - double synapse0x130172c0(); - double synapse0x13017300(); - double synapse0x13017340(); - double synapse0x13017380(); - double synapse0x130173c0(); - double synapse0x13017400(); - double synapse0x13017780(); - double synapse0x130177c0(); - double synapse0x13017800(); - double synapse0x13017840(); - double synapse0x13017880(); - double synapse0x130178c0(); - double synapse0x13017900(); - double synapse0x13017940(); - double synapse0x13017980(); - double synapse0x130179c0(); - double synapse0x13017d40(); - double synapse0x13017d80(); - double synapse0x13017dc0(); - double synapse0x13017e00(); - double synapse0x13017e40(); - double synapse0x13017e80(); - double synapse0x13017ec0(); - double synapse0x13017f00(); - double synapse0x13017f40(); - double synapse0x13017f80(); - double synapse0x13018300(); - double synapse0x13018340(); - double synapse0x13018380(); - double synapse0x130183c0(); - double synapse0x13018400(); - double synapse0x13018440(); - double synapse0x13018480(); - double synapse0x130184c0(); - double synapse0x13018500(); - double synapse0x13018540(); - double synapse0x130188c0(); - double synapse0x13018900(); - double synapse0x13018940(); - double synapse0x13018980(); - double synapse0x130189c0(); - double synapse0x13018a00(); - double synapse0x13018a40(); - double synapse0x13018a80(); - double synapse0x13018ac0(); - double synapse0x13018b00(); - double synapse0x13018e80(); - double synapse0x13018ec0(); - double synapse0x13018f00(); - double synapse0x13018f40(); - double synapse0x13018f80(); - double synapse0x13018fc0(); - double synapse0x13019000(); - double synapse0x13019040(); - double synapse0x13019080(); - double synapse0x13016b80(); - double synapse0x13016f00(); - double synapse0x13016f40(); - double synapse0x13013e40(); - double synapse0x13013e80(); - double synapse0x13013ec0(); -}; - -class luNNEE { -public: - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x1d23f500(); - double neuron0x1d23f840(); - double neuron0x1d23fb80(); - double neuron0x1d23fec0(); - double neuron0x1d240200(); - double neuron0x1d240540(); - double neuron0x1d240880(); - double neuron0x1d240bc0(); - double input0x1d241030(); - double neuron0x1d241030(); - double input0x1d241460(); - double neuron0x1d241460(); - double input0x1d2419a0(); - double neuron0x1d2419a0(); - double input0x1d241f70(); - double neuron0x1d241f70(); - double input0x1d2424b0(); - double neuron0x1d2424b0(); - double input0x1d242830(); - double neuron0x1d242830(); - double input0x1d242d70(); - double neuron0x1d242d70(); - double input0x1d2432b0(); - double neuron0x1d2432b0(); - double input0x1d2437f0(); - double neuron0x1d2437f0(); - double input0x1d244050(); - double neuron0x1d244050(); - double input0x1d244500(); - double neuron0x1d244500(); - double input0x1d244ac0(); - double neuron0x1d244ac0(); - double input0x1d245080(); - double neuron0x1d245080(); - double input0x1d245640(); - double neuron0x1d245640(); - double input0x1d245c00(); - double neuron0x1d245c00(); - double input0x1d243c80(); - double neuron0x1d243c80(); - double synapse0x1d19f840(); - double synapse0x1d248100(); - double synapse0x1d2412e0(); - double synapse0x1d241320(); - double synapse0x1d241360(); - double synapse0x1d2413a0(); - double synapse0x1d2413e0(); - double synapse0x1d241420(); - double synapse0x1d2417a0(); - double synapse0x1d2417e0(); - double synapse0x1d241820(); - double synapse0x1d241860(); - double synapse0x1d2418a0(); - double synapse0x1d2418e0(); - double synapse0x1d241920(); - double synapse0x1d241960(); - double synapse0x1d241ce0(); - double synapse0x1d16dde0(); - double synapse0x1d16de20(); - double synapse0x1d241e30(); - double synapse0x1d241e70(); - double synapse0x1d241eb0(); - double synapse0x1d241ef0(); - double synapse0x1d241f30(); - double synapse0x1d2422b0(); - double synapse0x1d2422f0(); - double synapse0x1d242330(); - double synapse0x1d242370(); - double synapse0x1d2423b0(); - double synapse0x1d2423f0(); - double synapse0x1d242430(); - double synapse0x1d242470(); - double synapse0x1d2427f0(); - double synapse0x1d23f430(); - double synapse0x1d248140(); - double synapse0x1d18a150(); - double synapse0x1d241d20(); - double synapse0x1d241d60(); - double synapse0x1d241da0(); - double synapse0x1d241de0(); - double synapse0x1d242b70(); - double synapse0x1d242bb0(); - double synapse0x1d242bf0(); - double synapse0x1d242c30(); - double synapse0x1d242c70(); - double synapse0x1d242cb0(); - double synapse0x1d242cf0(); - double synapse0x1d242d30(); - double synapse0x1d2430b0(); - double synapse0x1d2430f0(); - double synapse0x1d243130(); - double synapse0x1d243170(); - double synapse0x1d2431b0(); - double synapse0x1d2431f0(); - double synapse0x1d243230(); - double synapse0x1d243270(); - double synapse0x1d2435f0(); - double synapse0x1d243630(); - double synapse0x1d243670(); - double synapse0x1d2436b0(); - double synapse0x1d2436f0(); - double synapse0x1d243730(); - double synapse0x1d243770(); - double synapse0x1d2437b0(); - double synapse0x1d16ba40(); - double synapse0x1d16ba80(); - double synapse0x1d186940(); - double synapse0x1d186980(); - double synapse0x1d1869c0(); - double synapse0x1d186a00(); - double synapse0x1d186a40(); - double synapse0x1d186a80(); - double synapse0x1d244300(); - double synapse0x1d244340(); - double synapse0x1d244380(); - double synapse0x1d2443c0(); - double synapse0x1d244400(); - double synapse0x1d244440(); - double synapse0x1d244480(); - double synapse0x1d2444c0(); - double synapse0x1d244840(); - double synapse0x1d244880(); - double synapse0x1d2448c0(); - double synapse0x1d244900(); - double synapse0x1d244940(); - double synapse0x1d244980(); - double synapse0x1d2449c0(); - double synapse0x1d244a00(); - double synapse0x1d244a40(); - double synapse0x1d244a80(); - double synapse0x1d244e00(); - double synapse0x1d244e40(); - double synapse0x1d244e80(); - double synapse0x1d244ec0(); - double synapse0x1d244f00(); - double synapse0x1d244f40(); - double synapse0x1d244f80(); - double synapse0x1d244fc0(); - double synapse0x1d245000(); - double synapse0x1d245040(); - double synapse0x1d2453c0(); - double synapse0x1d245400(); - double synapse0x1d245440(); - double synapse0x1d245480(); - double synapse0x1d2454c0(); - double synapse0x1d245500(); - double synapse0x1d245540(); - double synapse0x1d245580(); - double synapse0x1d2455c0(); - double synapse0x1d245600(); - double synapse0x1d245980(); - double synapse0x1d2459c0(); - double synapse0x1d245a00(); - double synapse0x1d245a40(); - double synapse0x1d245a80(); - double synapse0x1d245ac0(); - double synapse0x1d245b00(); - double synapse0x1d245b40(); - double synapse0x1d245b80(); - double synapse0x1d245bc0(); - double synapse0x1d245f40(); - double synapse0x1d245f80(); - double synapse0x1d245fc0(); - double synapse0x1d246000(); - double synapse0x1d246040(); - double synapse0x1d246080(); - double synapse0x1d2460c0(); - double synapse0x1d246100(); - double synapse0x1d246140(); - double synapse0x1d243c40(); - double synapse0x1d243fc0(); - double synapse0x1d244000(); - double synapse0x1d240f00(); - double synapse0x1d240f40(); - double synapse0x1d240f80(); -}; - -class rdNNEE { -public: - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x1ff935c0(); - double neuron0x1ff93900(); - double neuron0x1ff93c40(); - double neuron0x1ff93f80(); - double neuron0x1ff942c0(); - double neuron0x1ff94600(); - double neuron0x1ff94940(); - double neuron0x1ff94c80(); - double input0x1ff950f0(); - double neuron0x1ff950f0(); - double input0x1ff95520(); - double neuron0x1ff95520(); - double input0x1ff95a60(); - double neuron0x1ff95a60(); - double input0x1ff96030(); - double neuron0x1ff96030(); - double input0x1ff96570(); - double neuron0x1ff96570(); - double input0x1ff968f0(); - double neuron0x1ff968f0(); - double input0x1ff96e30(); - double neuron0x1ff96e30(); - double input0x1ff97370(); - double neuron0x1ff97370(); - double input0x1ff978b0(); - double neuron0x1ff978b0(); - double input0x1ff98110(); - double neuron0x1ff98110(); - double input0x1ff985c0(); - double neuron0x1ff985c0(); - double input0x1ff98b80(); - double neuron0x1ff98b80(); - double input0x1ff99140(); - double neuron0x1ff99140(); - double input0x1ff99700(); - double neuron0x1ff99700(); - double input0x1ff99cc0(); - double neuron0x1ff99cc0(); - double input0x1ff97d40(); - double neuron0x1ff97d40(); - double synapse0x1fef3900(); - double synapse0x1ff9c1c0(); - double synapse0x1ff953a0(); - double synapse0x1ff953e0(); - double synapse0x1ff95420(); - double synapse0x1ff95460(); - double synapse0x1ff954a0(); - double synapse0x1ff954e0(); - double synapse0x1ff95860(); - double synapse0x1ff958a0(); - double synapse0x1ff958e0(); - double synapse0x1ff95920(); - double synapse0x1ff95960(); - double synapse0x1ff959a0(); - double synapse0x1ff959e0(); - double synapse0x1ff95a20(); - double synapse0x1ff95da0(); - double synapse0x1fec1ea0(); - double synapse0x1fec1ee0(); - double synapse0x1ff95ef0(); - double synapse0x1ff95f30(); - double synapse0x1ff95f70(); - double synapse0x1ff95fb0(); - double synapse0x1ff95ff0(); - double synapse0x1ff96370(); - double synapse0x1ff963b0(); - double synapse0x1ff963f0(); - double synapse0x1ff96430(); - double synapse0x1ff96470(); - double synapse0x1ff964b0(); - double synapse0x1ff964f0(); - double synapse0x1ff96530(); - double synapse0x1ff968b0(); - double synapse0x1ff934f0(); - double synapse0x1ff9c200(); - double synapse0x1fede210(); - double synapse0x1ff95de0(); - double synapse0x1ff95e20(); - double synapse0x1ff95e60(); - double synapse0x1ff95ea0(); - double synapse0x1ff96c30(); - double synapse0x1ff96c70(); - double synapse0x1ff96cb0(); - double synapse0x1ff96cf0(); - double synapse0x1ff96d30(); - double synapse0x1ff96d70(); - double synapse0x1ff96db0(); - double synapse0x1ff96df0(); - double synapse0x1ff97170(); - double synapse0x1ff971b0(); - double synapse0x1ff971f0(); - double synapse0x1ff97230(); - double synapse0x1ff97270(); - double synapse0x1ff972b0(); - double synapse0x1ff972f0(); - double synapse0x1ff97330(); - double synapse0x1ff976b0(); - double synapse0x1ff976f0(); - double synapse0x1ff97730(); - double synapse0x1ff97770(); - double synapse0x1ff977b0(); - double synapse0x1ff977f0(); - double synapse0x1ff97830(); - double synapse0x1ff97870(); - double synapse0x1febfb00(); - double synapse0x1febfb40(); - double synapse0x1fedaa00(); - double synapse0x1fedaa40(); - double synapse0x1fedaa80(); - double synapse0x1fedaac0(); - double synapse0x1fedab00(); - double synapse0x1fedab40(); - double synapse0x1ff983c0(); - double synapse0x1ff98400(); - double synapse0x1ff98440(); - double synapse0x1ff98480(); - double synapse0x1ff984c0(); - double synapse0x1ff98500(); - double synapse0x1ff98540(); - double synapse0x1ff98580(); - double synapse0x1ff98900(); - double synapse0x1ff98940(); - double synapse0x1ff98980(); - double synapse0x1ff989c0(); - double synapse0x1ff98a00(); - double synapse0x1ff98a40(); - double synapse0x1ff98a80(); - double synapse0x1ff98ac0(); - double synapse0x1ff98b00(); - double synapse0x1ff98b40(); - double synapse0x1ff98ec0(); - double synapse0x1ff98f00(); - double synapse0x1ff98f40(); - double synapse0x1ff98f80(); - double synapse0x1ff98fc0(); - double synapse0x1ff99000(); - double synapse0x1ff99040(); - double synapse0x1ff99080(); - double synapse0x1ff990c0(); - double synapse0x1ff99100(); - double synapse0x1ff99480(); - double synapse0x1ff994c0(); - double synapse0x1ff99500(); - double synapse0x1ff99540(); - double synapse0x1ff99580(); - double synapse0x1ff995c0(); - double synapse0x1ff99600(); - double synapse0x1ff99640(); - double synapse0x1ff99680(); - double synapse0x1ff996c0(); - double synapse0x1ff99a40(); - double synapse0x1ff99a80(); - double synapse0x1ff99ac0(); - double synapse0x1ff99b00(); - double synapse0x1ff99b40(); - double synapse0x1ff99b80(); - double synapse0x1ff99bc0(); - double synapse0x1ff99c00(); - double synapse0x1ff99c40(); - double synapse0x1ff99c80(); - double synapse0x1ff9a000(); - double synapse0x1ff9a040(); - double synapse0x1ff9a080(); - double synapse0x1ff9a0c0(); - double synapse0x1ff9a100(); - double synapse0x1ff9a140(); - double synapse0x1ff9a180(); - double synapse0x1ff9a1c0(); - double synapse0x1ff9a200(); - double synapse0x1ff97d00(); - double synapse0x1ff98080(); - double synapse0x1ff980c0(); - double synapse0x1ff94fc0(); - double synapse0x1ff95000(); - double synapse0x1ff95040(); -}; - -class rrNNEE { -public: - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x6729400(); - double neuron0x6729740(); - double neuron0x6729a80(); - double neuron0x6729dc0(); - double neuron0x672a100(); - double neuron0x672a440(); - double neuron0x672a780(); - double neuron0x672aac0(); - double input0x672af30(); - double neuron0x672af30(); - double input0x672b360(); - double neuron0x672b360(); - double input0x672b8a0(); - double neuron0x672b8a0(); - double input0x672be70(); - double neuron0x672be70(); - double input0x672c3b0(); - double neuron0x672c3b0(); - double input0x672c730(); - double neuron0x672c730(); - double input0x672cc70(); - double neuron0x672cc70(); - double input0x672d1b0(); - double neuron0x672d1b0(); - double input0x672d6f0(); - double neuron0x672d6f0(); - double input0x672df50(); - double neuron0x672df50(); - double input0x672e400(); - double neuron0x672e400(); - double input0x672e9c0(); - double neuron0x672e9c0(); - double input0x672ef80(); - double neuron0x672ef80(); - double input0x672f540(); - double neuron0x672f540(); - double input0x672fb00(); - double neuron0x672fb00(); - double input0x672db80(); - double neuron0x672db80(); - double synapse0x6689740(); - double synapse0x6732000(); - double synapse0x672b1e0(); - double synapse0x672b220(); - double synapse0x672b260(); - double synapse0x672b2a0(); - double synapse0x672b2e0(); - double synapse0x672b320(); - double synapse0x672b6a0(); - double synapse0x672b6e0(); - double synapse0x672b720(); - double synapse0x672b760(); - double synapse0x672b7a0(); - double synapse0x672b7e0(); - double synapse0x672b820(); - double synapse0x672b860(); - double synapse0x672bbe0(); - double synapse0x6657ce0(); - double synapse0x6657d20(); - double synapse0x672bd30(); - double synapse0x672bd70(); - double synapse0x672bdb0(); - double synapse0x672bdf0(); - double synapse0x672be30(); - double synapse0x672c1b0(); - double synapse0x672c1f0(); - double synapse0x672c230(); - double synapse0x672c270(); - double synapse0x672c2b0(); - double synapse0x672c2f0(); - double synapse0x672c330(); - double synapse0x672c370(); - double synapse0x672c6f0(); - double synapse0x6729330(); - double synapse0x6732040(); - double synapse0x6674050(); - double synapse0x672bc20(); - double synapse0x672bc60(); - double synapse0x672bca0(); - double synapse0x672bce0(); - double synapse0x672ca70(); - double synapse0x672cab0(); - double synapse0x672caf0(); - double synapse0x672cb30(); - double synapse0x672cb70(); - double synapse0x672cbb0(); - double synapse0x672cbf0(); - double synapse0x672cc30(); - double synapse0x672cfb0(); - double synapse0x672cff0(); - double synapse0x672d030(); - double synapse0x672d070(); - double synapse0x672d0b0(); - double synapse0x672d0f0(); - double synapse0x672d130(); - double synapse0x672d170(); - double synapse0x672d4f0(); - double synapse0x672d530(); - double synapse0x672d570(); - double synapse0x672d5b0(); - double synapse0x672d5f0(); - double synapse0x672d630(); - double synapse0x672d670(); - double synapse0x672d6b0(); - double synapse0x6655940(); - double synapse0x6655980(); - double synapse0x6670840(); - double synapse0x6670880(); - double synapse0x66708c0(); - double synapse0x6670900(); - double synapse0x6670940(); - double synapse0x6670980(); - double synapse0x672e200(); - double synapse0x672e240(); - double synapse0x672e280(); - double synapse0x672e2c0(); - double synapse0x672e300(); - double synapse0x672e340(); - double synapse0x672e380(); - double synapse0x672e3c0(); - double synapse0x672e740(); - double synapse0x672e780(); - double synapse0x672e7c0(); - double synapse0x672e800(); - double synapse0x672e840(); - double synapse0x672e880(); - double synapse0x672e8c0(); - double synapse0x672e900(); - double synapse0x672e940(); - double synapse0x672e980(); - double synapse0x672ed00(); - double synapse0x672ed40(); - double synapse0x672ed80(); - double synapse0x672edc0(); - double synapse0x672ee00(); - double synapse0x672ee40(); - double synapse0x672ee80(); - double synapse0x672eec0(); - double synapse0x672ef00(); - double synapse0x672ef40(); - double synapse0x672f2c0(); - double synapse0x672f300(); - double synapse0x672f340(); - double synapse0x672f380(); - double synapse0x672f3c0(); - double synapse0x672f400(); - double synapse0x672f440(); - double synapse0x672f480(); - double synapse0x672f4c0(); - double synapse0x672f500(); - double synapse0x672f880(); - double synapse0x672f8c0(); - double synapse0x672f900(); - double synapse0x672f940(); - double synapse0x672f980(); - double synapse0x672f9c0(); - double synapse0x672fa00(); - double synapse0x672fa40(); - double synapse0x672fa80(); - double synapse0x672fac0(); - double synapse0x672fe40(); - double synapse0x672fe80(); - double synapse0x672fec0(); - double synapse0x672ff00(); - double synapse0x672ff40(); - double synapse0x672ff80(); - double synapse0x672ffc0(); - double synapse0x6730000(); - double synapse0x6730040(); - double synapse0x672db40(); - double synapse0x672dec0(); - double synapse0x672df00(); - double synapse0x672ae00(); - double synapse0x672ae40(); - double synapse0x672ae80(); -}; - -class ruNNEE { -public: - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0xa8284c0(); - double neuron0xa828800(); - double neuron0xa828b40(); - double neuron0xa828e80(); - double neuron0xa8291c0(); - double neuron0xa829500(); - double neuron0xa829840(); - double neuron0xa829b80(); - double input0xa829ff0(); - double neuron0xa829ff0(); - double input0xa82a420(); - double neuron0xa82a420(); - double input0xa82a960(); - double neuron0xa82a960(); - double input0xa82af30(); - double neuron0xa82af30(); - double input0xa82b470(); - double neuron0xa82b470(); - double input0xa82b7f0(); - double neuron0xa82b7f0(); - double input0xa82bd30(); - double neuron0xa82bd30(); - double input0xa82c270(); - double neuron0xa82c270(); - double input0xa82c7b0(); - double neuron0xa82c7b0(); - double input0xa82d010(); - double neuron0xa82d010(); - double input0xa82d4c0(); - double neuron0xa82d4c0(); - double input0xa82da80(); - double neuron0xa82da80(); - double input0xa82e040(); - double neuron0xa82e040(); - double input0xa82e600(); - double neuron0xa82e600(); - double input0xa82ebc0(); - double neuron0xa82ebc0(); - double input0xa82cc40(); - double neuron0xa82cc40(); - double synapse0xa788800(); - double synapse0xa8310c0(); - double synapse0xa82a2a0(); - double synapse0xa82a2e0(); - double synapse0xa82a320(); - double synapse0xa82a360(); - double synapse0xa82a3a0(); - double synapse0xa82a3e0(); - double synapse0xa82a760(); - double synapse0xa82a7a0(); - double synapse0xa82a7e0(); - double synapse0xa82a820(); - double synapse0xa82a860(); - double synapse0xa82a8a0(); - double synapse0xa82a8e0(); - double synapse0xa82a920(); - double synapse0xa82aca0(); - double synapse0xa756da0(); - double synapse0xa756de0(); - double synapse0xa82adf0(); - double synapse0xa82ae30(); - double synapse0xa82ae70(); - double synapse0xa82aeb0(); - double synapse0xa82aef0(); - double synapse0xa82b270(); - double synapse0xa82b2b0(); - double synapse0xa82b2f0(); - double synapse0xa82b330(); - double synapse0xa82b370(); - double synapse0xa82b3b0(); - double synapse0xa82b3f0(); - double synapse0xa82b430(); - double synapse0xa82b7b0(); - double synapse0xa8283f0(); - double synapse0xa831100(); - double synapse0xa773110(); - double synapse0xa82ace0(); - double synapse0xa82ad20(); - double synapse0xa82ad60(); - double synapse0xa82ada0(); - double synapse0xa82bb30(); - double synapse0xa82bb70(); - double synapse0xa82bbb0(); - double synapse0xa82bbf0(); - double synapse0xa82bc30(); - double synapse0xa82bc70(); - double synapse0xa82bcb0(); - double synapse0xa82bcf0(); - double synapse0xa82c070(); - double synapse0xa82c0b0(); - double synapse0xa82c0f0(); - double synapse0xa82c130(); - double synapse0xa82c170(); - double synapse0xa82c1b0(); - double synapse0xa82c1f0(); - double synapse0xa82c230(); - double synapse0xa82c5b0(); - double synapse0xa82c5f0(); - double synapse0xa82c630(); - double synapse0xa82c670(); - double synapse0xa82c6b0(); - double synapse0xa82c6f0(); - double synapse0xa82c730(); - double synapse0xa82c770(); - double synapse0xa754a00(); - double synapse0xa754a40(); - double synapse0xa76f900(); - double synapse0xa76f940(); - double synapse0xa76f980(); - double synapse0xa76f9c0(); - double synapse0xa76fa00(); - double synapse0xa76fa40(); - double synapse0xa82d2c0(); - double synapse0xa82d300(); - double synapse0xa82d340(); - double synapse0xa82d380(); - double synapse0xa82d3c0(); - double synapse0xa82d400(); - double synapse0xa82d440(); - double synapse0xa82d480(); - double synapse0xa82d800(); - double synapse0xa82d840(); - double synapse0xa82d880(); - double synapse0xa82d8c0(); - double synapse0xa82d900(); - double synapse0xa82d940(); - double synapse0xa82d980(); - double synapse0xa82d9c0(); - double synapse0xa82da00(); - double synapse0xa82da40(); - double synapse0xa82ddc0(); - double synapse0xa82de00(); - double synapse0xa82de40(); - double synapse0xa82de80(); - double synapse0xa82dec0(); - double synapse0xa82df00(); - double synapse0xa82df40(); - double synapse0xa82df80(); - double synapse0xa82dfc0(); - double synapse0xa82e000(); - double synapse0xa82e380(); - double synapse0xa82e3c0(); - double synapse0xa82e400(); - double synapse0xa82e440(); - double synapse0xa82e480(); - double synapse0xa82e4c0(); - double synapse0xa82e500(); - double synapse0xa82e540(); - double synapse0xa82e580(); - double synapse0xa82e5c0(); - double synapse0xa82e940(); - double synapse0xa82e980(); - double synapse0xa82e9c0(); - double synapse0xa82ea00(); - double synapse0xa82ea40(); - double synapse0xa82ea80(); - double synapse0xa82eac0(); - double synapse0xa82eb00(); - double synapse0xa82eb40(); - double synapse0xa82eb80(); - double synapse0xa82ef00(); - double synapse0xa82ef40(); - double synapse0xa82ef80(); - double synapse0xa82efc0(); - double synapse0xa82f000(); - double synapse0xa82f040(); - double synapse0xa82f080(); - double synapse0xa82f0c0(); - double synapse0xa82f100(); - double synapse0xa82cc00(); - double synapse0xa82cf80(); - double synapse0xa82cfc0(); - double synapse0xa829ec0(); - double synapse0xa829f00(); - double synapse0xa829f40(); -}; - -class uuNNEE { -public: - double Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7); - double Value(int index, double* input); -private: - double input0; - double input1; - double input2; - double input3; - double input4; - double input5; - double input6; - double input7; - double neuron0x1e0e03c0(); - double neuron0x1e0e0700(); - double neuron0x1e0e0a40(); - double neuron0x1e0e0d80(); - double neuron0x1e0e10c0(); - double neuron0x1e0e1400(); - double neuron0x1e0e1740(); - double neuron0x1e0e1a80(); - double input0x1e0e1ef0(); - double neuron0x1e0e1ef0(); - double input0x1e0e2320(); - double neuron0x1e0e2320(); - double input0x1e0e2860(); - double neuron0x1e0e2860(); - double input0x1e0e2e30(); - double neuron0x1e0e2e30(); - double input0x1e0e3370(); - double neuron0x1e0e3370(); - double input0x1e0e36f0(); - double neuron0x1e0e36f0(); - double input0x1e0e3c30(); - double neuron0x1e0e3c30(); - double input0x1e0e4170(); - double neuron0x1e0e4170(); - double input0x1e0e46b0(); - double neuron0x1e0e46b0(); - double input0x1e0e4f10(); - double neuron0x1e0e4f10(); - double input0x1e0e53c0(); - double neuron0x1e0e53c0(); - double input0x1e0e5980(); - double neuron0x1e0e5980(); - double input0x1e0e5f40(); - double neuron0x1e0e5f40(); - double input0x1e0e6500(); - double neuron0x1e0e6500(); - double input0x1e0e6ac0(); - double neuron0x1e0e6ac0(); - double input0x1e0e4b40(); - double neuron0x1e0e4b40(); - double synapse0x1e040700(); - double synapse0x1e0e8fc0(); - double synapse0x1e0e21a0(); - double synapse0x1e0e21e0(); - double synapse0x1e0e2220(); - double synapse0x1e0e2260(); - double synapse0x1e0e22a0(); - double synapse0x1e0e22e0(); - double synapse0x1e0e2660(); - double synapse0x1e0e26a0(); - double synapse0x1e0e26e0(); - double synapse0x1e0e2720(); - double synapse0x1e0e2760(); - double synapse0x1e0e27a0(); - double synapse0x1e0e27e0(); - double synapse0x1e0e2820(); - double synapse0x1e0e2ba0(); - double synapse0x1e00eca0(); - double synapse0x1e00ece0(); - double synapse0x1e0e2cf0(); - double synapse0x1e0e2d30(); - double synapse0x1e0e2d70(); - double synapse0x1e0e2db0(); - double synapse0x1e0e2df0(); - double synapse0x1e0e3170(); - double synapse0x1e0e31b0(); - double synapse0x1e0e31f0(); - double synapse0x1e0e3230(); - double synapse0x1e0e3270(); - double synapse0x1e0e32b0(); - double synapse0x1e0e32f0(); - double synapse0x1e0e3330(); - double synapse0x1e0e36b0(); - double synapse0x1e0e02f0(); - double synapse0x1e0e9000(); - double synapse0x1e02b010(); - double synapse0x1e0e2be0(); - double synapse0x1e0e2c20(); - double synapse0x1e0e2c60(); - double synapse0x1e0e2ca0(); - double synapse0x1e0e3a30(); - double synapse0x1e0e3a70(); - double synapse0x1e0e3ab0(); - double synapse0x1e0e3af0(); - double synapse0x1e0e3b30(); - double synapse0x1e0e3b70(); - double synapse0x1e0e3bb0(); - double synapse0x1e0e3bf0(); - double synapse0x1e0e3f70(); - double synapse0x1e0e3fb0(); - double synapse0x1e0e3ff0(); - double synapse0x1e0e4030(); - double synapse0x1e0e4070(); - double synapse0x1e0e40b0(); - double synapse0x1e0e40f0(); - double synapse0x1e0e4130(); - double synapse0x1e0e44b0(); - double synapse0x1e0e44f0(); - double synapse0x1e0e4530(); - double synapse0x1e0e4570(); - double synapse0x1e0e45b0(); - double synapse0x1e0e45f0(); - double synapse0x1e0e4630(); - double synapse0x1e0e4670(); - double synapse0x1e00c900(); - double synapse0x1e00c940(); - double synapse0x1e027800(); - double synapse0x1e027840(); - double synapse0x1e027880(); - double synapse0x1e0278c0(); - double synapse0x1e027900(); - double synapse0x1e027940(); - double synapse0x1e0e51c0(); - double synapse0x1e0e5200(); - double synapse0x1e0e5240(); - double synapse0x1e0e5280(); - double synapse0x1e0e52c0(); - double synapse0x1e0e5300(); - double synapse0x1e0e5340(); - double synapse0x1e0e5380(); - double synapse0x1e0e5700(); - double synapse0x1e0e5740(); - double synapse0x1e0e5780(); - double synapse0x1e0e57c0(); - double synapse0x1e0e5800(); - double synapse0x1e0e5840(); - double synapse0x1e0e5880(); - double synapse0x1e0e58c0(); - double synapse0x1e0e5900(); - double synapse0x1e0e5940(); - double synapse0x1e0e5cc0(); - double synapse0x1e0e5d00(); - double synapse0x1e0e5d40(); - double synapse0x1e0e5d80(); - double synapse0x1e0e5dc0(); - double synapse0x1e0e5e00(); - double synapse0x1e0e5e40(); - double synapse0x1e0e5e80(); - double synapse0x1e0e5ec0(); - double synapse0x1e0e5f00(); - double synapse0x1e0e6280(); - double synapse0x1e0e62c0(); - double synapse0x1e0e6300(); - double synapse0x1e0e6340(); - double synapse0x1e0e6380(); - double synapse0x1e0e63c0(); - double synapse0x1e0e6400(); - double synapse0x1e0e6440(); - double synapse0x1e0e6480(); - double synapse0x1e0e64c0(); - double synapse0x1e0e6840(); - double synapse0x1e0e6880(); - double synapse0x1e0e68c0(); - double synapse0x1e0e6900(); - double synapse0x1e0e6940(); - double synapse0x1e0e6980(); - double synapse0x1e0e69c0(); - double synapse0x1e0e6a00(); - double synapse0x1e0e6a40(); - double synapse0x1e0e6a80(); - double synapse0x1e0e6e00(); - double synapse0x1e0e6e40(); - double synapse0x1e0e6e80(); - double synapse0x1e0e6ec0(); - double synapse0x1e0e6f00(); - double synapse0x1e0e6f40(); - double synapse0x1e0e6f80(); - double synapse0x1e0e6fc0(); - double synapse0x1e0e7000(); - double synapse0x1e0e4b00(); - double synapse0x1e0e4e80(); - double synapse0x1e0e4ec0(); - double synapse0x1e0e1dc0(); - double synapse0x1e0e1e00(); - double synapse0x1e0e1e40(); -}; - -#endif // xyNNEE_h - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc deleted file mode 100644 index 4637ed52b7921..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEBDeadChannelsNN.cc +++ /dev/null @@ -1,162 +0,0 @@ -#include -#include -#include -#include -#include - -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h" - -using namespace std; - -double CorrectEBDeadChannelsNN(DeadChannelNNContext &ctx, double *M3x3Input, double epsilon) { - double NNResult ; - typedef DeadChannelNNContext::NetworkID NT; - - // Arrangement within the M3x3Input matrix - // - // M3x3 - // ----------------------------------- - // - // - // LU UU RU 04 01 07 - // LL CC RR or 03 00 06 - // LD DD RD 05 02 08 - // - // - - - // Enumeration to switch from custom names within the 3x3 matrix. - enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; - - // Conversion between M3x3Input matrix and M5x5 matrix needed by NN: - - double M3x3[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; // This is the 3x3 around the Max Containment Crystal. - - M3x3[LU] = M3x3Input[LU]; M3x3[UU] = M3x3Input[UU]; M3x3[RU] = M3x3Input[RU]; - M3x3[LL] = M3x3Input[LL]; M3x3[CC] = M3x3Input[CC]; M3x3[RR] = M3x3Input[RR]; - M3x3[LD] = M3x3Input[LD]; M3x3[DD] = M3x3Input[DD]; M3x3[RD] = M3x3Input[RD]; - - // Find the Dead Channels inside the 3x3 matrix - std::vector idxDC_v; - - for (int i=0; i<9; i++) { - if ( TMath::Abs(M3x3[i]) < epsilon ) { idxDC_v.push_back(i) ; } - } - - // Currently EXACTLY ONE AND ONLY ONE dead cell is corrected. Return -1000000.0 if zero DC's detected and -101.0 if more than one DC's exist. - int idxDC = -1 ; - if ( idxDC_v.size() == 0 ) { NNResult = -1000000.0 ; return NNResult ; } // Zero DC's were detected - if ( idxDC_v.size() > 1 ) { NNResult = -1000001.0 ; return NNResult ; } // More than one DC's detected. - if ( idxDC_v.size() == 1 ) { idxDC = idxDC_v.at(0) ; } - - // Generally the "dead" cells are allowed to have negative energies (since they will be estimated by the ANN anyway). - // But all the remaining "live" ones must have positive values otherwise the logarithm fails. - for (int i=0; i<9; i++) { - if ( M3x3[i] < 0.0 && TMath::Abs(M3x3[i]) >= epsilon ) { NNResult = -2000000.0 ; return NNResult ; } - } - - // Call ANN code depending the detector region. Intermediate varibles "lnXX" are created individualy inside the switch statement - // instead of globaly outside the "if-block" to avoid the case where some cell value is zero (that would be the "dead" cell). - // - double lnLU ; double lnUU ; double lnRU ; - double lnLL ; double lnCC ; double lnRR ; - double lnLD ; double lnDD ; double lnRD ; - - // Select the case to apply the appropriate NN and return the result. - if ( idxDC == CC ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp( ctx.value(NT::ccEB, 0, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[CC] = NNResult ; - - } else if ( idxDC == RR ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp( ctx.value(NT::rrEB, 0, lnCC, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[RR] = NNResult ; - - } else if ( idxDC == LL ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp( ctx.value(NT::llEB, 0, lnCC, lnRR, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[LL] = NNResult ; - - } else if ( idxDC == UU ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp( ctx.value(NT::uuEB, 0, lnCC, lnRR, lnLL, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[UU] = NNResult ; - - } else if ( idxDC == DD ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp( ctx.value(NT::ddEB, 0, lnCC, lnRR, lnLL, lnUU, lnRU, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[DD] = NNResult ; - - } else if ( idxDC == RU ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp( ctx.value(NT::ruEB, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[RU] = NNResult ; - - } else if ( idxDC == RD ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; - - NNResult = TMath::Exp( ctx.value(NT::rdEB, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnLU, lnLD ) ) ; - - M3x3Input[RD] = NNResult ; - - } else if ( idxDC == LU ) { - - lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp( ctx.value(NT::luEB, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLD ) ) ; - - M3x3Input[LU] = NNResult ; - - } else if ( idxDC == LD ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp( ctx.value(NT::ldEB, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU ) ) ; - - M3x3Input[LD] = NNResult ; - - } else { - // Error - NNResult = -3000000.0; - } - - return NNResult ; -} diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc deleted file mode 100644 index 5ffa117a99665..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/CorrectEEDeadChannelsNN.cc +++ /dev/null @@ -1,163 +0,0 @@ -#include -#include -#include -#include -#include - -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h" - -using namespace std; - -double CorrectEEDeadChannelsNN(DeadChannelNNContext &ctx, double *M3x3Input, double epsilon) { - - double NNResult ; - typedef DeadChannelNNContext::NetworkID NT; - - // Arrangement within the M3x3Input matrix - // - // M3x3 - // ----------------------------------- - // - // - // LU UU RU 04 01 07 - // LL CC RR or 03 00 06 - // LD DD RD 05 02 08 - // - // - - - // Enumeration to switch from custom names within the 3x3 matrix. - enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; - - // Conversion between M3x3Input matrix and M5x5 matrix needed by NN: - - double M3x3[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; // This is the 3x3 around the Max Containment Crystal. - - M3x3[LU] = M3x3Input[LU]; M3x3[UU] = M3x3Input[UU]; M3x3[RU] = M3x3Input[RU]; - M3x3[LL] = M3x3Input[LL]; M3x3[CC] = M3x3Input[CC]; M3x3[RR] = M3x3Input[RR]; - M3x3[LD] = M3x3Input[LD]; M3x3[DD] = M3x3Input[DD]; M3x3[RD] = M3x3Input[RD]; - - // Find the Dead Channels inside the 3x3 matrix - std::vector idxDC_v; - - for (int i=0; i<9; i++) { - if ( TMath::Abs(M3x3[i]) < epsilon ) { idxDC_v.push_back(i) ; } - } - - // Currently EXACTLY ONE AND ONLY ONE dead cell is corrected. Return -1000000.0 if zero DC's detected and -101.0 if more than one DC's exist. - int idxDC = -1 ; - if ( idxDC_v.size() == 0 ) { NNResult = -1000000.0 ; return NNResult ; } // Zero DC's were detected - if ( idxDC_v.size() > 1 ) { NNResult = -1000001.0 ; return NNResult ; } // More than one DC's detected. - if ( idxDC_v.size() == 1 ) { idxDC = idxDC_v.at(0) ; } - - // Generally the "dead" cells are allowed to have negative energies (since they will be estimated by the ANN anyway). - // But all the remaining "live" ones must have positive values otherwise the logarithm fails. - for (int i=0; i<9; i++) { - if ( M3x3[i] < 0.0 && TMath::Abs(M3x3[i]) >= epsilon ) { NNResult = -2000000.0 ; return NNResult ; } - } - - // Call ANN code depending the detector region. Intermediate varibles "lnXX" are created individualy inside the switch statement - // instead of globaly outside the "if-block" to avoid the case where some cell value is zero (that would be the "dead" cell). - // - double lnLU ; double lnUU ; double lnRU ; - double lnLL ; double lnCC ; double lnRR ; - double lnLD ; double lnDD ; double lnRD ; - - // Select the case to apply the appropriate NN and return the result. - if ( idxDC == CC ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp(ctx.value(NT::ccEE, 0, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[CC] = NNResult ; - - } else if ( idxDC == RR ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp(ctx.value(NT::rrEE, 0, lnCC, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[RR] = NNResult ; - - } else if ( idxDC == LL ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp(ctx.value(NT::llEE, 0, lnCC, lnRR, lnUU, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[LL] = NNResult ; - - } else if ( idxDC == UU ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp(ctx.value(NT::uuEE, 0, lnCC, lnRR, lnLL, lnDD, lnRU, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[UU] = NNResult ; - - } else if ( idxDC == DD ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp(ctx.value(NT::ddEE, 0, lnCC, lnRR, lnLL, lnUU, lnRU, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[DD] = NNResult ; - - } else if ( idxDC == RU ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp(ctx.value(NT::ruEE, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRD, lnLU, lnLD ) ) ; - - M3x3Input[RU] = NNResult ; - - } else if ( idxDC == RD ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; - - NNResult = TMath::Exp(ctx.value(NT::rdEE, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnLU, lnLD ) ) ; - - M3x3Input[RD] = NNResult ; - - } else if ( idxDC == LU ) { - - lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnLD = TMath::Log( M3x3[LD] ) ; lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp(ctx.value(NT::luEE, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLD ) ) ; - - M3x3Input[LU] = NNResult ; - - } else if ( idxDC == LD ) { - - lnLU = TMath::Log( M3x3[LU] ) ; lnUU = TMath::Log( M3x3[UU] ) ; lnRU = TMath::Log( M3x3[RU] ) ; - lnLL = TMath::Log( M3x3[LL] ) ; lnCC = TMath::Log( M3x3[CC] ) ; lnRR = TMath::Log( M3x3[RR] ) ; - lnDD = TMath::Log( M3x3[DD] ) ; lnRD = TMath::Log( M3x3[RD] ) ; - - NNResult = TMath::Exp(ctx.value(NT::ldEE, 0, lnCC, lnRR, lnLL, lnUU, lnDD, lnRU, lnRD, lnLU ) ) ; - - M3x3Input[LD] = NNResult ; - - } else { - // Error - NNResult = -3000001.0; - } - - return NNResult ; -} diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc index 24b17dca22495..191d72f39b3b3 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc @@ -2,16 +2,26 @@ #include "FWCore/ParameterSet/interface/FileInPath.h" #include +#include DeadChannelNNContext::DeadChannelNNContext() { - for (int id = 0; id < NetworkID::lastID; ++id) { - ctx[id].mlp = NULL; + for (int id = 0; id < 9; ++id) { + ctx_eb[id].mlp = NULL; + ctx_ee[id].mlp = NULL; } + + this->load(); } DeadChannelNNContext::~DeadChannelNNContext() { - for (int id = 0; id < NetworkID::lastID; ++id) { - if (ctx[id].mlp) { + for (int id = 0; id < 9; ++id) { + if (ctx_eb[id].mlp) { + // @TODO segfaults for an uknown reason + // delete ctx[id].mlp; + // delete ctx[id].tree; + } + + if (ctx_ee[id].mlp) { // @TODO segfaults for an uknown reason // delete ctx[id].mlp; // delete ctx[id].tree; @@ -19,59 +29,94 @@ DeadChannelNNContext::~DeadChannelNNContext() { } } -void DeadChannelNNContext::load_file(NetworkID id, std::string fn) { +void DeadChannelNNContext::load_file(MultiLayerPerceptronContext& ctx, std::string fn) { std::string path = edm::FileInPath(fn).fullPath(); TTree *t = new TTree("t", "dummy MLP tree"); t->SetDirectory(0); - t->Branch("z1", &(ctx[id].tmp[0]), "z1/D"); - t->Branch("z2", &(ctx[id].tmp[1]), "z2/D"); - t->Branch("z3", &(ctx[id].tmp[2]), "z3/D"); - t->Branch("z4", &(ctx[id].tmp[3]), "z4/D"); - t->Branch("z5", &(ctx[id].tmp[4]), "z5/D"); - t->Branch("z6", &(ctx[id].tmp[5]), "z6/D"); - t->Branch("z7", &(ctx[id].tmp[6]), "z7/D"); - t->Branch("z8", &(ctx[id].tmp[7]), "z8/D"); - t->Branch("zf", &(ctx[id].tmp[8]), "zf/D"); - - ctx[id].tree = t; - ctx[id].mlp = + t->Branch("z1", &(ctx.tmp[0]), "z1/D"); + t->Branch("z2", &(ctx.tmp[1]), "z2/D"); + t->Branch("z3", &(ctx.tmp[2]), "z3/D"); + t->Branch("z4", &(ctx.tmp[3]), "z4/D"); + t->Branch("z5", &(ctx.tmp[4]), "z5/D"); + t->Branch("z6", &(ctx.tmp[5]), "z6/D"); + t->Branch("z7", &(ctx.tmp[6]), "z7/D"); + t->Branch("z8", &(ctx.tmp[7]), "z8/D"); + t->Branch("zf", &(ctx.tmp[8]), "zf/D"); + + ctx.tree = t; + ctx.mlp = new TMultiLayerPerceptron("@z1,@z2,@z3,@z4,@z5,@z6,@z7,@z8:10:5:zf", t); - ctx[id].mlp->LoadWeights(path.c_str()); + ctx.mlp->LoadWeights(path.c_str()); } void DeadChannelNNContext::load() { std::string p = "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/"; - this->load_file(NetworkID::ccEB, p + "EB_ccNNWeights.txt"); - this->load_file(NetworkID::rrEB, p + "EB_rrNNWeights.txt"); - this->load_file(NetworkID::llEB, p + "EB_llNNWeights.txt"); - this->load_file(NetworkID::uuEB, p + "EB_uuNNWeights.txt"); - this->load_file(NetworkID::ddEB, p + "EB_ddNNWeights.txt"); - this->load_file(NetworkID::ruEB, p + "EB_ruNNWeights.txt"); - this->load_file(NetworkID::rdEB, p + "EB_rdNNWeights.txt"); - this->load_file(NetworkID::luEB, p + "EB_luNNWeights.txt"); - this->load_file(NetworkID::ldEB, p + "EB_ldNNWeights.txt"); - - this->load_file(NetworkID::ccEE, p + "EE_ccNNWeights.txt"); - this->load_file(NetworkID::rrEE, p + "EE_rrNNWeights.txt"); - this->load_file(NetworkID::llEE, p + "EE_llNNWeights.txt"); - this->load_file(NetworkID::uuEE, p + "EE_uuNNWeights.txt"); - this->load_file(NetworkID::ddEE, p + "EE_ddNNWeights.txt"); - this->load_file(NetworkID::ruEE, p + "EE_ruNNWeights.txt"); - this->load_file(NetworkID::rdEE, p + "EE_rdNNWeights.txt"); - this->load_file(NetworkID::luEE, p + "EE_luNNWeights.txt"); - this->load_file(NetworkID::ldEE, p + "EE_ldNNWeights.txt"); + this->load_file(ctx_eb[CellID::CC], p + "EB_ccNNWeights.txt"); + this->load_file(ctx_eb[CellID::RR], p + "EB_rrNNWeights.txt"); + this->load_file(ctx_eb[CellID::LL], p + "EB_llNNWeights.txt"); + this->load_file(ctx_eb[CellID::UU], p + "EB_uuNNWeights.txt"); + this->load_file(ctx_eb[CellID::DD], p + "EB_ddNNWeights.txt"); + this->load_file(ctx_eb[CellID::RU], p + "EB_ruNNWeights.txt"); + this->load_file(ctx_eb[CellID::RD], p + "EB_rdNNWeights.txt"); + this->load_file(ctx_eb[CellID::LU], p + "EB_luNNWeights.txt"); + this->load_file(ctx_eb[CellID::LD], p + "EB_ldNNWeights.txt"); + + this->load_file(ctx_ee[CellID::CC], p + "EE_ccNNWeights.txt"); + this->load_file(ctx_ee[CellID::RR], p + "EE_rrNNWeights.txt"); + this->load_file(ctx_ee[CellID::LL], p + "EE_llNNWeights.txt"); + this->load_file(ctx_ee[CellID::UU], p + "EE_uuNNWeights.txt"); + this->load_file(ctx_ee[CellID::DD], p + "EE_ddNNWeights.txt"); + this->load_file(ctx_ee[CellID::RU], p + "EE_ruNNWeights.txt"); + this->load_file(ctx_ee[CellID::RD], p + "EE_rdNNWeights.txt"); + this->load_file(ctx_ee[CellID::LU], p + "EE_luNNWeights.txt"); + this->load_file(ctx_ee[CellID::LD], p + "EE_ldNNWeights.txt"); } -double DeadChannelNNContext::value(NetworkID method, int index, double in0, - double in1, double in2, double in3, - double in4, double in5, double in6, - double in7) { +double DeadChannelNNContext::estimateEnergy(MultiLayerPerceptronContext *cts, double *M3x3Input, double epsilon) { + int missing[9]; + int missing_index = 0; + + for (int i = 0; i < 9; i++) { + if (TMath::Abs(M3x3Input[i]) < epsilon) { + missing[missing_index++] = i; + } else { + // Generally the "dead" cells are allowed to have negative energies (since they will be estimated by the ANN anyway). + // But all the remaining "live" ones must have positive values otherwise the logarithm fails. - if (!ctx[method].mlp) this->load(); + if (M3x3Input[i] < 0.0) { return -2000000.0; } + } + } + + // Currently EXACTLY ONE AND ONLY ONE dead cell is corrected. Return -1000000.0 if zero DC's detected and -101.0 if more than one DC's exist. + int idxDC = -1 ; + if (missing_index == 0) { return -1000000.0; } // Zero DC's were detected + if (missing_index > 1) { return -1000001.0; } // More than one DC's detected. + if (missing_index == 1) { idxDC = missing[0]; } + + // Arrange inputs into an array of 8, excluding the dead cell; + int input_order[9] = { CC, RR, LL, UU, DD, RU, RD, LU, LD }; + int input_index = 0; + Double_t input[8]; + + for (int id : input_order) { + if (id == idxDC) + continue; + + input[input_index++] = TMath::Log(M3x3Input[id]); + } + + // Select the case to apply the appropriate NN and return the result. + M3x3Input[idxDC] = TMath::Exp(cts[idxDC].mlp->Evaluate(0, input)); + return M3x3Input[idxDC]; +} + +double DeadChannelNNContext::estimateEnergyEB(double *M3x3Input, double epsilon) { + return estimateEnergy(this->ctx_eb, M3x3Input, epsilon); +} - double vCC[8] = { in0, in1, in2, in3, in4, in5, in6, in7 }; - return ctx[method].mlp->Evaluate(0, vCC); +double DeadChannelNNContext::estimateEnergyEE(double *M3x3Input, double epsilon) { + return estimateEnergy(this->ctx_ee, M3x3Input, epsilon); } diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc index 2ad1e694a14d7..eedce5c481fcf 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc @@ -40,7 +40,6 @@ #include "DataFormats/EcalDetId/interface/EBDetId.h" #include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEBDeadChannelsNN.h" #include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEB.h" #include @@ -84,8 +83,8 @@ EcalRecHit EBDeadChannelRecoveryAlgos::correct(const EBDetId Id, const EcalRecHi std::cout << "hi" << std::endl; if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { - NewEnergy_RelMC = CorrectEBDeadChannelsNN(this->nn, MNxN_RelMC); - NewEnergy_RelDC = CorrectEBDeadChannelsNN(this->nn, MNxN_RelDC); + NewEnergy_RelMC = this->nn.estimateEnergyEB(MNxN_RelMC); + NewEnergy_RelDC = this->nn.estimateEnergyEB(MNxN_RelDC); // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc index 8c7b258798560..6bf745625941d 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc @@ -39,7 +39,6 @@ #include "DataFormats/EcalDetId/interface/EEDetId.h" #include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CorrectEEDeadChannelsNN.h" #include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEE.h" #include @@ -80,9 +79,8 @@ EcalRecHit EEDeadChannelRecoveryAlgos::correct(const EEDetId Id, const EcalRecHi if ( *AcceptFlag ) { if (algo_=="NeuralNetworks") { if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { - - NewEnergy_RelMC = CorrectEEDeadChannelsNN(this->nn, MNxN_RelMC); - NewEnergy_RelDC = CorrectEEDeadChannelsNN(this->nn, MNxN_RelDC); + NewEnergy_RelMC = this->nn.estimateEnergyEE(MNxN_RelMC); + NewEnergy_RelDC = this->nn.estimateEnergyEE(MNxN_RelDC); // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEB.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEB.cc deleted file mode 100644 index 91230b2750c07..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEB.cc +++ /dev/null @@ -1,8120 +0,0 @@ -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEB.h" -#include - - -double ccNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 1.15492)/1.68616; - input1 = (in1 - 1.14956)/1.69316; - input2 = (in2 - 1.89563)/1.49913; - input3 = (in3 - 1.90666)/1.49442; - input4 = (in4 - 0.3065)/1.46726; - input5 = (in5 - 0.318454)/1.50742; - input6 = (in6 - 0.305354)/1.51455; - input7 = (in7 - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x605af50(); - default: - return 0.; - } -} - -double ccNNEB::Value(int index, double* input) { - input0 = (input[0] - 1.15492)/1.68616; - input1 = (input[1] - 1.14956)/1.69316; - input2 = (input[2] - 1.89563)/1.49913; - input3 = (input[3] - 1.90666)/1.49442; - input4 = (input[4] - 0.3065)/1.46726; - input5 = (input[5] - 0.318454)/1.50742; - input6 = (input[6] - 0.305354)/1.51455; - input7 = (input[7] - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x605af50(); - default: - return 0.; - } -} - - -double ccNNEB::neuron0x60567d0() { - return input0; -} - -double ccNNEB::neuron0x6056b10() { - return input1; -} - -double ccNNEB::neuron0x6056e50() { - return input2; -} - -double ccNNEB::neuron0x6057190() { - return input3; -} - -double ccNNEB::neuron0x60574d0() { - return input4; -} - -double ccNNEB::neuron0x6057810() { - return input5; -} - -double ccNNEB::neuron0x6057b50() { - return input6; -} - -double ccNNEB::neuron0x6057e90() { - return input7; -} - -double ccNNEB::input0x6058300() { - double input = -0.539159; - input += synapse0x5fb71d0(); - input += synapse0x605f3d0(); - input += synapse0x60585b0(); - input += synapse0x60585f0(); - input += synapse0x6058630(); - input += synapse0x6058670(); - input += synapse0x60586b0(); - input += synapse0x60586f0(); - return input; -} - -double ccNNEB::neuron0x6058300() { - double input = input0x6058300(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x6058730() { - double input = 1.51054; - input += synapse0x6058a70(); - input += synapse0x6058ab0(); - input += synapse0x6058af0(); - input += synapse0x6058b30(); - input += synapse0x6058b70(); - input += synapse0x6058bb0(); - input += synapse0x6058bf0(); - input += synapse0x6058c30(); - return input; -} - -double ccNNEB::neuron0x6058730() { - double input = input0x6058730(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x6058c70() { - double input = -0.0379268; - input += synapse0x6058fb0(); - input += synapse0x58b5e90(); - input += synapse0x58b5ed0(); - input += synapse0x6059100(); - input += synapse0x6059140(); - input += synapse0x6059180(); - input += synapse0x60591c0(); - input += synapse0x6059200(); - return input; -} - -double ccNNEB::neuron0x6058c70() { - double input = input0x6058c70(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x6059240() { - double input = 0.463642; - input += synapse0x6059580(); - input += synapse0x60595c0(); - input += synapse0x6059600(); - input += synapse0x6059640(); - input += synapse0x6059680(); - input += synapse0x60596c0(); - input += synapse0x6059700(); - input += synapse0x6059740(); - return input; -} - -double ccNNEB::neuron0x6059240() { - double input = input0x6059240(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x6059780() { - double input = -1.54839; - input += synapse0x6059ac0(); - input += synapse0x6056700(); - input += synapse0x605f410(); - input += synapse0x58b49d0(); - input += synapse0x6058ff0(); - input += synapse0x6059030(); - input += synapse0x6059070(); - input += synapse0x60590b0(); - return input; -} - -double ccNNEB::neuron0x6059780() { - double input = input0x6059780(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x6059b00() { - double input = -1.25221; - input += synapse0x6059e40(); - input += synapse0x6059e80(); - input += synapse0x6059ec0(); - input += synapse0x6059f00(); - input += synapse0x6059f40(); - input += synapse0x6059f80(); - input += synapse0x6059fc0(); - input += synapse0x605a000(); - return input; -} - -double ccNNEB::neuron0x6059b00() { - double input = input0x6059b00(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x605a040() { - double input = -0.0674997; - input += synapse0x605a380(); - input += synapse0x605a3c0(); - input += synapse0x605a400(); - input += synapse0x605a440(); - input += synapse0x605a480(); - input += synapse0x605a4c0(); - input += synapse0x605a500(); - input += synapse0x605a540(); - return input; -} - -double ccNNEB::neuron0x605a040() { - double input = input0x605a040(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x605a580() { - double input = -2.0379; - input += synapse0x605a8c0(); - input += synapse0x605a900(); - input += synapse0x605a940(); - input += synapse0x605a980(); - input += synapse0x605a9c0(); - input += synapse0x605aa00(); - input += synapse0x605aa40(); - input += synapse0x605aa80(); - return input; -} - -double ccNNEB::neuron0x605a580() { - double input = input0x605a580(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x605aac0() { - double input = 2.45266; - input += synapse0x57a3df0(); - input += synapse0x57a3e30(); - input += synapse0x58cf7a0(); - input += synapse0x58cf7e0(); - input += synapse0x58cf820(); - input += synapse0x58cf860(); - input += synapse0x58cf8a0(); - input += synapse0x58cf8e0(); - return input; -} - -double ccNNEB::neuron0x605aac0() { - double input = input0x605aac0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x605b320() { - double input = 0.575118; - input += synapse0x605b5d0(); - input += synapse0x605b610(); - input += synapse0x605b650(); - input += synapse0x605b690(); - input += synapse0x605b6d0(); - input += synapse0x605b710(); - input += synapse0x605b750(); - input += synapse0x605b790(); - return input; -} - -double ccNNEB::neuron0x605b320() { - double input = input0x605b320(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x605b7d0() { - double input = -0.834104; - input += synapse0x605bb10(); - input += synapse0x605bb50(); - input += synapse0x605bb90(); - input += synapse0x605bbd0(); - input += synapse0x605bc10(); - input += synapse0x605bc50(); - input += synapse0x605bc90(); - input += synapse0x605bcd0(); - input += synapse0x605bd10(); - input += synapse0x605bd50(); - return input; -} - -double ccNNEB::neuron0x605b7d0() { - double input = input0x605b7d0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x605bd90() { - double input = -0.69539; - input += synapse0x605c0d0(); - input += synapse0x605c110(); - input += synapse0x605c150(); - input += synapse0x605c190(); - input += synapse0x605c1d0(); - input += synapse0x605c210(); - input += synapse0x605c250(); - input += synapse0x605c290(); - input += synapse0x605c2d0(); - input += synapse0x605c310(); - return input; -} - -double ccNNEB::neuron0x605bd90() { - double input = input0x605bd90(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x605c350() { - double input = -0.879929; - input += synapse0x605c690(); - input += synapse0x605c6d0(); - input += synapse0x605c710(); - input += synapse0x605c750(); - input += synapse0x605c790(); - input += synapse0x605c7d0(); - input += synapse0x605c810(); - input += synapse0x605c850(); - input += synapse0x605c890(); - input += synapse0x605c8d0(); - return input; -} - -double ccNNEB::neuron0x605c350() { - double input = input0x605c350(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x605c910() { - double input = 0.56029; - input += synapse0x605cc50(); - input += synapse0x605cc90(); - input += synapse0x605ccd0(); - input += synapse0x605cd10(); - input += synapse0x605cd50(); - input += synapse0x605cd90(); - input += synapse0x605cdd0(); - input += synapse0x605ce10(); - input += synapse0x605ce50(); - input += synapse0x605ce90(); - return input; -} - -double ccNNEB::neuron0x605c910() { - double input = input0x605c910(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x605ced0() { - double input = 0.386744; - input += synapse0x605d210(); - input += synapse0x605d250(); - input += synapse0x605d290(); - input += synapse0x605d2d0(); - input += synapse0x605d310(); - input += synapse0x605d350(); - input += synapse0x605d390(); - input += synapse0x605d3d0(); - input += synapse0x605d410(); - input += synapse0x605af10(); - return input; -} - -double ccNNEB::neuron0x605ced0() { - double input = input0x605ced0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEB::input0x605af50() { - double input = 0.868956; - input += synapse0x605b290(); - input += synapse0x605b2d0(); - input += synapse0x60581d0(); - input += synapse0x6058210(); - input += synapse0x6058250(); - return input; -} - -double ccNNEB::neuron0x605af50() { - double input = input0x605af50(); - return (input * 1)+0; -} - -double ccNNEB::synapse0x5fb71d0() { - return (neuron0x60567d0()*-0.0699207); -} - -double ccNNEB::synapse0x605f3d0() { - return (neuron0x6056b10()*1.41084); -} - -double ccNNEB::synapse0x60585b0() { - return (neuron0x6056e50()*0.0620302); -} - -double ccNNEB::synapse0x60585f0() { - return (neuron0x6057190()*0.0458559); -} - -double ccNNEB::synapse0x6058630() { - return (neuron0x60574d0()*0.535032); -} - -double ccNNEB::synapse0x6058670() { - return (neuron0x6057810()*0.522631); -} - -double ccNNEB::synapse0x60586b0() { - return (neuron0x6057b50()*1.0977); -} - -double ccNNEB::synapse0x60586f0() { - return (neuron0x6057e90()*0.623202); -} - -double ccNNEB::synapse0x6058a70() { - return (neuron0x60567d0()*1.58823); -} - -double ccNNEB::synapse0x6058ab0() { - return (neuron0x6056b10()*2.37636); -} - -double ccNNEB::synapse0x6058af0() { - return (neuron0x6056e50()*-0.234837); -} - -double ccNNEB::synapse0x6058b30() { - return (neuron0x6057190()*0.0246192); -} - -double ccNNEB::synapse0x6058b70() { - return (neuron0x60574d0()*-1.50138); -} - -double ccNNEB::synapse0x6058bb0() { - return (neuron0x6057810()*0.0862727); -} - -double ccNNEB::synapse0x6058bf0() { - return (neuron0x6057b50()*0.0195872); -} - -double ccNNEB::synapse0x6058c30() { - return (neuron0x6057e90()*-1.47387); -} - -double ccNNEB::synapse0x6058fb0() { - return (neuron0x60567d0()*0.795657); -} - -double ccNNEB::synapse0x58b5e90() { - return (neuron0x6056b10()*0.276677); -} - -double ccNNEB::synapse0x58b5ed0() { - return (neuron0x6056e50()*-0.0981622); -} - -double ccNNEB::synapse0x6059100() { - return (neuron0x6057190()*0.192442); -} - -double ccNNEB::synapse0x6059140() { - return (neuron0x60574d0()*0.222694); -} - -double ccNNEB::synapse0x6059180() { - return (neuron0x6057810()*1.06613); -} - -double ccNNEB::synapse0x60591c0() { - return (neuron0x6057b50()*0.514147); -} - -double ccNNEB::synapse0x6059200() { - return (neuron0x6057e90()*0.145554); -} - -double ccNNEB::synapse0x6059580() { - return (neuron0x60567d0()*0.627626); -} - -double ccNNEB::synapse0x60595c0() { - return (neuron0x6056b10()*0.437069); -} - -double ccNNEB::synapse0x6059600() { - return (neuron0x6056e50()*0.264892); -} - -double ccNNEB::synapse0x6059640() { - return (neuron0x6057190()*0.190372); -} - -double ccNNEB::synapse0x6059680() { - return (neuron0x60574d0()*-1.01744); -} - -double ccNNEB::synapse0x60596c0() { - return (neuron0x6057810()*-0.611537); -} - -double ccNNEB::synapse0x6059700() { - return (neuron0x6057b50()*-0.0684924); -} - -double ccNNEB::synapse0x6059740() { - return (neuron0x6057e90()*-0.441747); -} - -double ccNNEB::synapse0x6059ac0() { - return (neuron0x60567d0()*-0.936029); -} - -double ccNNEB::synapse0x6056700() { - return (neuron0x6056b10()*0.281874); -} - -double ccNNEB::synapse0x605f410() { - return (neuron0x6056e50()*-0.559508); -} - -double ccNNEB::synapse0x58b49d0() { - return (neuron0x6057190()*0.333256); -} - -double ccNNEB::synapse0x6058ff0() { - return (neuron0x60574d0()*0.898024); -} - -double ccNNEB::synapse0x6059030() { - return (neuron0x6057810()*0.700511); -} - -double ccNNEB::synapse0x6059070() { - return (neuron0x6057b50()*-1.07369); -} - -double ccNNEB::synapse0x60590b0() { - return (neuron0x6057e90()*-0.0370767); -} - -double ccNNEB::synapse0x6059e40() { - return (neuron0x60567d0()*0.464066); -} - -double ccNNEB::synapse0x6059e80() { - return (neuron0x6056b10()*-0.470511); -} - -double ccNNEB::synapse0x6059ec0() { - return (neuron0x6056e50()*0.165462); -} - -double ccNNEB::synapse0x6059f00() { - return (neuron0x6057190()*0.0436253); -} - -double ccNNEB::synapse0x6059f40() { - return (neuron0x60574d0()*-0.565435); -} - -double ccNNEB::synapse0x6059f80() { - return (neuron0x6057810()*0.386292); -} - -double ccNNEB::synapse0x6059fc0() { - return (neuron0x6057b50()*0.468514); -} - -double ccNNEB::synapse0x605a000() { - return (neuron0x6057e90()*-1.09823); -} - -double ccNNEB::synapse0x605a380() { - return (neuron0x60567d0()*-0.830445); -} - -double ccNNEB::synapse0x605a3c0() { - return (neuron0x6056b10()*-0.856368); -} - -double ccNNEB::synapse0x605a400() { - return (neuron0x6056e50()*-0.324607); -} - -double ccNNEB::synapse0x605a440() { - return (neuron0x6057190()*-0.479792); -} - -double ccNNEB::synapse0x605a480() { - return (neuron0x60574d0()*-0.310053); -} - -double ccNNEB::synapse0x605a4c0() { - return (neuron0x6057810()*-0.211249); -} - -double ccNNEB::synapse0x605a500() { - return (neuron0x6057b50()*-0.663044); -} - -double ccNNEB::synapse0x605a540() { - return (neuron0x6057e90()*-0.891015); -} - -double ccNNEB::synapse0x605a8c0() { - return (neuron0x60567d0()*0.380276); -} - -double ccNNEB::synapse0x605a900() { - return (neuron0x6056b10()*0.496164); -} - -double ccNNEB::synapse0x605a940() { - return (neuron0x6056e50()*-0.396836); -} - -double ccNNEB::synapse0x605a980() { - return (neuron0x6057190()*-0.67967); -} - -double ccNNEB::synapse0x605a9c0() { - return (neuron0x60574d0()*0.668008); -} - -double ccNNEB::synapse0x605aa00() { - return (neuron0x6057810()*-0.598866); -} - -double ccNNEB::synapse0x605aa40() { - return (neuron0x6057b50()*-0.646267); -} - -double ccNNEB::synapse0x605aa80() { - return (neuron0x6057e90()*0.397705); -} - -double ccNNEB::synapse0x57a3df0() { - return (neuron0x60567d0()*1.48193); -} - -double ccNNEB::synapse0x57a3e30() { - return (neuron0x6056b10()*0.140198); -} - -double ccNNEB::synapse0x58cf7a0() { - return (neuron0x6056e50()*-0.126392); -} - -double ccNNEB::synapse0x58cf7e0() { - return (neuron0x6057190()*-0.202857); -} - -double ccNNEB::synapse0x58cf820() { - return (neuron0x60574d0()*0.457037); -} - -double ccNNEB::synapse0x58cf860() { - return (neuron0x6057810()*-0.0149029); -} - -double ccNNEB::synapse0x58cf8a0() { - return (neuron0x6057b50()*-0.200188); -} - -double ccNNEB::synapse0x58cf8e0() { - return (neuron0x6057e90()*-0.131662); -} - -double ccNNEB::synapse0x605b5d0() { - return (neuron0x60567d0()*1.24678); -} - -double ccNNEB::synapse0x605b610() { - return (neuron0x6056b10()*0.100963); -} - -double ccNNEB::synapse0x605b650() { - return (neuron0x6056e50()*0.252164); -} - -double ccNNEB::synapse0x605b690() { - return (neuron0x6057190()*0.470284); -} - -double ccNNEB::synapse0x605b6d0() { - return (neuron0x60574d0()*1.31056); -} - -double ccNNEB::synapse0x605b710() { - return (neuron0x6057810()*1.2156); -} - -double ccNNEB::synapse0x605b750() { - return (neuron0x6057b50()*0.579176); -} - -double ccNNEB::synapse0x605b790() { - return (neuron0x6057e90()*0.94709); -} - -double ccNNEB::synapse0x605bb10() { - return (neuron0x6058300()*-0.207301); -} - -double ccNNEB::synapse0x605bb50() { - return (neuron0x6058730()*0.395181); -} - -double ccNNEB::synapse0x605bb90() { - return (neuron0x6058c70()*0.0484047); -} - -double ccNNEB::synapse0x605bbd0() { - return (neuron0x6059240()*-1.1885); -} - -double ccNNEB::synapse0x605bc10() { - return (neuron0x6059780()*-0.0594185); -} - -double ccNNEB::synapse0x605bc50() { - return (neuron0x6059b00()*-1.59126); -} - -double ccNNEB::synapse0x605bc90() { - return (neuron0x605a040()*-0.136816); -} - -double ccNNEB::synapse0x605bcd0() { - return (neuron0x605a580()*-0.647761); -} - -double ccNNEB::synapse0x605bd10() { - return (neuron0x605aac0()*0.974329); -} - -double ccNNEB::synapse0x605bd50() { - return (neuron0x605b320()*0.237124); -} - -double ccNNEB::synapse0x605c0d0() { - return (neuron0x6058300()*-0.306592); -} - -double ccNNEB::synapse0x605c110() { - return (neuron0x6058730()*1.53717); -} - -double ccNNEB::synapse0x605c150() { - return (neuron0x6058c70()*-0.417984); -} - -double ccNNEB::synapse0x605c190() { - return (neuron0x6059240()*-2.71232); -} - -double ccNNEB::synapse0x605c1d0() { - return (neuron0x6059780()*-1.17791); -} - -double ccNNEB::synapse0x605c210() { - return (neuron0x6059b00()*-1.59499); -} - -double ccNNEB::synapse0x605c250() { - return (neuron0x605a040()*-0.572163); -} - -double ccNNEB::synapse0x605c290() { - return (neuron0x605a580()*-1.13002); -} - -double ccNNEB::synapse0x605c2d0() { - return (neuron0x605aac0()*1.7962); -} - -double ccNNEB::synapse0x605c310() { - return (neuron0x605b320()*0.39981); -} - -double ccNNEB::synapse0x605c690() { - return (neuron0x6058300()*-0.0395236); -} - -double ccNNEB::synapse0x605c6d0() { - return (neuron0x6058730()*0.94403); -} - -double ccNNEB::synapse0x605c710() { - return (neuron0x6058c70()*-0.448583); -} - -double ccNNEB::synapse0x605c750() { - return (neuron0x6059240()*-2.71095); -} - -double ccNNEB::synapse0x605c790() { - return (neuron0x6059780()*-1.14823); -} - -double ccNNEB::synapse0x605c7d0() { - return (neuron0x6059b00()*-1.33223); -} - -double ccNNEB::synapse0x605c810() { - return (neuron0x605a040()*-0.671872); -} - -double ccNNEB::synapse0x605c850() { - return (neuron0x605a580()*-1.26958); -} - -double ccNNEB::synapse0x605c890() { - return (neuron0x605aac0()*2.30656); -} - -double ccNNEB::synapse0x605c8d0() { - return (neuron0x605b320()*-0.383468); -} - -double ccNNEB::synapse0x605cc50() { - return (neuron0x6058300()*0.146573); -} - -double ccNNEB::synapse0x605cc90() { - return (neuron0x6058730()*1.58013); -} - -double ccNNEB::synapse0x605ccd0() { - return (neuron0x6058c70()*-0.619888); -} - -double ccNNEB::synapse0x605cd10() { - return (neuron0x6059240()*0.990389); -} - -double ccNNEB::synapse0x605cd50() { - return (neuron0x6059780()*-0.785703); -} - -double ccNNEB::synapse0x605cd90() { - return (neuron0x6059b00()*-1.15902); -} - -double ccNNEB::synapse0x605cdd0() { - return (neuron0x605a040()*-0.218559); -} - -double ccNNEB::synapse0x605ce10() { - return (neuron0x605a580()*-0.805096); -} - -double ccNNEB::synapse0x605ce50() { - return (neuron0x605aac0()*1.00191); -} - -double ccNNEB::synapse0x605ce90() { - return (neuron0x605b320()*-0.73646); -} - -double ccNNEB::synapse0x605d210() { - return (neuron0x6058300()*1.10806); -} - -double ccNNEB::synapse0x605d250() { - return (neuron0x6058730()*-0.320801); -} - -double ccNNEB::synapse0x605d290() { - return (neuron0x6058c70()*0.0299629); -} - -double ccNNEB::synapse0x605d2d0() { - return (neuron0x6059240()*0.160331); -} - -double ccNNEB::synapse0x605d310() { - return (neuron0x6059780()*0.333674); -} - -double ccNNEB::synapse0x605d350() { - return (neuron0x6059b00()*0.6104); -} - -double ccNNEB::synapse0x605d390() { - return (neuron0x605a040()*-0.690923); -} - -double ccNNEB::synapse0x605d3d0() { - return (neuron0x605a580()*0.800533); -} - -double ccNNEB::synapse0x605d410() { - return (neuron0x605aac0()*-0.335794); -} - -double ccNNEB::synapse0x605af10() { - return (neuron0x605b320()*-0.00422044); -} - -double ccNNEB::synapse0x605b290() { - return (neuron0x605b7d0()*1.76016); -} - -double ccNNEB::synapse0x605b2d0() { - return (neuron0x605bd90()*3.82695); -} - -double ccNNEB::synapse0x60581d0() { - return (neuron0x605c350()*3.97341); -} - -double ccNNEB::synapse0x6058210() { - return (neuron0x605c910()*1.94878); -} - -double ccNNEB::synapse0x6058250() { - return (neuron0x605ced0()*-1.83486); -} - - - -double ddNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.13794)/1.30956; - input1 = (in1 - 1.15492)/1.68616; - input2 = (in2 - 1.14956)/1.69316; - input3 = (in3 - 1.89563)/1.49913; - input4 = (in4 - 0.3065)/1.46726; - input5 = (in5 - 0.318454)/1.50742; - input6 = (in6 - 0.305354)/1.51455; - input7 = (in7 - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x4a4af10(); - default: - return 0.; - } -} - -double ddNNEB::Value(int index, double* input) { - input0 = (input[0] - 4.13794)/1.30956; - input1 = (input[1] - 1.15492)/1.68616; - input2 = (input[2] - 1.14956)/1.69316; - input3 = (input[3] - 1.89563)/1.49913; - input4 = (input[4] - 0.3065)/1.46726; - input5 = (input[5] - 0.318454)/1.50742; - input6 = (input[6] - 0.305354)/1.51455; - input7 = (input[7] - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x4a4af10(); - default: - return 0.; - } -} - -double ddNNEB::neuron0x4a46790() { - return input0; -} - -double ddNNEB::neuron0x4a46ad0() { - return input1; -} - -double ddNNEB::neuron0x4a46e10() { - return input2; -} - -double ddNNEB::neuron0x4a47150() { - return input3; -} - -double ddNNEB::neuron0x4a47490() { - return input4; -} - -double ddNNEB::neuron0x4a477d0() { - return input5; -} - -double ddNNEB::neuron0x4a47b10() { - return input6; -} - -double ddNNEB::neuron0x4a47e50() { - return input7; -} - -double ddNNEB::input0x4a482c0() { - double input = -2.63524; - input += synapse0x49a7190(); - input += synapse0x4a4f390(); - input += synapse0x4a48570(); - input += synapse0x4a485b0(); - input += synapse0x4a485f0(); - input += synapse0x4a48630(); - input += synapse0x4a48670(); - input += synapse0x4a486b0(); - return input; -} - -double ddNNEB::neuron0x4a482c0() { - double input = input0x4a482c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a486f0() { - double input = 1.91074; - input += synapse0x4a48a30(); - input += synapse0x4a48a70(); - input += synapse0x4a48ab0(); - input += synapse0x4a48af0(); - input += synapse0x4a48b30(); - input += synapse0x4a48b70(); - input += synapse0x4a48bb0(); - input += synapse0x4a48bf0(); - return input; -} - -double ddNNEB::neuron0x4a486f0() { - double input = input0x4a486f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a48c30() { - double input = -0.128303; - input += synapse0x4a48f70(); - input += synapse0x42a5e50(); - input += synapse0x42a5e90(); - input += synapse0x4a490c0(); - input += synapse0x4a49100(); - input += synapse0x4a49140(); - input += synapse0x4a49180(); - input += synapse0x4a491c0(); - return input; -} - -double ddNNEB::neuron0x4a48c30() { - double input = input0x4a48c30(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a49200() { - double input = -0.0143879; - input += synapse0x4a49540(); - input += synapse0x4a49580(); - input += synapse0x4a495c0(); - input += synapse0x4a49600(); - input += synapse0x4a49640(); - input += synapse0x4a49680(); - input += synapse0x4a496c0(); - input += synapse0x4a49700(); - return input; -} - -double ddNNEB::neuron0x4a49200() { - double input = input0x4a49200(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a49740() { - double input = 1.50607; - input += synapse0x4a49a80(); - input += synapse0x4a466c0(); - input += synapse0x4a4f3d0(); - input += synapse0x42a4990(); - input += synapse0x4a48fb0(); - input += synapse0x4a48ff0(); - input += synapse0x4a49030(); - input += synapse0x4a49070(); - return input; -} - -double ddNNEB::neuron0x4a49740() { - double input = input0x4a49740(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a49ac0() { - double input = 1.02996; - input += synapse0x4a49e00(); - input += synapse0x4a49e40(); - input += synapse0x4a49e80(); - input += synapse0x4a49ec0(); - input += synapse0x4a49f00(); - input += synapse0x4a49f40(); - input += synapse0x4a49f80(); - input += synapse0x4a49fc0(); - return input; -} - -double ddNNEB::neuron0x4a49ac0() { - double input = input0x4a49ac0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a4a000() { - double input = 0.911485; - input += synapse0x4a4a340(); - input += synapse0x4a4a380(); - input += synapse0x4a4a3c0(); - input += synapse0x4a4a400(); - input += synapse0x4a4a440(); - input += synapse0x4a4a480(); - input += synapse0x4a4a4c0(); - input += synapse0x4a4a500(); - return input; -} - -double ddNNEB::neuron0x4a4a000() { - double input = input0x4a4a000(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a4a540() { - double input = 1.01528; - input += synapse0x4a4a880(); - input += synapse0x4a4a8c0(); - input += synapse0x4a4a900(); - input += synapse0x4a4a940(); - input += synapse0x4a4a980(); - input += synapse0x4a4a9c0(); - input += synapse0x4a4aa00(); - input += synapse0x4a4aa40(); - return input; -} - -double ddNNEB::neuron0x4a4a540() { - double input = input0x4a4a540(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a4aa80() { - double input = -1.78246; - input += synapse0x4193db0(); - input += synapse0x4193df0(); - input += synapse0x42bf760(); - input += synapse0x42bf7a0(); - input += synapse0x42bf7e0(); - input += synapse0x42bf820(); - input += synapse0x42bf860(); - input += synapse0x42bf8a0(); - return input; -} - -double ddNNEB::neuron0x4a4aa80() { - double input = input0x4a4aa80(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a4b2e0() { - double input = -0.164083; - input += synapse0x4a4b590(); - input += synapse0x4a4b5d0(); - input += synapse0x4a4b610(); - input += synapse0x4a4b650(); - input += synapse0x4a4b690(); - input += synapse0x4a4b6d0(); - input += synapse0x4a4b710(); - input += synapse0x4a4b750(); - return input; -} - -double ddNNEB::neuron0x4a4b2e0() { - double input = input0x4a4b2e0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a4b790() { - double input = -1.84156; - input += synapse0x4a4bad0(); - input += synapse0x4a4bb10(); - input += synapse0x4a4bb50(); - input += synapse0x4a4bb90(); - input += synapse0x4a4bbd0(); - input += synapse0x4a4bc10(); - input += synapse0x4a4bc50(); - input += synapse0x4a4bc90(); - input += synapse0x4a4bcd0(); - input += synapse0x4a4bd10(); - return input; -} - -double ddNNEB::neuron0x4a4b790() { - double input = input0x4a4b790(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a4bd50() { - double input = -2.55771; - input += synapse0x4a4c090(); - input += synapse0x4a4c0d0(); - input += synapse0x4a4c110(); - input += synapse0x4a4c150(); - input += synapse0x4a4c190(); - input += synapse0x4a4c1d0(); - input += synapse0x4a4c210(); - input += synapse0x4a4c250(); - input += synapse0x4a4c290(); - input += synapse0x4a4c2d0(); - return input; -} - -double ddNNEB::neuron0x4a4bd50() { - double input = input0x4a4bd50(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a4c310() { - double input = -3.54477; - input += synapse0x4a4c650(); - input += synapse0x4a4c690(); - input += synapse0x4a4c6d0(); - input += synapse0x4a4c710(); - input += synapse0x4a4c750(); - input += synapse0x4a4c790(); - input += synapse0x4a4c7d0(); - input += synapse0x4a4c810(); - input += synapse0x4a4c850(); - input += synapse0x4a4c890(); - return input; -} - -double ddNNEB::neuron0x4a4c310() { - double input = input0x4a4c310(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a4c8d0() { - double input = -1.55382; - input += synapse0x4a4cc10(); - input += synapse0x4a4cc50(); - input += synapse0x4a4cc90(); - input += synapse0x4a4ccd0(); - input += synapse0x4a4cd10(); - input += synapse0x4a4cd50(); - input += synapse0x4a4cd90(); - input += synapse0x4a4cdd0(); - input += synapse0x4a4ce10(); - input += synapse0x4a4ce50(); - return input; -} - -double ddNNEB::neuron0x4a4c8d0() { - double input = input0x4a4c8d0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a4ce90() { - double input = 1.9974; - input += synapse0x4a4d1d0(); - input += synapse0x4a4d210(); - input += synapse0x4a4d250(); - input += synapse0x4a4d290(); - input += synapse0x4a4d2d0(); - input += synapse0x4a4d310(); - input += synapse0x4a4d350(); - input += synapse0x4a4d390(); - input += synapse0x4a4d3d0(); - input += synapse0x4a4aed0(); - return input; -} - -double ddNNEB::neuron0x4a4ce90() { - double input = input0x4a4ce90(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEB::input0x4a4af10() { - double input = -1.41785; - input += synapse0x4a4b250(); - input += synapse0x4a4b290(); - input += synapse0x4a48190(); - input += synapse0x4a481d0(); - input += synapse0x4a48210(); - return input; -} - -double ddNNEB::neuron0x4a4af10() { - double input = input0x4a4af10(); - return (input * 1)+0; -} - -double ddNNEB::synapse0x49a7190() { - return (neuron0x4a46790()*0.542666); -} - -double ddNNEB::synapse0x4a4f390() { - return (neuron0x4a46ad0()*-0.41876); -} - -double ddNNEB::synapse0x4a48570() { - return (neuron0x4a46e10()*0.255798); -} - -double ddNNEB::synapse0x4a485b0() { - return (neuron0x4a47150()*-0.242769); -} - -double ddNNEB::synapse0x4a485f0() { - return (neuron0x4a47490()*0.13839); -} - -double ddNNEB::synapse0x4a48630() { - return (neuron0x4a477d0()*0.565941); -} - -double ddNNEB::synapse0x4a48670() { - return (neuron0x4a47b10()*-0.018932); -} - -double ddNNEB::synapse0x4a486b0() { - return (neuron0x4a47e50()*0.323705); -} - -double ddNNEB::synapse0x4a48a30() { - return (neuron0x4a46790()*0.656695); -} - -double ddNNEB::synapse0x4a48a70() { - return (neuron0x4a46ad0()*1.32388); -} - -double ddNNEB::synapse0x4a48ab0() { - return (neuron0x4a46e10()*-2.49611); -} - -double ddNNEB::synapse0x4a48af0() { - return (neuron0x4a47150()*-0.0410726); -} - -double ddNNEB::synapse0x4a48b30() { - return (neuron0x4a47490()*0.551725); -} - -double ddNNEB::synapse0x4a48b70() { - return (neuron0x4a477d0()*-1.76628); -} - -double ddNNEB::synapse0x4a48bb0() { - return (neuron0x4a47b10()*-0.287117); -} - -double ddNNEB::synapse0x4a48bf0() { - return (neuron0x4a47e50()*1.74831); -} - -double ddNNEB::synapse0x4a48f70() { - return (neuron0x4a46790()*3.05652); -} - -double ddNNEB::synapse0x42a5e50() { - return (neuron0x4a46ad0()*-0.10501); -} - -double ddNNEB::synapse0x42a5e90() { - return (neuron0x4a46e10()*0.267233); -} - -double ddNNEB::synapse0x4a490c0() { - return (neuron0x4a47150()*0.26929); -} - -double ddNNEB::synapse0x4a49100() { - return (neuron0x4a47490()*-0.780574); -} - -double ddNNEB::synapse0x4a49140() { - return (neuron0x4a477d0()*-1.55704); -} - -double ddNNEB::synapse0x4a49180() { - return (neuron0x4a47b10()*-0.300177); -} - -double ddNNEB::synapse0x4a491c0() { - return (neuron0x4a47e50()*-1.07422); -} - -double ddNNEB::synapse0x4a49540() { - return (neuron0x4a46790()*0.496764); -} - -double ddNNEB::synapse0x4a49580() { - return (neuron0x4a46ad0()*0.597019); -} - -double ddNNEB::synapse0x4a495c0() { - return (neuron0x4a46e10()*0.673857); -} - -double ddNNEB::synapse0x4a49600() { - return (neuron0x4a47150()*0.185765); -} - -double ddNNEB::synapse0x4a49640() { - return (neuron0x4a47490()*0.220123); -} - -double ddNNEB::synapse0x4a49680() { - return (neuron0x4a477d0()*1.37324); -} - -double ddNNEB::synapse0x4a496c0() { - return (neuron0x4a47b10()*0.598104); -} - -double ddNNEB::synapse0x4a49700() { - return (neuron0x4a47e50()*1.28393); -} - -double ddNNEB::synapse0x4a49a80() { - return (neuron0x4a46790()*1.69539); -} - -double ddNNEB::synapse0x4a466c0() { - return (neuron0x4a46ad0()*-0.403427); -} - -double ddNNEB::synapse0x4a4f3d0() { - return (neuron0x4a46e10()*0.565482); -} - -double ddNNEB::synapse0x42a4990() { - return (neuron0x4a47150()*-0.928146); -} - -double ddNNEB::synapse0x4a48fb0() { - return (neuron0x4a47490()*-0.0268804); -} - -double ddNNEB::synapse0x4a48ff0() { - return (neuron0x4a477d0()*0.0993066); -} - -double ddNNEB::synapse0x4a49030() { - return (neuron0x4a47b10()*-0.292285); -} - -double ddNNEB::synapse0x4a49070() { - return (neuron0x4a47e50()*-0.42177); -} - -double ddNNEB::synapse0x4a49e00() { - return (neuron0x4a46790()*-0.0855238); -} - -double ddNNEB::synapse0x4a49e40() { - return (neuron0x4a46ad0()*-1.21593); -} - -double ddNNEB::synapse0x4a49e80() { - return (neuron0x4a46e10()*-0.375884); -} - -double ddNNEB::synapse0x4a49ec0() { - return (neuron0x4a47150()*-0.598447); -} - -double ddNNEB::synapse0x4a49f00() { - return (neuron0x4a47490()*-0.0568257); -} - -double ddNNEB::synapse0x4a49f40() { - return (neuron0x4a477d0()*1.57924); -} - -double ddNNEB::synapse0x4a49f80() { - return (neuron0x4a47b10()*0.147867); -} - -double ddNNEB::synapse0x4a49fc0() { - return (neuron0x4a47e50()*1.38729); -} - -double ddNNEB::synapse0x4a4a340() { - return (neuron0x4a46790()*0.485434); -} - -double ddNNEB::synapse0x4a4a380() { - return (neuron0x4a46ad0()*-0.835655); -} - -double ddNNEB::synapse0x4a4a3c0() { - return (neuron0x4a46e10()*0.0218874); -} - -double ddNNEB::synapse0x4a4a400() { - return (neuron0x4a47150()*0.848471); -} - -double ddNNEB::synapse0x4a4a440() { - return (neuron0x4a47490()*-0.520038); -} - -double ddNNEB::synapse0x4a4a480() { - return (neuron0x4a477d0()*1.05246); -} - -double ddNNEB::synapse0x4a4a4c0() { - return (neuron0x4a47b10()*-0.149156); -} - -double ddNNEB::synapse0x4a4a500() { - return (neuron0x4a47e50()*-0.583154); -} - -double ddNNEB::synapse0x4a4a880() { - return (neuron0x4a46790()*-0.916327); -} - -double ddNNEB::synapse0x4a4a8c0() { - return (neuron0x4a46ad0()*0.702795); -} - -double ddNNEB::synapse0x4a4a900() { - return (neuron0x4a46e10()*0.919346); -} - -double ddNNEB::synapse0x4a4a940() { - return (neuron0x4a47150()*-0.0825796); -} - -double ddNNEB::synapse0x4a4a980() { - return (neuron0x4a47490()*-0.252398); -} - -double ddNNEB::synapse0x4a4a9c0() { - return (neuron0x4a477d0()*1.93309); -} - -double ddNNEB::synapse0x4a4aa00() { - return (neuron0x4a47b10()*0.402714); -} - -double ddNNEB::synapse0x4a4aa40() { - return (neuron0x4a47e50()*-0.705064); -} - -double ddNNEB::synapse0x4193db0() { - return (neuron0x4a46790()*0.279067); -} - -double ddNNEB::synapse0x4193df0() { - return (neuron0x4a46ad0()*2.10666); -} - -double ddNNEB::synapse0x42bf760() { - return (neuron0x4a46e10()*-1.93947); -} - -double ddNNEB::synapse0x42bf7a0() { - return (neuron0x4a47150()*0.275969); -} - -double ddNNEB::synapse0x42bf7e0() { - return (neuron0x4a47490()*-0.106968); -} - -double ddNNEB::synapse0x42bf820() { - return (neuron0x4a477d0()*-0.688045); -} - -double ddNNEB::synapse0x42bf860() { - return (neuron0x4a47b10()*-0.668713); -} - -double ddNNEB::synapse0x42bf8a0() { - return (neuron0x4a47e50()*1.05971); -} - -double ddNNEB::synapse0x4a4b590() { - return (neuron0x4a46790()*-1.40774); -} - -double ddNNEB::synapse0x4a4b5d0() { - return (neuron0x4a46ad0()*0.313147); -} - -double ddNNEB::synapse0x4a4b610() { - return (neuron0x4a46e10()*-0.734327); -} - -double ddNNEB::synapse0x4a4b650() { - return (neuron0x4a47150()*0.152364); -} - -double ddNNEB::synapse0x4a4b690() { - return (neuron0x4a47490()*0.201345); -} - -double ddNNEB::synapse0x4a4b6d0() { - return (neuron0x4a477d0()*-0.450168); -} - -double ddNNEB::synapse0x4a4b710() { - return (neuron0x4a47b10()*-0.0113884); -} - -double ddNNEB::synapse0x4a4b750() { - return (neuron0x4a47e50()*2.59905); -} - -double ddNNEB::synapse0x4a4bad0() { - return (neuron0x4a482c0()*0.516919); -} - -double ddNNEB::synapse0x4a4bb10() { - return (neuron0x4a486f0()*0.119394); -} - -double ddNNEB::synapse0x4a4bb50() { - return (neuron0x4a48c30()*-1.4767); -} - -double ddNNEB::synapse0x4a4bb90() { - return (neuron0x4a49200()*-0.0500033); -} - -double ddNNEB::synapse0x4a4bbd0() { - return (neuron0x4a49740()*0.298463); -} - -double ddNNEB::synapse0x4a4bc10() { - return (neuron0x4a49ac0()*2.45755); -} - -double ddNNEB::synapse0x4a4bc50() { - return (neuron0x4a4a000()*0.654612); -} - -double ddNNEB::synapse0x4a4bc90() { - return (neuron0x4a4a540()*0.57596); -} - -double ddNNEB::synapse0x4a4bcd0() { - return (neuron0x4a4aa80()*-1.65405); -} - -double ddNNEB::synapse0x4a4bd10() { - return (neuron0x4a4b2e0()*2.42557); -} - -double ddNNEB::synapse0x4a4c090() { - return (neuron0x4a482c0()*0.502582); -} - -double ddNNEB::synapse0x4a4c0d0() { - return (neuron0x4a486f0()*2.8062); -} - -double ddNNEB::synapse0x4a4c110() { - return (neuron0x4a48c30()*-5.0152); -} - -double ddNNEB::synapse0x4a4c150() { - return (neuron0x4a49200()*-0.479722); -} - -double ddNNEB::synapse0x4a4c190() { - return (neuron0x4a49740()*0.762427); -} - -double ddNNEB::synapse0x4a4c1d0() { - return (neuron0x4a49ac0()*0.465059); -} - -double ddNNEB::synapse0x4a4c210() { - return (neuron0x4a4a000()*1.25011); -} - -double ddNNEB::synapse0x4a4c250() { - return (neuron0x4a4a540()*0.848167); -} - -double ddNNEB::synapse0x4a4c290() { - return (neuron0x4a4aa80()*-3.38675); -} - -double ddNNEB::synapse0x4a4c2d0() { - return (neuron0x4a4b2e0()*0.890426); -} - -double ddNNEB::synapse0x4a4c650() { - return (neuron0x4a482c0()*2.11989); -} - -double ddNNEB::synapse0x4a4c690() { - return (neuron0x4a486f0()*-0.554945); -} - -double ddNNEB::synapse0x4a4c6d0() { - return (neuron0x4a48c30()*-0.633086); -} - -double ddNNEB::synapse0x4a4c710() { - return (neuron0x4a49200()*0.574811); -} - -double ddNNEB::synapse0x4a4c750() { - return (neuron0x4a49740()*0.354028); -} - -double ddNNEB::synapse0x4a4c790() { - return (neuron0x4a49ac0()*-0.156698); -} - -double ddNNEB::synapse0x4a4c7d0() { - return (neuron0x4a4a000()*2.36578); -} - -double ddNNEB::synapse0x4a4c810() { - return (neuron0x4a4a540()*0.196586); -} - -double ddNNEB::synapse0x4a4c850() { - return (neuron0x4a4aa80()*1.56175); -} - -double ddNNEB::synapse0x4a4c890() { - return (neuron0x4a4b2e0()*-0.0753345); -} - -double ddNNEB::synapse0x4a4cc10() { - return (neuron0x4a482c0()*1.1924); -} - -double ddNNEB::synapse0x4a4cc50() { - return (neuron0x4a486f0()*0.35832); -} - -double ddNNEB::synapse0x4a4cc90() { - return (neuron0x4a48c30()*-1.20353); -} - -double ddNNEB::synapse0x4a4ccd0() { - return (neuron0x4a49200()*-1.16455); -} - -double ddNNEB::synapse0x4a4cd10() { - return (neuron0x4a49740()*1.49197); -} - -double ddNNEB::synapse0x4a4cd50() { - return (neuron0x4a49ac0()*0.73065); -} - -double ddNNEB::synapse0x4a4cd90() { - return (neuron0x4a4a000()*0.00900645); -} - -double ddNNEB::synapse0x4a4cdd0() { - return (neuron0x4a4a540()*0.682976); -} - -double ddNNEB::synapse0x4a4ce10() { - return (neuron0x4a4aa80()*0.888089); -} - -double ddNNEB::synapse0x4a4ce50() { - return (neuron0x4a4b2e0()*2.13105); -} - -double ddNNEB::synapse0x4a4d1d0() { - return (neuron0x4a482c0()*-0.612113); -} - -double ddNNEB::synapse0x4a4d210() { - return (neuron0x4a486f0()*-0.686453); -} - -double ddNNEB::synapse0x4a4d250() { - return (neuron0x4a48c30()*-2.45879); -} - -double ddNNEB::synapse0x4a4d290() { - return (neuron0x4a49200()*-0.257105); -} - -double ddNNEB::synapse0x4a4d2d0() { - return (neuron0x4a49740()*-0.999997); -} - -double ddNNEB::synapse0x4a4d310() { - return (neuron0x4a49ac0()*1.33032); -} - -double ddNNEB::synapse0x4a4d350() { - return (neuron0x4a4a000()*-0.300316); -} - -double ddNNEB::synapse0x4a4d390() { - return (neuron0x4a4a540()*-0.902281); -} - -double ddNNEB::synapse0x4a4d3d0() { - return (neuron0x4a4aa80()*0.0236984); -} - -double ddNNEB::synapse0x4a4aed0() { - return (neuron0x4a4b2e0()*-0.749823); -} - -double ddNNEB::synapse0x4a4b250() { - return (neuron0x4a4b790()*2.1077); -} - -double ddNNEB::synapse0x4a4b290() { - return (neuron0x4a4bd50()*3.37063); -} - -double ddNNEB::synapse0x4a48190() { - return (neuron0x4a4c310()*4.32082); -} - -double ddNNEB::synapse0x4a481d0() { - return (neuron0x4a4c8d0()*2.21584); -} - -double ddNNEB::synapse0x4a48210() { - return (neuron0x4a4ce90()*-5.43053); -} - - -double ldNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.13794)/1.30956; - input1 = (in1 - 1.15492)/1.68616; - input2 = (in2 - 1.14956)/1.69316; - input3 = (in3 - 1.89563)/1.49913; - input4 = (in4 - 1.90666)/1.49442; - input5 = (in5 - 0.3065)/1.46726; - input6 = (in6 - 0.318454)/1.50742; - input7 = (in7 - 0.305354)/1.51455; - switch(index) { - case 0: - return neuron0x1827a010(); - default: - return 0.; - } -} - -double ldNNEB::Value(int index, double* input) { - input0 = (input[0] - 4.13794)/1.30956; - input1 = (input[1] - 1.15492)/1.68616; - input2 = (input[2] - 1.14956)/1.69316; - input3 = (input[3] - 1.89563)/1.49913; - input4 = (input[4] - 1.90666)/1.49442; - input5 = (input[5] - 0.3065)/1.46726; - input6 = (input[6] - 0.318454)/1.50742; - input7 = (input[7] - 0.305354)/1.51455; - switch(index) { - case 0: - return neuron0x1827a010(); - default: - return 0.; - } -} - -double ldNNEB::neuron0x18275890() { - return input0; -} - -double ldNNEB::neuron0x18275bd0() { - return input1; -} - -double ldNNEB::neuron0x18275f10() { - return input2; -} - -double ldNNEB::neuron0x18276250() { - return input3; -} - -double ldNNEB::neuron0x18276590() { - return input4; -} - -double ldNNEB::neuron0x182768d0() { - return input5; -} - -double ldNNEB::neuron0x18276c10() { - return input6; -} - -double ldNNEB::neuron0x18276f50() { - return input7; -} - -double ldNNEB::input0x182773c0() { - double input = -0.900178; - input += synapse0x181d6290(); - input += synapse0x1827e490(); - input += synapse0x18277670(); - input += synapse0x182776b0(); - input += synapse0x182776f0(); - input += synapse0x18277730(); - input += synapse0x18277770(); - input += synapse0x182777b0(); - return input; -} - -double ldNNEB::neuron0x182773c0() { - double input = input0x182773c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x182777f0() { - double input = 2.16276; - input += synapse0x18277b30(); - input += synapse0x18277b70(); - input += synapse0x18277bb0(); - input += synapse0x18277bf0(); - input += synapse0x18277c30(); - input += synapse0x18277c70(); - input += synapse0x18277cb0(); - input += synapse0x18277cf0(); - return input; -} - -double ldNNEB::neuron0x182777f0() { - double input = input0x182777f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x18277d30() { - double input = 0.152496; - input += synapse0x18278070(); - input += synapse0x17ad4f50(); - input += synapse0x17ad4f90(); - input += synapse0x182781c0(); - input += synapse0x18278200(); - input += synapse0x18278240(); - input += synapse0x18278280(); - input += synapse0x182782c0(); - return input; -} - -double ldNNEB::neuron0x18277d30() { - double input = input0x18277d30(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x18278300() { - double input = -0.320593; - input += synapse0x18278640(); - input += synapse0x18278680(); - input += synapse0x182786c0(); - input += synapse0x18278700(); - input += synapse0x18278740(); - input += synapse0x18278780(); - input += synapse0x182787c0(); - input += synapse0x18278800(); - return input; -} - -double ldNNEB::neuron0x18278300() { - double input = input0x18278300(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x18278840() { - double input = -0.58249; - input += synapse0x18278b80(); - input += synapse0x182757c0(); - input += synapse0x1827e4d0(); - input += synapse0x17ad3a90(); - input += synapse0x182780b0(); - input += synapse0x182780f0(); - input += synapse0x18278130(); - input += synapse0x18278170(); - return input; -} - -double ldNNEB::neuron0x18278840() { - double input = input0x18278840(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x18278bc0() { - double input = 0.173697; - input += synapse0x18278f00(); - input += synapse0x18278f40(); - input += synapse0x18278f80(); - input += synapse0x18278fc0(); - input += synapse0x18279000(); - input += synapse0x18279040(); - input += synapse0x18279080(); - input += synapse0x182790c0(); - return input; -} - -double ldNNEB::neuron0x18278bc0() { - double input = input0x18278bc0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x18279100() { - double input = -1.94555; - input += synapse0x18279440(); - input += synapse0x18279480(); - input += synapse0x182794c0(); - input += synapse0x18279500(); - input += synapse0x18279540(); - input += synapse0x18279580(); - input += synapse0x182795c0(); - input += synapse0x18279600(); - return input; -} - -double ldNNEB::neuron0x18279100() { - double input = input0x18279100(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x18279640() { - double input = 0.545632; - input += synapse0x18279980(); - input += synapse0x182799c0(); - input += synapse0x18279a00(); - input += synapse0x18279a40(); - input += synapse0x18279a80(); - input += synapse0x18279ac0(); - input += synapse0x18279b00(); - input += synapse0x18279b40(); - return input; -} - -double ldNNEB::neuron0x18279640() { - double input = input0x18279640(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x18279b80() { - double input = -0.563904; - input += synapse0x179c2eb0(); - input += synapse0x179c2ef0(); - input += synapse0x17aee860(); - input += synapse0x17aee8a0(); - input += synapse0x17aee8e0(); - input += synapse0x17aee920(); - input += synapse0x17aee960(); - input += synapse0x17aee9a0(); - return input; -} - -double ldNNEB::neuron0x18279b80() { - double input = input0x18279b80(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x1827a3e0() { - double input = 2.57453; - input += synapse0x1827a690(); - input += synapse0x1827a6d0(); - input += synapse0x1827a710(); - input += synapse0x1827a750(); - input += synapse0x1827a790(); - input += synapse0x1827a7d0(); - input += synapse0x1827a810(); - input += synapse0x1827a850(); - return input; -} - -double ldNNEB::neuron0x1827a3e0() { - double input = input0x1827a3e0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x1827a890() { - double input = 1.03566; - input += synapse0x1827abd0(); - input += synapse0x1827ac10(); - input += synapse0x1827ac50(); - input += synapse0x1827ac90(); - input += synapse0x1827acd0(); - input += synapse0x1827ad10(); - input += synapse0x1827ad50(); - input += synapse0x1827ad90(); - input += synapse0x1827add0(); - input += synapse0x1827ae10(); - return input; -} - -double ldNNEB::neuron0x1827a890() { - double input = input0x1827a890(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x1827ae50() { - double input = -0.093052; - input += synapse0x1827b190(); - input += synapse0x1827b1d0(); - input += synapse0x1827b210(); - input += synapse0x1827b250(); - input += synapse0x1827b290(); - input += synapse0x1827b2d0(); - input += synapse0x1827b310(); - input += synapse0x1827b350(); - input += synapse0x1827b390(); - input += synapse0x1827b3d0(); - return input; -} - -double ldNNEB::neuron0x1827ae50() { - double input = input0x1827ae50(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x1827b410() { - double input = 0.160093; - input += synapse0x1827b750(); - input += synapse0x1827b790(); - input += synapse0x1827b7d0(); - input += synapse0x1827b810(); - input += synapse0x1827b850(); - input += synapse0x1827b890(); - input += synapse0x1827b8d0(); - input += synapse0x1827b910(); - input += synapse0x1827b950(); - input += synapse0x1827b990(); - return input; -} - -double ldNNEB::neuron0x1827b410() { - double input = input0x1827b410(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x1827b9d0() { - double input = -0.193108; - input += synapse0x1827bd10(); - input += synapse0x1827bd50(); - input += synapse0x1827bd90(); - input += synapse0x1827bdd0(); - input += synapse0x1827be10(); - input += synapse0x1827be50(); - input += synapse0x1827be90(); - input += synapse0x1827bed0(); - input += synapse0x1827bf10(); - input += synapse0x1827bf50(); - return input; -} - -double ldNNEB::neuron0x1827b9d0() { - double input = input0x1827b9d0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x1827bf90() { - double input = -0.780892; - input += synapse0x1827c2d0(); - input += synapse0x1827c310(); - input += synapse0x1827c350(); - input += synapse0x1827c390(); - input += synapse0x1827c3d0(); - input += synapse0x1827c410(); - input += synapse0x1827c450(); - input += synapse0x1827c490(); - input += synapse0x1827c4d0(); - input += synapse0x18279fd0(); - return input; -} - -double ldNNEB::neuron0x1827bf90() { - double input = input0x1827bf90(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEB::input0x1827a010() { - double input = 3.54463; - input += synapse0x1827a350(); - input += synapse0x1827a390(); - input += synapse0x18277290(); - input += synapse0x182772d0(); - input += synapse0x18277310(); - return input; -} - -double ldNNEB::neuron0x1827a010() { - double input = input0x1827a010(); - return (input * 1)+0; -} - -double ldNNEB::synapse0x181d6290() { - return (neuron0x18275890()*0.614766); -} - -double ldNNEB::synapse0x1827e490() { - return (neuron0x18275bd0()*0.413269); -} - -double ldNNEB::synapse0x18277670() { - return (neuron0x18275f10()*-1.73024); -} - -double ldNNEB::synapse0x182776b0() { - return (neuron0x18276250()*0.00373702); -} - -double ldNNEB::synapse0x182776f0() { - return (neuron0x18276590()*0.106991); -} - -double ldNNEB::synapse0x18277730() { - return (neuron0x182768d0()*-0.449699); -} - -double ldNNEB::synapse0x18277770() { - return (neuron0x18276c10()*-0.00781349); -} - -double ldNNEB::synapse0x182777b0() { - return (neuron0x18276f50()*0.339282); -} - -double ldNNEB::synapse0x18277b30() { - return (neuron0x18275890()*0.0803725); -} - -double ldNNEB::synapse0x18277b70() { - return (neuron0x18275bd0()*-0.332201); -} - -double ldNNEB::synapse0x18277bb0() { - return (neuron0x18275f10()*-0.0784683); -} - -double ldNNEB::synapse0x18277bf0() { - return (neuron0x18276250()*-0.0932347); -} - -double ldNNEB::synapse0x18277c30() { - return (neuron0x18276590()*0.990996); -} - -double ldNNEB::synapse0x18277c70() { - return (neuron0x182768d0()*0.456115); -} - -double ldNNEB::synapse0x18277cb0() { - return (neuron0x18276c10()*-0.287584); -} - -double ldNNEB::synapse0x18277cf0() { - return (neuron0x18276f50()*-0.0594785); -} - -double ldNNEB::synapse0x18278070() { - return (neuron0x18275890()*1.15983); -} - -double ldNNEB::synapse0x17ad4f50() { - return (neuron0x18275bd0()*0.710525); -} - -double ldNNEB::synapse0x17ad4f90() { - return (neuron0x18275f10()*-0.994761); -} - -double ldNNEB::synapse0x182781c0() { - return (neuron0x18276250()*0.271231); -} - -double ldNNEB::synapse0x18278200() { - return (neuron0x18276590()*-0.140435); -} - -double ldNNEB::synapse0x18278240() { - return (neuron0x182768d0()*-0.688977); -} - -double ldNNEB::synapse0x18278280() { - return (neuron0x18276c10()*0.106436); -} - -double ldNNEB::synapse0x182782c0() { - return (neuron0x18276f50()*0.390168); -} - -double ldNNEB::synapse0x18278640() { - return (neuron0x18275890()*0.257245); -} - -double ldNNEB::synapse0x18278680() { - return (neuron0x18275bd0()*0.258381); -} - -double ldNNEB::synapse0x182786c0() { - return (neuron0x18275f10()*0.33651); -} - -double ldNNEB::synapse0x18278700() { - return (neuron0x18276250()*1.93473); -} - -double ldNNEB::synapse0x18278740() { - return (neuron0x18276590()*0.00886707); -} - -double ldNNEB::synapse0x18278780() { - return (neuron0x182768d0()*-0.527713); -} - -double ldNNEB::synapse0x182787c0() { - return (neuron0x18276c10()*0.369871); -} - -double ldNNEB::synapse0x18278800() { - return (neuron0x18276f50()*0.494573); -} - -double ldNNEB::synapse0x18278b80() { - return (neuron0x18275890()*-0.888076); -} - -double ldNNEB::synapse0x182757c0() { - return (neuron0x18275bd0()*-0.592806); -} - -double ldNNEB::synapse0x1827e4d0() { - return (neuron0x18275f10()*-1.22797); -} - -double ldNNEB::synapse0x17ad3a90() { - return (neuron0x18276250()*-0.220221); -} - -double ldNNEB::synapse0x182780b0() { - return (neuron0x18276590()*-0.481517); -} - -double ldNNEB::synapse0x182780f0() { - return (neuron0x182768d0()*-0.528706); -} - -double ldNNEB::synapse0x18278130() { - return (neuron0x18276c10()*-0.902304); -} - -double ldNNEB::synapse0x18278170() { - return (neuron0x18276f50()*-1.31047); -} - -double ldNNEB::synapse0x18278f00() { - return (neuron0x18275890()*1.18818); -} - -double ldNNEB::synapse0x18278f40() { - return (neuron0x18275bd0()*0.549287); -} - -double ldNNEB::synapse0x18278f80() { - return (neuron0x18275f10()*0.812188); -} - -double ldNNEB::synapse0x18278fc0() { - return (neuron0x18276250()*-0.692576); -} - -double ldNNEB::synapse0x18279000() { - return (neuron0x18276590()*0.0828682); -} - -double ldNNEB::synapse0x18279040() { - return (neuron0x182768d0()*0.301323); -} - -double ldNNEB::synapse0x18279080() { - return (neuron0x18276c10()*0.259526); -} - -double ldNNEB::synapse0x182790c0() { - return (neuron0x18276f50()*0.337679); -} - -double ldNNEB::synapse0x18279440() { - return (neuron0x18275890()*-1.17139); -} - -double ldNNEB::synapse0x18279480() { - return (neuron0x18275bd0()*0.410552); -} - -double ldNNEB::synapse0x182794c0() { - return (neuron0x18275f10()*0.588709); -} - -double ldNNEB::synapse0x18279500() { - return (neuron0x18276250()*0.0275081); -} - -double ldNNEB::synapse0x18279540() { - return (neuron0x18276590()*0.547308); -} - -double ldNNEB::synapse0x18279580() { - return (neuron0x182768d0()*-0.0396708); -} - -double ldNNEB::synapse0x182795c0() { - return (neuron0x18276c10()*0.0315642); -} - -double ldNNEB::synapse0x18279600() { - return (neuron0x18276f50()*0.400394); -} - -double ldNNEB::synapse0x18279980() { - return (neuron0x18275890()*-0.606966); -} - -double ldNNEB::synapse0x182799c0() { - return (neuron0x18275bd0()*1.26538); -} - -double ldNNEB::synapse0x18279a00() { - return (neuron0x18275f10()*-0.145802); -} - -double ldNNEB::synapse0x18279a40() { - return (neuron0x18276250()*0.203945); -} - -double ldNNEB::synapse0x18279a80() { - return (neuron0x18276590()*-0.376903); -} - -double ldNNEB::synapse0x18279ac0() { - return (neuron0x182768d0()*0.521134); -} - -double ldNNEB::synapse0x18279b00() { - return (neuron0x18276c10()*-0.0731846); -} - -double ldNNEB::synapse0x18279b40() { - return (neuron0x18276f50()*0.179746); -} - -double ldNNEB::synapse0x179c2eb0() { - return (neuron0x18275890()*-0.221377); -} - -double ldNNEB::synapse0x179c2ef0() { - return (neuron0x18275bd0()*0.42709); -} - -double ldNNEB::synapse0x17aee860() { - return (neuron0x18275f10()*-0.35336); -} - -double ldNNEB::synapse0x17aee8a0() { - return (neuron0x18276250()*-0.718037); -} - -double ldNNEB::synapse0x17aee8e0() { - return (neuron0x18276590()*-0.127489); -} - -double ldNNEB::synapse0x17aee920() { - return (neuron0x182768d0()*-0.662367); -} - -double ldNNEB::synapse0x17aee960() { - return (neuron0x18276c10()*0.365699); -} - -double ldNNEB::synapse0x17aee9a0() { - return (neuron0x18276f50()*-0.936714); -} - -double ldNNEB::synapse0x1827a690() { - return (neuron0x18275890()*-1.4265); -} - -double ldNNEB::synapse0x1827a6d0() { - return (neuron0x18275bd0()*-0.460301); -} - -double ldNNEB::synapse0x1827a710() { - return (neuron0x18275f10()*-0.054207); -} - -double ldNNEB::synapse0x1827a750() { - return (neuron0x18276250()*-0.122564); -} - -double ldNNEB::synapse0x1827a790() { - return (neuron0x18276590()*-0.0448578); -} - -double ldNNEB::synapse0x1827a7d0() { - return (neuron0x182768d0()*0.636673); -} - -double ldNNEB::synapse0x1827a810() { - return (neuron0x18276c10()*0.200266); -} - -double ldNNEB::synapse0x1827a850() { - return (neuron0x18276f50()*0.284904); -} - -double ldNNEB::synapse0x1827abd0() { - return (neuron0x182773c0()*-0.96263); -} - -double ldNNEB::synapse0x1827ac10() { - return (neuron0x182777f0()*5.42215); -} - -double ldNNEB::synapse0x1827ac50() { - return (neuron0x18277d30()*-1.06695); -} - -double ldNNEB::synapse0x1827ac90() { - return (neuron0x18278300()*-0.724369); -} - -double ldNNEB::synapse0x1827acd0() { - return (neuron0x18278840()*0.0415235); -} - -double ldNNEB::synapse0x1827ad10() { - return (neuron0x18278bc0()*-1.11119); -} - -double ldNNEB::synapse0x1827ad50() { - return (neuron0x18279100()*3.29088); -} - -double ldNNEB::synapse0x1827ad90() { - return (neuron0x18279640()*-3.47163); -} - -double ldNNEB::synapse0x1827add0() { - return (neuron0x18279b80()*1.96684); -} - -double ldNNEB::synapse0x1827ae10() { - return (neuron0x1827a3e0()*-5.05257); -} - -double ldNNEB::synapse0x1827b190() { - return (neuron0x182773c0()*0.169895); -} - -double ldNNEB::synapse0x1827b1d0() { - return (neuron0x182777f0()*-1.03492); -} - -double ldNNEB::synapse0x1827b210() { - return (neuron0x18277d30()*1.0047); -} - -double ldNNEB::synapse0x1827b250() { - return (neuron0x18278300()*0.541598); -} - -double ldNNEB::synapse0x1827b290() { - return (neuron0x18278840()*-0.540631); -} - -double ldNNEB::synapse0x1827b2d0() { - return (neuron0x18278bc0()*0.368238); -} - -double ldNNEB::synapse0x1827b310() { - return (neuron0x18279100()*-0.540273); -} - -double ldNNEB::synapse0x1827b350() { - return (neuron0x18279640()*1.34685); -} - -double ldNNEB::synapse0x1827b390() { - return (neuron0x18279b80()*-0.429885); -} - -double ldNNEB::synapse0x1827b3d0() { - return (neuron0x1827a3e0()*1.91775); -} - -double ldNNEB::synapse0x1827b750() { - return (neuron0x182773c0()*1.12693); -} - -double ldNNEB::synapse0x1827b790() { - return (neuron0x182777f0()*-2.70427); -} - -double ldNNEB::synapse0x1827b7d0() { - return (neuron0x18277d30()*1.87916); -} - -double ldNNEB::synapse0x1827b810() { - return (neuron0x18278300()*0.12951); -} - -double ldNNEB::synapse0x1827b850() { - return (neuron0x18278840()*0.0521041); -} - -double ldNNEB::synapse0x1827b890() { - return (neuron0x18278bc0()*-0.480644); -} - -double ldNNEB::synapse0x1827b8d0() { - return (neuron0x18279100()*-2.42394); -} - -double ldNNEB::synapse0x1827b910() { - return (neuron0x18279640()*1.85898); -} - -double ldNNEB::synapse0x1827b950() { - return (neuron0x18279b80()*-0.281259); -} - -double ldNNEB::synapse0x1827b990() { - return (neuron0x1827a3e0()*3.24442); -} - -double ldNNEB::synapse0x1827bd10() { - return (neuron0x182773c0()*-0.661399); -} - -double ldNNEB::synapse0x1827bd50() { - return (neuron0x182777f0()*0.69702); -} - -double ldNNEB::synapse0x1827bd90() { - return (neuron0x18277d30()*1.11072); -} - -double ldNNEB::synapse0x1827bdd0() { - return (neuron0x18278300()*0.36713); -} - -double ldNNEB::synapse0x1827be10() { - return (neuron0x18278840()*-0.165389); -} - -double ldNNEB::synapse0x1827be50() { - return (neuron0x18278bc0()*0.351639); -} - -double ldNNEB::synapse0x1827be90() { - return (neuron0x18279100()*0.817737); -} - -double ldNNEB::synapse0x1827bed0() { - return (neuron0x18279640()*-0.109831); -} - -double ldNNEB::synapse0x1827bf10() { - return (neuron0x18279b80()*-0.545354); -} - -double ldNNEB::synapse0x1827bf50() { - return (neuron0x1827a3e0()*-0.635203); -} - -double ldNNEB::synapse0x1827c2d0() { - return (neuron0x182773c0()*1.57996); -} - -double ldNNEB::synapse0x1827c310() { - return (neuron0x182777f0()*-1.28325); -} - -double ldNNEB::synapse0x1827c350() { - return (neuron0x18277d30()*-1.39606); -} - -double ldNNEB::synapse0x1827c390() { - return (neuron0x18278300()*-0.0116294); -} - -double ldNNEB::synapse0x1827c3d0() { - return (neuron0x18278840()*-0.373634); -} - -double ldNNEB::synapse0x1827c410() { - return (neuron0x18278bc0()*0.015702); -} - -double ldNNEB::synapse0x1827c450() { - return (neuron0x18279100()*-1.86785); -} - -double ldNNEB::synapse0x1827c490() { - return (neuron0x18279640()*0.902913); -} - -double ldNNEB::synapse0x1827c4d0() { - return (neuron0x18279b80()*-0.959895); -} - -double ldNNEB::synapse0x18279fd0() { - return (neuron0x1827a3e0()*2.46191); -} - -double ldNNEB::synapse0x1827a350() { - return (neuron0x1827a890()*-0.0487259); -} - -double ldNNEB::synapse0x1827a390() { - return (neuron0x1827ae50()*0.655329); -} - -double ldNNEB::synapse0x18277290() { - return (neuron0x1827b410()*-4.96624); -} - -double ldNNEB::synapse0x182772d0() { - return (neuron0x1827b9d0()*4.81781); -} - -double ldNNEB::synapse0x18277310() { - return (neuron0x1827bf90()*-4.50754); -} - - - -double llNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.13794)/1.30956; - input1 = (in1 - 1.15492)/1.68616; - input2 = (in2 - 1.89563)/1.49913; - input3 = (in3 - 1.90666)/1.49442; - input4 = (in4 - 0.3065)/1.46726; - input5 = (in5 - 0.318454)/1.50742; - input6 = (in6 - 0.305354)/1.51455; - input7 = (in7 - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x2f8ff90(); - default: - return 0.; - } -} - -double llNNEB::Value(int index, double* input) { - input0 = (input[0] - 4.13794)/1.30956; - input1 = (input[1] - 1.15492)/1.68616; - input2 = (input[2] - 1.89563)/1.49913; - input3 = (input[3] - 1.90666)/1.49442; - input4 = (input[4] - 0.3065)/1.46726; - input5 = (input[5] - 0.318454)/1.50742; - input6 = (input[6] - 0.305354)/1.51455; - input7 = (input[7] - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x2f8ff90(); - default: - return 0.; - } -} - -double llNNEB::neuron0x2f8b810() { - return input0; -} - -double llNNEB::neuron0x2f8bb50() { - return input1; -} - -double llNNEB::neuron0x2f8be90() { - return input2; -} - -double llNNEB::neuron0x2f8c1d0() { - return input3; -} - -double llNNEB::neuron0x2f8c510() { - return input4; -} - -double llNNEB::neuron0x2f8c850() { - return input5; -} - -double llNNEB::neuron0x2f8cb90() { - return input6; -} - -double llNNEB::neuron0x2f8ced0() { - return input7; -} - -double llNNEB::input0x2f8d340() { - double input = -0.0926358; - input += synapse0x2eec210(); - input += synapse0x2f94410(); - input += synapse0x2f8d5f0(); - input += synapse0x2f8d630(); - input += synapse0x2f8d670(); - input += synapse0x2f8d6b0(); - input += synapse0x2f8d6f0(); - input += synapse0x2f8d730(); - return input; -} - -double llNNEB::neuron0x2f8d340() { - double input = input0x2f8d340(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f8d770() { - double input = -0.565862; - input += synapse0x2f8dab0(); - input += synapse0x2f8daf0(); - input += synapse0x2f8db30(); - input += synapse0x2f8db70(); - input += synapse0x2f8dbb0(); - input += synapse0x2f8dbf0(); - input += synapse0x2f8dc30(); - input += synapse0x2f8dc70(); - return input; -} - -double llNNEB::neuron0x2f8d770() { - double input = input0x2f8d770(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f8dcb0() { - double input = 0.115237; - input += synapse0x2f8dff0(); - input += synapse0x27eaed0(); - input += synapse0x27eaf10(); - input += synapse0x2f8e140(); - input += synapse0x2f8e180(); - input += synapse0x2f8e1c0(); - input += synapse0x2f8e200(); - input += synapse0x2f8e240(); - return input; -} - -double llNNEB::neuron0x2f8dcb0() { - double input = input0x2f8dcb0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f8e280() { - double input = 0.890509; - input += synapse0x2f8e5c0(); - input += synapse0x2f8e600(); - input += synapse0x2f8e640(); - input += synapse0x2f8e680(); - input += synapse0x2f8e6c0(); - input += synapse0x2f8e700(); - input += synapse0x2f8e740(); - input += synapse0x2f8e780(); - return input; -} - -double llNNEB::neuron0x2f8e280() { - double input = input0x2f8e280(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f8e7c0() { - double input = 0.775207; - input += synapse0x2f8eb00(); - input += synapse0x2f8b740(); - input += synapse0x2f94450(); - input += synapse0x27e9a10(); - input += synapse0x2f8e030(); - input += synapse0x2f8e070(); - input += synapse0x2f8e0b0(); - input += synapse0x2f8e0f0(); - return input; -} - -double llNNEB::neuron0x2f8e7c0() { - double input = input0x2f8e7c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f8eb40() { - double input = 0.230515; - input += synapse0x2f8ee80(); - input += synapse0x2f8eec0(); - input += synapse0x2f8ef00(); - input += synapse0x2f8ef40(); - input += synapse0x2f8ef80(); - input += synapse0x2f8efc0(); - input += synapse0x2f8f000(); - input += synapse0x2f8f040(); - return input; -} - -double llNNEB::neuron0x2f8eb40() { - double input = input0x2f8eb40(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f8f080() { - double input = 0.862616; - input += synapse0x2f8f3c0(); - input += synapse0x2f8f400(); - input += synapse0x2f8f440(); - input += synapse0x2f8f480(); - input += synapse0x2f8f4c0(); - input += synapse0x2f8f500(); - input += synapse0x2f8f540(); - input += synapse0x2f8f580(); - return input; -} - -double llNNEB::neuron0x2f8f080() { - double input = input0x2f8f080(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f8f5c0() { - double input = -0.332968; - input += synapse0x2f8f900(); - input += synapse0x2f8f940(); - input += synapse0x2f8f980(); - input += synapse0x2f8f9c0(); - input += synapse0x2f8fa00(); - input += synapse0x2f8fa40(); - input += synapse0x2f8fa80(); - input += synapse0x2f8fac0(); - return input; -} - -double llNNEB::neuron0x2f8f5c0() { - double input = input0x2f8f5c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f8fb00() { - double input = 0.082267; - input += synapse0x26d8e30(); - input += synapse0x26d8e70(); - input += synapse0x28047e0(); - input += synapse0x2804820(); - input += synapse0x2804860(); - input += synapse0x28048a0(); - input += synapse0x28048e0(); - input += synapse0x2804920(); - return input; -} - -double llNNEB::neuron0x2f8fb00() { - double input = input0x2f8fb00(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f90360() { - double input = -0.304636; - input += synapse0x2f90610(); - input += synapse0x2f90650(); - input += synapse0x2f90690(); - input += synapse0x2f906d0(); - input += synapse0x2f90710(); - input += synapse0x2f90750(); - input += synapse0x2f90790(); - input += synapse0x2f907d0(); - return input; -} - -double llNNEB::neuron0x2f90360() { - double input = input0x2f90360(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f90810() { - double input = -0.0916165; - input += synapse0x2f90b50(); - input += synapse0x2f90b90(); - input += synapse0x2f90bd0(); - input += synapse0x2f90c10(); - input += synapse0x2f90c50(); - input += synapse0x2f90c90(); - input += synapse0x2f90cd0(); - input += synapse0x2f90d10(); - input += synapse0x2f90d50(); - input += synapse0x2f90d90(); - return input; -} - -double llNNEB::neuron0x2f90810() { - double input = input0x2f90810(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f90dd0() { - double input = -0.443607; - input += synapse0x2f91110(); - input += synapse0x2f91150(); - input += synapse0x2f91190(); - input += synapse0x2f911d0(); - input += synapse0x2f91210(); - input += synapse0x2f91250(); - input += synapse0x2f91290(); - input += synapse0x2f912d0(); - input += synapse0x2f91310(); - input += synapse0x2f91350(); - return input; -} - -double llNNEB::neuron0x2f90dd0() { - double input = input0x2f90dd0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f91390() { - double input = -0.00521054; - input += synapse0x2f916d0(); - input += synapse0x2f91710(); - input += synapse0x2f91750(); - input += synapse0x2f91790(); - input += synapse0x2f917d0(); - input += synapse0x2f91810(); - input += synapse0x2f91850(); - input += synapse0x2f91890(); - input += synapse0x2f918d0(); - input += synapse0x2f91910(); - return input; -} - -double llNNEB::neuron0x2f91390() { - double input = input0x2f91390(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f91950() { - double input = -0.446475; - input += synapse0x2f91c90(); - input += synapse0x2f91cd0(); - input += synapse0x2f91d10(); - input += synapse0x2f91d50(); - input += synapse0x2f91d90(); - input += synapse0x2f91dd0(); - input += synapse0x2f91e10(); - input += synapse0x2f91e50(); - input += synapse0x2f91e90(); - input += synapse0x2f91ed0(); - return input; -} - -double llNNEB::neuron0x2f91950() { - double input = input0x2f91950(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f91f10() { - double input = 2.12019; - input += synapse0x2f92250(); - input += synapse0x2f92290(); - input += synapse0x2f922d0(); - input += synapse0x2f92310(); - input += synapse0x2f92350(); - input += synapse0x2f92390(); - input += synapse0x2f923d0(); - input += synapse0x2f92410(); - input += synapse0x2f92450(); - input += synapse0x2f8ff50(); - return input; -} - -double llNNEB::neuron0x2f91f10() { - double input = input0x2f91f10(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEB::input0x2f8ff90() { - double input = 2.9809; - input += synapse0x2f902d0(); - input += synapse0x2f90310(); - input += synapse0x2f8d210(); - input += synapse0x2f8d250(); - input += synapse0x2f8d290(); - return input; -} - -double llNNEB::neuron0x2f8ff90() { - double input = input0x2f8ff90(); - return (input * 1)+0; -} - -double llNNEB::synapse0x2eec210() { - return (neuron0x2f8b810()*1.18802); -} - -double llNNEB::synapse0x2f94410() { - return (neuron0x2f8bb50()*0.697943); -} - -double llNNEB::synapse0x2f8d5f0() { - return (neuron0x2f8be90()*1.29077); -} - -double llNNEB::synapse0x2f8d630() { - return (neuron0x2f8c1d0()*0.974011); -} - -double llNNEB::synapse0x2f8d670() { - return (neuron0x2f8c510()*0.531372); -} - -double llNNEB::synapse0x2f8d6b0() { - return (neuron0x2f8c850()*0.81473); -} - -double llNNEB::synapse0x2f8d6f0() { - return (neuron0x2f8cb90()*2.01243); -} - -double llNNEB::synapse0x2f8d730() { - return (neuron0x2f8ced0()*2.38963); -} - -double llNNEB::synapse0x2f8dab0() { - return (neuron0x2f8b810()*-0.925515); -} - -double llNNEB::synapse0x2f8daf0() { - return (neuron0x2f8bb50()*0.478754); -} - -double llNNEB::synapse0x2f8db30() { - return (neuron0x2f8be90()*-0.187566); -} - -double llNNEB::synapse0x2f8db70() { - return (neuron0x2f8c1d0()*0.794948); -} - -double llNNEB::synapse0x2f8dbb0() { - return (neuron0x2f8c510()*0.174207); -} - -double llNNEB::synapse0x2f8dbf0() { - return (neuron0x2f8c850()*0.30047); -} - -double llNNEB::synapse0x2f8dc30() { - return (neuron0x2f8cb90()*1.05822); -} - -double llNNEB::synapse0x2f8dc70() { - return (neuron0x2f8ced0()*0.192867); -} - -double llNNEB::synapse0x2f8dff0() { - return (neuron0x2f8b810()*2.4499); -} - -double llNNEB::synapse0x27eaed0() { - return (neuron0x2f8bb50()*0.382343); -} - -double llNNEB::synapse0x27eaf10() { - return (neuron0x2f8be90()*1.60773); -} - -double llNNEB::synapse0x2f8e140() { - return (neuron0x2f8c1d0()*1.90051); -} - -double llNNEB::synapse0x2f8e180() { - return (neuron0x2f8c510()*1.52519); -} - -double llNNEB::synapse0x2f8e1c0() { - return (neuron0x2f8c850()*1.13771); -} - -double llNNEB::synapse0x2f8e200() { - return (neuron0x2f8cb90()*3.64255); -} - -double llNNEB::synapse0x2f8e240() { - return (neuron0x2f8ced0()*3.49626); -} - -double llNNEB::synapse0x2f8e5c0() { - return (neuron0x2f8b810()*1.23427); -} - -double llNNEB::synapse0x2f8e600() { - return (neuron0x2f8bb50()*-0.0519786); -} - -double llNNEB::synapse0x2f8e640() { - return (neuron0x2f8be90()*0.211897); -} - -double llNNEB::synapse0x2f8e680() { - return (neuron0x2f8c1d0()*0.200567); -} - -double llNNEB::synapse0x2f8e6c0() { - return (neuron0x2f8c510()*-0.23557); -} - -double llNNEB::synapse0x2f8e700() { - return (neuron0x2f8c850()*-0.27122); -} - -double llNNEB::synapse0x2f8e740() { - return (neuron0x2f8cb90()*-0.403843); -} - -double llNNEB::synapse0x2f8e780() { - return (neuron0x2f8ced0()*-0.44644); -} - -double llNNEB::synapse0x2f8eb00() { - return (neuron0x2f8b810()*1.95955); -} - -double llNNEB::synapse0x2f8b740() { - return (neuron0x2f8bb50()*0.227203); -} - -double llNNEB::synapse0x2f94450() { - return (neuron0x2f8be90()*1.08097); -} - -double llNNEB::synapse0x27e9a10() { - return (neuron0x2f8c1d0()*1.31399); -} - -double llNNEB::synapse0x2f8e030() { - return (neuron0x2f8c510()*0.807464); -} - -double llNNEB::synapse0x2f8e070() { - return (neuron0x2f8c850()*0.5526); -} - -double llNNEB::synapse0x2f8e0b0() { - return (neuron0x2f8cb90()*1.54524); -} - -double llNNEB::synapse0x2f8e0f0() { - return (neuron0x2f8ced0()*1.25477); -} - -double llNNEB::synapse0x2f8ee80() { - return (neuron0x2f8b810()*1.00016); -} - -double llNNEB::synapse0x2f8eec0() { - return (neuron0x2f8bb50()*-0.29655); -} - -double llNNEB::synapse0x2f8ef00() { - return (neuron0x2f8be90()*-1.64098); -} - -double llNNEB::synapse0x2f8ef40() { - return (neuron0x2f8c1d0()*0.598756); -} - -double llNNEB::synapse0x2f8ef80() { - return (neuron0x2f8c510()*-0.255078); -} - -double llNNEB::synapse0x2f8efc0() { - return (neuron0x2f8c850()*-0.350156); -} - -double llNNEB::synapse0x2f8f000() { - return (neuron0x2f8cb90()*0.872753); -} - -double llNNEB::synapse0x2f8f040() { - return (neuron0x2f8ced0()*0.2515); -} - -double llNNEB::synapse0x2f8f3c0() { - return (neuron0x2f8b810()*2.0049); -} - -double llNNEB::synapse0x2f8f400() { - return (neuron0x2f8bb50()*-0.538494); -} - -double llNNEB::synapse0x2f8f440() { - return (neuron0x2f8be90()*0.457742); -} - -double llNNEB::synapse0x2f8f480() { - return (neuron0x2f8c1d0()*0.681461); -} - -double llNNEB::synapse0x2f8f4c0() { - return (neuron0x2f8c510()*-0.64671); -} - -double llNNEB::synapse0x2f8f500() { - return (neuron0x2f8c850()*-0.655839); -} - -double llNNEB::synapse0x2f8f540() { - return (neuron0x2f8cb90()*-0.9445); -} - -double llNNEB::synapse0x2f8f580() { - return (neuron0x2f8ced0()*-1.16369); -} - -double llNNEB::synapse0x2f8f900() { - return (neuron0x2f8b810()*-0.307722); -} - -double llNNEB::synapse0x2f8f940() { - return (neuron0x2f8bb50()*0.00796732); -} - -double llNNEB::synapse0x2f8f980() { - return (neuron0x2f8be90()*-0.182972); -} - -double llNNEB::synapse0x2f8f9c0() { - return (neuron0x2f8c1d0()*-0.619658); -} - -double llNNEB::synapse0x2f8fa00() { - return (neuron0x2f8c510()*-0.597408); -} - -double llNNEB::synapse0x2f8fa40() { - return (neuron0x2f8c850()*-0.0893563); -} - -double llNNEB::synapse0x2f8fa80() { - return (neuron0x2f8cb90()*-1.37406); -} - -double llNNEB::synapse0x2f8fac0() { - return (neuron0x2f8ced0()*-1.96252); -} - -double llNNEB::synapse0x26d8e30() { - return (neuron0x2f8b810()*-2.49165); -} - -double llNNEB::synapse0x26d8e70() { - return (neuron0x2f8bb50()*-1.00368); -} - -double llNNEB::synapse0x28047e0() { - return (neuron0x2f8be90()*-1.71502); -} - -double llNNEB::synapse0x2804820() { - return (neuron0x2f8c1d0()*-1.38569); -} - -double llNNEB::synapse0x2804860() { - return (neuron0x2f8c510()*-0.972498); -} - -double llNNEB::synapse0x28048a0() { - return (neuron0x2f8c850()*-0.694178); -} - -double llNNEB::synapse0x28048e0() { - return (neuron0x2f8cb90()*-3.13402); -} - -double llNNEB::synapse0x2804920() { - return (neuron0x2f8ced0()*-4.05429); -} - -double llNNEB::synapse0x2f90610() { - return (neuron0x2f8b810()*0.952673); -} - -double llNNEB::synapse0x2f90650() { - return (neuron0x2f8bb50()*0.573276); -} - -double llNNEB::synapse0x2f90690() { - return (neuron0x2f8be90()*0.0479708); -} - -double llNNEB::synapse0x2f906d0() { - return (neuron0x2f8c1d0()*0.290278); -} - -double llNNEB::synapse0x2f90710() { - return (neuron0x2f8c510()*-0.130862); -} - -double llNNEB::synapse0x2f90750() { - return (neuron0x2f8c850()*-0.196606); -} - -double llNNEB::synapse0x2f90790() { - return (neuron0x2f8cb90()*-0.94221); -} - -double llNNEB::synapse0x2f907d0() { - return (neuron0x2f8ced0()*-1.11217); -} - -double llNNEB::synapse0x2f90b50() { - return (neuron0x2f8d340()*2.23731); -} - -double llNNEB::synapse0x2f90b90() { - return (neuron0x2f8d770()*-4.23388); -} - -double llNNEB::synapse0x2f90bd0() { - return (neuron0x2f8dcb0()*0.512447); -} - -double llNNEB::synapse0x2f90c10() { - return (neuron0x2f8e280()*1.72921); -} - -double llNNEB::synapse0x2f90c50() { - return (neuron0x2f8e7c0()*2.99858); -} - -double llNNEB::synapse0x2f90c90() { - return (neuron0x2f8eb40()*3.37404); -} - -double llNNEB::synapse0x2f90cd0() { - return (neuron0x2f8f080()*-6.86377); -} - -double llNNEB::synapse0x2f90d10() { - return (neuron0x2f8f5c0()*0.238987); -} - -double llNNEB::synapse0x2f90d50() { - return (neuron0x2f8fb00()*3.94311); -} - -double llNNEB::synapse0x2f90d90() { - return (neuron0x2f90360()*-3.95507); -} - -double llNNEB::synapse0x2f91110() { - return (neuron0x2f8d340()*0.029347); -} - -double llNNEB::synapse0x2f91150() { - return (neuron0x2f8d770()*1.85203); -} - -double llNNEB::synapse0x2f91190() { - return (neuron0x2f8dcb0()*-0.249941); -} - -double llNNEB::synapse0x2f911d0() { - return (neuron0x2f8e280()*1.14122); -} - -double llNNEB::synapse0x2f91210() { - return (neuron0x2f8e7c0()*-0.0270421); -} - -double llNNEB::synapse0x2f91250() { - return (neuron0x2f8eb40()*-0.581733); -} - -double llNNEB::synapse0x2f91290() { - return (neuron0x2f8f080()*-0.693613); -} - -double llNNEB::synapse0x2f912d0() { - return (neuron0x2f8f5c0()*-0.351173); -} - -double llNNEB::synapse0x2f91310() { - return (neuron0x2f8fb00()*-0.4098); -} - -double llNNEB::synapse0x2f91350() { - return (neuron0x2f90360()*0.0447752); -} - -double llNNEB::synapse0x2f916d0() { - return (neuron0x2f8d340()*1.47129); -} - -double llNNEB::synapse0x2f91710() { - return (neuron0x2f8d770()*-3.90508); -} - -double llNNEB::synapse0x2f91750() { - return (neuron0x2f8dcb0()*0.767496); -} - -double llNNEB::synapse0x2f91790() { - return (neuron0x2f8e280()*1.01144); -} - -double llNNEB::synapse0x2f917d0() { - return (neuron0x2f8e7c0()*1.74916); -} - -double llNNEB::synapse0x2f91810() { - return (neuron0x2f8eb40()*2.63845); -} - -double llNNEB::synapse0x2f91850() { - return (neuron0x2f8f080()*-6.46134); -} - -double llNNEB::synapse0x2f91890() { - return (neuron0x2f8f5c0()*0.771541); -} - -double llNNEB::synapse0x2f918d0() { - return (neuron0x2f8fb00()*3.16939); -} - -double llNNEB::synapse0x2f91910() { - return (neuron0x2f90360()*-5.83595); -} - -double llNNEB::synapse0x2f91c90() { - return (neuron0x2f8d340()*1.43372); -} - -double llNNEB::synapse0x2f91cd0() { - return (neuron0x2f8d770()*-1.89272); -} - -double llNNEB::synapse0x2f91d10() { - return (neuron0x2f8dcb0()*0.428573); -} - -double llNNEB::synapse0x2f91d50() { - return (neuron0x2f8e280()*1.57341); -} - -double llNNEB::synapse0x2f91d90() { - return (neuron0x2f8e7c0()*1.82221); -} - -double llNNEB::synapse0x2f91dd0() { - return (neuron0x2f8eb40()*1.58248); -} - -double llNNEB::synapse0x2f91e10() { - return (neuron0x2f8f080()*-3.14869); -} - -double llNNEB::synapse0x2f91e50() { - return (neuron0x2f8f5c0()*-0.0304965); -} - -double llNNEB::synapse0x2f91e90() { - return (neuron0x2f8fb00()*1.75882); -} - -double llNNEB::synapse0x2f91ed0() { - return (neuron0x2f90360()*-2.44213); -} - -double llNNEB::synapse0x2f92250() { - return (neuron0x2f8d340()*0.707172); -} - -double llNNEB::synapse0x2f92290() { - return (neuron0x2f8d770()*0.393115); -} - -double llNNEB::synapse0x2f922d0() { - return (neuron0x2f8dcb0()*-0.0246247); -} - -double llNNEB::synapse0x2f92310() { - return (neuron0x2f8e280()*-5.06829); -} - -double llNNEB::synapse0x2f92350() { - return (neuron0x2f8e7c0()*-0.0752881); -} - -double llNNEB::synapse0x2f92390() { - return (neuron0x2f8eb40()*-0.515807); -} - -double llNNEB::synapse0x2f923d0() { - return (neuron0x2f8f080()*1.03079); -} - -double llNNEB::synapse0x2f92410() { - return (neuron0x2f8f5c0()*-0.35588); -} - -double llNNEB::synapse0x2f92450() { - return (neuron0x2f8fb00()*0.37701); -} - -double llNNEB::synapse0x2f8ff50() { - return (neuron0x2f90360()*1.99131); -} - -double llNNEB::synapse0x2f902d0() { - return (neuron0x2f90810()*-0.700239); -} - -double llNNEB::synapse0x2f90310() { - return (neuron0x2f90dd0()*4.15526); -} - -double llNNEB::synapse0x2f8d210() { - return (neuron0x2f91390()*2.92611); -} - -double llNNEB::synapse0x2f8d250() { - return (neuron0x2f91950()*0.738438); -} - -double llNNEB::synapse0x2f8d290() { - return (neuron0x2f91f10()*-7.41024); -} - -double luNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.13794)/1.30956; - input1 = (in1 - 1.15492)/1.68616; - input2 = (in2 - 1.14956)/1.69316; - input3 = (in3 - 1.89563)/1.49913; - input4 = (in4 - 1.90666)/1.49442; - input5 = (in5 - 0.3065)/1.46726; - input6 = (in6 - 0.318454)/1.50742; - input7 = (in7 - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x10fdc050(); - default: - return 0.; - } -} - -double luNNEB::Value(int index, double* input) { - input0 = (input[0] - 4.13794)/1.30956; - input1 = (input[1] - 1.15492)/1.68616; - input2 = (input[2] - 1.14956)/1.69316; - input3 = (input[3] - 1.89563)/1.49913; - input4 = (input[4] - 1.90666)/1.49442; - input5 = (input[5] - 0.3065)/1.46726; - input6 = (input[6] - 0.318454)/1.50742; - input7 = (input[7] - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x10fdc050(); - default: - return 0.; - } -} - -double luNNEB::neuron0x10fd78d0() { - return input0; -} - -double luNNEB::neuron0x10fd7c10() { - return input1; -} - -double luNNEB::neuron0x10fd7f50() { - return input2; -} - -double luNNEB::neuron0x10fd8290() { - return input3; -} - -double luNNEB::neuron0x10fd85d0() { - return input4; -} - -double luNNEB::neuron0x10fd8910() { - return input5; -} - -double luNNEB::neuron0x10fd8c50() { - return input6; -} - -double luNNEB::neuron0x10fd8f90() { - return input7; -} - -double luNNEB::input0x10fd9400() { - double input = -0.482263; - input += synapse0x10f382d0(); - input += synapse0x10fe04d0(); - input += synapse0x10fd96b0(); - input += synapse0x10fd96f0(); - input += synapse0x10fd9730(); - input += synapse0x10fd9770(); - input += synapse0x10fd97b0(); - input += synapse0x10fd97f0(); - return input; -} - -double luNNEB::neuron0x10fd9400() { - double input = input0x10fd9400(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fd9830() { - double input = 0.47095; - input += synapse0x10fd9b70(); - input += synapse0x10fd9bb0(); - input += synapse0x10fd9bf0(); - input += synapse0x10fd9c30(); - input += synapse0x10fd9c70(); - input += synapse0x10fd9cb0(); - input += synapse0x10fd9cf0(); - input += synapse0x10fd9d30(); - return input; -} - -double luNNEB::neuron0x10fd9830() { - double input = input0x10fd9830(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fd9d70() { - double input = -0.263786; - input += synapse0x10fda0b0(); - input += synapse0x10836f90(); - input += synapse0x10836fd0(); - input += synapse0x10fda200(); - input += synapse0x10fda240(); - input += synapse0x10fda280(); - input += synapse0x10fda2c0(); - input += synapse0x10fda300(); - return input; -} - -double luNNEB::neuron0x10fd9d70() { - double input = input0x10fd9d70(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fda340() { - double input = -2.45341; - input += synapse0x10fda680(); - input += synapse0x10fda6c0(); - input += synapse0x10fda700(); - input += synapse0x10fda740(); - input += synapse0x10fda780(); - input += synapse0x10fda7c0(); - input += synapse0x10fda800(); - input += synapse0x10fda840(); - return input; -} - -double luNNEB::neuron0x10fda340() { - double input = input0x10fda340(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fda880() { - double input = -0.186997; - input += synapse0x10fdabc0(); - input += synapse0x10fd7800(); - input += synapse0x10fe0510(); - input += synapse0x10835ad0(); - input += synapse0x10fda0f0(); - input += synapse0x10fda130(); - input += synapse0x10fda170(); - input += synapse0x10fda1b0(); - return input; -} - -double luNNEB::neuron0x10fda880() { - double input = input0x10fda880(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fdac00() { - double input = 1.98839; - input += synapse0x10fdaf40(); - input += synapse0x10fdaf80(); - input += synapse0x10fdafc0(); - input += synapse0x10fdb000(); - input += synapse0x10fdb040(); - input += synapse0x10fdb080(); - input += synapse0x10fdb0c0(); - input += synapse0x10fdb100(); - return input; -} - -double luNNEB::neuron0x10fdac00() { - double input = input0x10fdac00(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fdb140() { - double input = -1.00701; - input += synapse0x10fdb480(); - input += synapse0x10fdb4c0(); - input += synapse0x10fdb500(); - input += synapse0x10fdb540(); - input += synapse0x10fdb580(); - input += synapse0x10fdb5c0(); - input += synapse0x10fdb600(); - input += synapse0x10fdb640(); - return input; -} - -double luNNEB::neuron0x10fdb140() { - double input = input0x10fdb140(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fdb680() { - double input = -0.560147; - input += synapse0x10fdb9c0(); - input += synapse0x10fdba00(); - input += synapse0x10fdba40(); - input += synapse0x10fdba80(); - input += synapse0x10fdbac0(); - input += synapse0x10fdbb00(); - input += synapse0x10fdbb40(); - input += synapse0x10fdbb80(); - return input; -} - -double luNNEB::neuron0x10fdb680() { - double input = input0x10fdb680(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fdbbc0() { - double input = -0.721986; - input += synapse0x10724ef0(); - input += synapse0x10724f30(); - input += synapse0x108508a0(); - input += synapse0x108508e0(); - input += synapse0x10850920(); - input += synapse0x10850960(); - input += synapse0x108509a0(); - input += synapse0x108509e0(); - return input; -} - -double luNNEB::neuron0x10fdbbc0() { - double input = input0x10fdbbc0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fdc420() { - double input = -0.736728; - input += synapse0x10fdc6d0(); - input += synapse0x10fdc710(); - input += synapse0x10fdc750(); - input += synapse0x10fdc790(); - input += synapse0x10fdc7d0(); - input += synapse0x10fdc810(); - input += synapse0x10fdc850(); - input += synapse0x10fdc890(); - return input; -} - -double luNNEB::neuron0x10fdc420() { - double input = input0x10fdc420(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fdc8d0() { - double input = 0.481603; - input += synapse0x10fdcc10(); - input += synapse0x10fdcc50(); - input += synapse0x10fdcc90(); - input += synapse0x10fdccd0(); - input += synapse0x10fdcd10(); - input += synapse0x10fdcd50(); - input += synapse0x10fdcd90(); - input += synapse0x10fdcdd0(); - input += synapse0x10fdce10(); - input += synapse0x10fdce50(); - return input; -} - -double luNNEB::neuron0x10fdc8d0() { - double input = input0x10fdc8d0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fdce90() { - double input = 0.390999; - input += synapse0x10fdd1d0(); - input += synapse0x10fdd210(); - input += synapse0x10fdd250(); - input += synapse0x10fdd290(); - input += synapse0x10fdd2d0(); - input += synapse0x10fdd310(); - input += synapse0x10fdd350(); - input += synapse0x10fdd390(); - input += synapse0x10fdd3d0(); - input += synapse0x10fdd410(); - return input; -} - -double luNNEB::neuron0x10fdce90() { - double input = input0x10fdce90(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fdd450() { - double input = -0.566348; - input += synapse0x10fdd790(); - input += synapse0x10fdd7d0(); - input += synapse0x10fdd810(); - input += synapse0x10fdd850(); - input += synapse0x10fdd890(); - input += synapse0x10fdd8d0(); - input += synapse0x10fdd910(); - input += synapse0x10fdd950(); - input += synapse0x10fdd990(); - input += synapse0x10fdd9d0(); - return input; -} - -double luNNEB::neuron0x10fdd450() { - double input = input0x10fdd450(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fdda10() { - double input = 0.577951; - input += synapse0x10fddd50(); - input += synapse0x10fddd90(); - input += synapse0x10fdddd0(); - input += synapse0x10fdde10(); - input += synapse0x10fdde50(); - input += synapse0x10fdde90(); - input += synapse0x10fdded0(); - input += synapse0x10fddf10(); - input += synapse0x10fddf50(); - input += synapse0x10fddf90(); - return input; -} - -double luNNEB::neuron0x10fdda10() { - double input = input0x10fdda10(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fddfd0() { - double input = -0.372479; - input += synapse0x10fde310(); - input += synapse0x10fde350(); - input += synapse0x10fde390(); - input += synapse0x10fde3d0(); - input += synapse0x10fde410(); - input += synapse0x10fde450(); - input += synapse0x10fde490(); - input += synapse0x10fde4d0(); - input += synapse0x10fde510(); - input += synapse0x10fdc010(); - return input; -} - -double luNNEB::neuron0x10fddfd0() { - double input = input0x10fddfd0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEB::input0x10fdc050() { - double input = 4.72312; - input += synapse0x10fdc390(); - input += synapse0x10fdc3d0(); - input += synapse0x10fd92d0(); - input += synapse0x10fd9310(); - input += synapse0x10fd9350(); - return input; -} - -double luNNEB::neuron0x10fdc050() { - double input = input0x10fdc050(); - return (input * 1)+0; -} - -double luNNEB::synapse0x10f382d0() { - return (neuron0x10fd78d0()*0.162147); -} - -double luNNEB::synapse0x10fe04d0() { - return (neuron0x10fd7c10()*0.461803); -} - -double luNNEB::synapse0x10fd96b0() { - return (neuron0x10fd7f50()*-1.37936); -} - -double luNNEB::synapse0x10fd96f0() { - return (neuron0x10fd8290()*-0.202747); -} - -double luNNEB::synapse0x10fd9730() { - return (neuron0x10fd85d0()*-0.0631962); -} - -double luNNEB::synapse0x10fd9770() { - return (neuron0x10fd8910()*-0.0559553); -} - -double luNNEB::synapse0x10fd97b0() { - return (neuron0x10fd8c50()*-0.328558); -} - -double luNNEB::synapse0x10fd97f0() { - return (neuron0x10fd8f90()*0.20233); -} - -double luNNEB::synapse0x10fd9b70() { - return (neuron0x10fd78d0()*2.65087); -} - -double luNNEB::synapse0x10fd9bb0() { - return (neuron0x10fd7c10()*-1.28916); -} - -double luNNEB::synapse0x10fd9bf0() { - return (neuron0x10fd7f50()*0.0722316); -} - -double luNNEB::synapse0x10fd9c30() { - return (neuron0x10fd8290()*0.40294); -} - -double luNNEB::synapse0x10fd9c70() { - return (neuron0x10fd85d0()*0.403065); -} - -double luNNEB::synapse0x10fd9cb0() { - return (neuron0x10fd8910()*0.325961); -} - -double luNNEB::synapse0x10fd9cf0() { - return (neuron0x10fd8c50()*-1.24393); -} - -double luNNEB::synapse0x10fd9d30() { - return (neuron0x10fd8f90()*0.0787346); -} - -double luNNEB::synapse0x10fda0b0() { - return (neuron0x10fd78d0()*1.33716); -} - -double luNNEB::synapse0x10836f90() { - return (neuron0x10fd7c10()*1.12612); -} - -double luNNEB::synapse0x10836fd0() { - return (neuron0x10fd7f50()*2.05235); -} - -double luNNEB::synapse0x10fda200() { - return (neuron0x10fd8290()*1.23352); -} - -double luNNEB::synapse0x10fda240() { - return (neuron0x10fd85d0()*0.750904); -} - -double luNNEB::synapse0x10fda280() { - return (neuron0x10fd8910()*1.041); -} - -double luNNEB::synapse0x10fda2c0() { - return (neuron0x10fd8c50()*0.647542); -} - -double luNNEB::synapse0x10fda300() { - return (neuron0x10fd8f90()*1.34407); -} - -double luNNEB::synapse0x10fda680() { - return (neuron0x10fd78d0()*-0.265954); -} - -double luNNEB::synapse0x10fda6c0() { - return (neuron0x10fd7c10()*0.289035); -} - -double luNNEB::synapse0x10fda700() { - return (neuron0x10fd7f50()*1.06486); -} - -double luNNEB::synapse0x10fda740() { - return (neuron0x10fd8290()*-1.19126); -} - -double luNNEB::synapse0x10fda780() { - return (neuron0x10fd85d0()*-0.03881); -} - -double luNNEB::synapse0x10fda7c0() { - return (neuron0x10fd8910()*0.233711); -} - -double luNNEB::synapse0x10fda800() { - return (neuron0x10fd8c50()*-0.349635); -} - -double luNNEB::synapse0x10fda840() { - return (neuron0x10fd8f90()*-0.0842293); -} - -double luNNEB::synapse0x10fdabc0() { - return (neuron0x10fd78d0()*-1.35044); -} - -double luNNEB::synapse0x10fd7800() { - return (neuron0x10fd7c10()*-0.879086); -} - -double luNNEB::synapse0x10fe0510() { - return (neuron0x10fd7f50()*-1.33893); -} - -double luNNEB::synapse0x10835ad0() { - return (neuron0x10fd8290()*-1.55637); -} - -double luNNEB::synapse0x10fda0f0() { - return (neuron0x10fd85d0()*0.0523866); -} - -double luNNEB::synapse0x10fda130() { - return (neuron0x10fd8910()*-0.793344); -} - -double luNNEB::synapse0x10fda170() { - return (neuron0x10fd8c50()*-0.73362); -} - -double luNNEB::synapse0x10fda1b0() { - return (neuron0x10fd8f90()*-0.531828); -} - -double luNNEB::synapse0x10fdaf40() { - return (neuron0x10fd78d0()*1.17694); -} - -double luNNEB::synapse0x10fdaf80() { - return (neuron0x10fd7c10()*0.323671); -} - -double luNNEB::synapse0x10fdafc0() { - return (neuron0x10fd7f50()*-0.781744); -} - -double luNNEB::synapse0x10fdb000() { - return (neuron0x10fd8290()*-0.713545); -} - -double luNNEB::synapse0x10fdb040() { - return (neuron0x10fd85d0()*0.464629); -} - -double luNNEB::synapse0x10fdb080() { - return (neuron0x10fd8910()*0.0100201); -} - -double luNNEB::synapse0x10fdb0c0() { - return (neuron0x10fd8c50()*0.0764805); -} - -double luNNEB::synapse0x10fdb100() { - return (neuron0x10fd8f90()*-0.451934); -} - -double luNNEB::synapse0x10fdb480() { - return (neuron0x10fd78d0()*0.893002); -} - -double luNNEB::synapse0x10fdb4c0() { - return (neuron0x10fd7c10()*0.512438); -} - -double luNNEB::synapse0x10fdb500() { - return (neuron0x10fd7f50()*0.199848); -} - -double luNNEB::synapse0x10fdb540() { - return (neuron0x10fd8290()*-0.0643325); -} - -double luNNEB::synapse0x10fdb580() { - return (neuron0x10fd85d0()*0.0574431); -} - -double luNNEB::synapse0x10fdb5c0() { - return (neuron0x10fd8910()*0.00360423); -} - -double luNNEB::synapse0x10fdb600() { - return (neuron0x10fd8c50()*-0.758948); -} - -double luNNEB::synapse0x10fdb640() { - return (neuron0x10fd8f90()*-0.0799728); -} - -double luNNEB::synapse0x10fdb9c0() { - return (neuron0x10fd78d0()*-3.16954); -} - -double luNNEB::synapse0x10fdba00() { - return (neuron0x10fd7c10()*-1.53585); -} - -double luNNEB::synapse0x10fdba40() { - return (neuron0x10fd7f50()*-4.1974); -} - -double luNNEB::synapse0x10fdba80() { - return (neuron0x10fd8290()*-3.48157); -} - -double luNNEB::synapse0x10fdbac0() { - return (neuron0x10fd85d0()*-1.96283); -} - -double luNNEB::synapse0x10fdbb00() { - return (neuron0x10fd8910()*-2.29231); -} - -double luNNEB::synapse0x10fdbb40() { - return (neuron0x10fd8c50()*-1.23163); -} - -double luNNEB::synapse0x10fdbb80() { - return (neuron0x10fd8f90()*-2.98389); -} - -double luNNEB::synapse0x10724ef0() { - return (neuron0x10fd78d0()*-1.35246); -} - -double luNNEB::synapse0x10724f30() { - return (neuron0x10fd7c10()*0.840469); -} - -double luNNEB::synapse0x108508a0() { - return (neuron0x10fd7f50()*-1.29467); -} - -double luNNEB::synapse0x108508e0() { - return (neuron0x10fd8290()*-0.735558); -} - -double luNNEB::synapse0x10850920() { - return (neuron0x10fd85d0()*0.0368447); -} - -double luNNEB::synapse0x10850960() { - return (neuron0x10fd8910()*0.407403); -} - -double luNNEB::synapse0x108509a0() { - return (neuron0x10fd8c50()*-0.414209); -} - -double luNNEB::synapse0x108509e0() { - return (neuron0x10fd8f90()*-0.606965); -} - -double luNNEB::synapse0x10fdc6d0() { - return (neuron0x10fd78d0()*0.46383); -} - -double luNNEB::synapse0x10fdc710() { - return (neuron0x10fd7c10()*1.2554); -} - -double luNNEB::synapse0x10fdc750() { - return (neuron0x10fd7f50()*0.178097); -} - -double luNNEB::synapse0x10fdc790() { - return (neuron0x10fd8290()*0.49485); -} - -double luNNEB::synapse0x10fdc7d0() { - return (neuron0x10fd85d0()*0.191809); -} - -double luNNEB::synapse0x10fdc810() { - return (neuron0x10fd8910()*-0.0236312); -} - -double luNNEB::synapse0x10fdc850() { - return (neuron0x10fd8c50()*-0.0430808); -} - -double luNNEB::synapse0x10fdc890() { - return (neuron0x10fd8f90()*1.10224); -} - -double luNNEB::synapse0x10fdcc10() { - return (neuron0x10fd9400()*-3.072); -} - -double luNNEB::synapse0x10fdcc50() { - return (neuron0x10fd9830()*1.9901); -} - -double luNNEB::synapse0x10fdcc90() { - return (neuron0x10fd9d70()*-0.337279); -} - -double luNNEB::synapse0x10fdccd0() { - return (neuron0x10fda340()*-1.69344); -} - -double luNNEB::synapse0x10fdcd10() { - return (neuron0x10fda880()*1.27032); -} - -double luNNEB::synapse0x10fdcd50() { - return (neuron0x10fdac00()*-1.50811); -} - -double luNNEB::synapse0x10fdcd90() { - return (neuron0x10fdb140()*4.59316); -} - -double luNNEB::synapse0x10fdcdd0() { - return (neuron0x10fdb680()*-0.19978); -} - -double luNNEB::synapse0x10fdce10() { - return (neuron0x10fdbbc0()*2.61239); -} - -double luNNEB::synapse0x10fdce50() { - return (neuron0x10fdc420()*4.132); -} - -double luNNEB::synapse0x10fdd1d0() { - return (neuron0x10fd9400()*-1.53604); -} - -double luNNEB::synapse0x10fdd210() { - return (neuron0x10fd9830()*0.946982); -} - -double luNNEB::synapse0x10fdd250() { - return (neuron0x10fd9d70()*-0.291547); -} - -double luNNEB::synapse0x10fdd290() { - return (neuron0x10fda340()*-1.67342); -} - -double luNNEB::synapse0x10fdd2d0() { - return (neuron0x10fda880()*-0.206261); -} - -double luNNEB::synapse0x10fdd310() { - return (neuron0x10fdac00()*-0.889833); -} - -double luNNEB::synapse0x10fdd350() { - return (neuron0x10fdb140()*1.5124); -} - -double luNNEB::synapse0x10fdd390() { - return (neuron0x10fdb680()*-0.112377); -} - -double luNNEB::synapse0x10fdd3d0() { - return (neuron0x10fdbbc0()*-0.15154); -} - -double luNNEB::synapse0x10fdd410() { - return (neuron0x10fdc420()*-0.219815); -} - -double luNNEB::synapse0x10fdd790() { - return (neuron0x10fd9400()*0.953703); -} - -double luNNEB::synapse0x10fdd7d0() { - return (neuron0x10fd9830()*-0.0869858); -} - -double luNNEB::synapse0x10fdd810() { - return (neuron0x10fd9d70()*-0.203974); -} - -double luNNEB::synapse0x10fdd850() { - return (neuron0x10fda340()*0.593883); -} - -double luNNEB::synapse0x10fdd890() { - return (neuron0x10fda880()*-0.368326); -} - -double luNNEB::synapse0x10fdd8d0() { - return (neuron0x10fdac00()*0.86465); -} - -double luNNEB::synapse0x10fdd910() { - return (neuron0x10fdb140()*-1.45982); -} - -double luNNEB::synapse0x10fdd950() { - return (neuron0x10fdb680()*0.0559001); -} - -double luNNEB::synapse0x10fdd990() { - return (neuron0x10fdbbc0()*-1.13586); -} - -double luNNEB::synapse0x10fdd9d0() { - return (neuron0x10fdc420()*-1.47209); -} - -double luNNEB::synapse0x10fddd50() { - return (neuron0x10fd9400()*-4.16288); -} - -double luNNEB::synapse0x10fddd90() { - return (neuron0x10fd9830()*0.670889); -} - -double luNNEB::synapse0x10fdddd0() { - return (neuron0x10fd9d70()*-1.31031); -} - -double luNNEB::synapse0x10fdde10() { - return (neuron0x10fda340()*-0.339257); -} - -double luNNEB::synapse0x10fdde50() { - return (neuron0x10fda880()*2.24316); -} - -double luNNEB::synapse0x10fdde90() { - return (neuron0x10fdac00()*-1.00384); -} - -double luNNEB::synapse0x10fdded0() { - return (neuron0x10fdb140()*3.56398); -} - -double luNNEB::synapse0x10fddf10() { - return (neuron0x10fdb680()*0.835351); -} - -double luNNEB::synapse0x10fddf50() { - return (neuron0x10fdbbc0()*3.77029); -} - -double luNNEB::synapse0x10fddf90() { - return (neuron0x10fdc420()*3.42921); -} - -double luNNEB::synapse0x10fde310() { - return (neuron0x10fd9400()*3.06253); -} - -double luNNEB::synapse0x10fde350() { - return (neuron0x10fd9830()*1.96367); -} - -double luNNEB::synapse0x10fde390() { - return (neuron0x10fd9d70()*-0.293902); -} - -double luNNEB::synapse0x10fde3d0() { - return (neuron0x10fda340()*1.84213); -} - -double luNNEB::synapse0x10fde410() { - return (neuron0x10fda880()*0.259737); -} - -double luNNEB::synapse0x10fde450() { - return (neuron0x10fdac00()*2.22645); -} - -double luNNEB::synapse0x10fde490() { - return (neuron0x10fdb140()*-2.77222); -} - -double luNNEB::synapse0x10fde4d0() { - return (neuron0x10fdb680()*-0.297916); -} - -double luNNEB::synapse0x10fde510() { - return (neuron0x10fdbbc0()*-0.219784); -} - -double luNNEB::synapse0x10fdc010() { - return (neuron0x10fdc420()*-0.502024); -} - -double luNNEB::synapse0x10fdc390() { - return (neuron0x10fdc8d0()*2.88626); -} - -double luNNEB::synapse0x10fdc3d0() { - return (neuron0x10fdce90()*3.92546); -} - -double luNNEB::synapse0x10fd92d0() { - return (neuron0x10fdd450()*-0.55782); -} - -double luNNEB::synapse0x10fd9310() { - return (neuron0x10fdda10()*-0.59229); -} - -double luNNEB::synapse0x10fd9350() { - return (neuron0x10fddfd0()*-8.44197); -} - -double rdNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.13794)/1.30956; - input1 = (in1 - 1.15492)/1.68616; - input2 = (in2 - 1.14956)/1.69316; - input3 = (in3 - 1.89563)/1.49913; - input4 = (in4 - 1.90666)/1.49442; - input5 = (in5 - 0.3065)/1.46726; - input6 = (in6 - 0.305354)/1.51455; - input7 = (in7 - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x14ac00d0(); - default: - return 0.; - } -} - -double rdNNEB::Value(int index, double* input) { - input0 = (input[0] - 4.13794)/1.30956; - input1 = (input[1] - 1.15492)/1.68616; - input2 = (input[2] - 1.14956)/1.69316; - input3 = (input[3] - 1.89563)/1.49913; - input4 = (input[4] - 1.90666)/1.49442; - input5 = (input[5] - 0.3065)/1.46726; - input6 = (input[6] - 0.305354)/1.51455; - input7 = (input[7] - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x14ac00d0(); - default: - return 0.; - } -} - -double rdNNEB::neuron0x14abb950() { - return input0; -} - -double rdNNEB::neuron0x14abbc90() { - return input1; -} - -double rdNNEB::neuron0x14abbfd0() { - return input2; -} - -double rdNNEB::neuron0x14abc310() { - return input3; -} - -double rdNNEB::neuron0x14abc650() { - return input4; -} - -double rdNNEB::neuron0x14abc990() { - return input5; -} - -double rdNNEB::neuron0x14abccd0() { - return input6; -} - -double rdNNEB::neuron0x14abd010() { - return input7; -} - -double rdNNEB::input0x14abd480() { - double input = 2.42798; - input += synapse0x14a1c350(); - input += synapse0x14ac4550(); - input += synapse0x14abd730(); - input += synapse0x14abd770(); - input += synapse0x14abd7b0(); - input += synapse0x14abd7f0(); - input += synapse0x14abd830(); - input += synapse0x14abd870(); - return input; -} - -double rdNNEB::neuron0x14abd480() { - double input = input0x14abd480(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14abd8b0() { - double input = -0.411164; - input += synapse0x14abdbf0(); - input += synapse0x14abdc30(); - input += synapse0x14abdc70(); - input += synapse0x14abdcb0(); - input += synapse0x14abdcf0(); - input += synapse0x14abdd30(); - input += synapse0x14abdd70(); - input += synapse0x14abddb0(); - return input; -} - -double rdNNEB::neuron0x14abd8b0() { - double input = input0x14abd8b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14abddf0() { - double input = 1.80772; - input += synapse0x14abe130(); - input += synapse0x1431b010(); - input += synapse0x1431b050(); - input += synapse0x14abe280(); - input += synapse0x14abe2c0(); - input += synapse0x14abe300(); - input += synapse0x14abe340(); - input += synapse0x14abe380(); - return input; -} - -double rdNNEB::neuron0x14abddf0() { - double input = input0x14abddf0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14abe3c0() { - double input = 0.642085; - input += synapse0x14abe700(); - input += synapse0x14abe740(); - input += synapse0x14abe780(); - input += synapse0x14abe7c0(); - input += synapse0x14abe800(); - input += synapse0x14abe840(); - input += synapse0x14abe880(); - input += synapse0x14abe8c0(); - return input; -} - -double rdNNEB::neuron0x14abe3c0() { - double input = input0x14abe3c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14abe900() { - double input = 1.10385; - input += synapse0x14abec40(); - input += synapse0x14abb880(); - input += synapse0x14ac4590(); - input += synapse0x14319b50(); - input += synapse0x14abe170(); - input += synapse0x14abe1b0(); - input += synapse0x14abe1f0(); - input += synapse0x14abe230(); - return input; -} - -double rdNNEB::neuron0x14abe900() { - double input = input0x14abe900(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14abec80() { - double input = 1.58604; - input += synapse0x14abefc0(); - input += synapse0x14abf000(); - input += synapse0x14abf040(); - input += synapse0x14abf080(); - input += synapse0x14abf0c0(); - input += synapse0x14abf100(); - input += synapse0x14abf140(); - input += synapse0x14abf180(); - return input; -} - -double rdNNEB::neuron0x14abec80() { - double input = input0x14abec80(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14abf1c0() { - double input = -0.249532; - input += synapse0x14abf500(); - input += synapse0x14abf540(); - input += synapse0x14abf580(); - input += synapse0x14abf5c0(); - input += synapse0x14abf600(); - input += synapse0x14abf640(); - input += synapse0x14abf680(); - input += synapse0x14abf6c0(); - return input; -} - -double rdNNEB::neuron0x14abf1c0() { - double input = input0x14abf1c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14abf700() { - double input = 0.976559; - input += synapse0x14abfa40(); - input += synapse0x14abfa80(); - input += synapse0x14abfac0(); - input += synapse0x14abfb00(); - input += synapse0x14abfb40(); - input += synapse0x14abfb80(); - input += synapse0x14abfbc0(); - input += synapse0x14abfc00(); - return input; -} - -double rdNNEB::neuron0x14abf700() { - double input = input0x14abf700(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14abfc40() { - double input = -1.43635; - input += synapse0x14208f70(); - input += synapse0x14208fb0(); - input += synapse0x14334920(); - input += synapse0x14334960(); - input += synapse0x143349a0(); - input += synapse0x143349e0(); - input += synapse0x14334a20(); - input += synapse0x14334a60(); - return input; -} - -double rdNNEB::neuron0x14abfc40() { - double input = input0x14abfc40(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14ac04a0() { - double input = -0.127806; - input += synapse0x14ac0750(); - input += synapse0x14ac0790(); - input += synapse0x14ac07d0(); - input += synapse0x14ac0810(); - input += synapse0x14ac0850(); - input += synapse0x14ac0890(); - input += synapse0x14ac08d0(); - input += synapse0x14ac0910(); - return input; -} - -double rdNNEB::neuron0x14ac04a0() { - double input = input0x14ac04a0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14ac0950() { - double input = 0.455212; - input += synapse0x14ac0c90(); - input += synapse0x14ac0cd0(); - input += synapse0x14ac0d10(); - input += synapse0x14ac0d50(); - input += synapse0x14ac0d90(); - input += synapse0x14ac0dd0(); - input += synapse0x14ac0e10(); - input += synapse0x14ac0e50(); - input += synapse0x14ac0e90(); - input += synapse0x14ac0ed0(); - return input; -} - -double rdNNEB::neuron0x14ac0950() { - double input = input0x14ac0950(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14ac0f10() { - double input = -0.695286; - input += synapse0x14ac1250(); - input += synapse0x14ac1290(); - input += synapse0x14ac12d0(); - input += synapse0x14ac1310(); - input += synapse0x14ac1350(); - input += synapse0x14ac1390(); - input += synapse0x14ac13d0(); - input += synapse0x14ac1410(); - input += synapse0x14ac1450(); - input += synapse0x14ac1490(); - return input; -} - -double rdNNEB::neuron0x14ac0f10() { - double input = input0x14ac0f10(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14ac14d0() { - double input = -0.580753; - input += synapse0x14ac1810(); - input += synapse0x14ac1850(); - input += synapse0x14ac1890(); - input += synapse0x14ac18d0(); - input += synapse0x14ac1910(); - input += synapse0x14ac1950(); - input += synapse0x14ac1990(); - input += synapse0x14ac19d0(); - input += synapse0x14ac1a10(); - input += synapse0x14ac1a50(); - return input; -} - -double rdNNEB::neuron0x14ac14d0() { - double input = input0x14ac14d0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14ac1a90() { - double input = 0.49098; - input += synapse0x14ac1dd0(); - input += synapse0x14ac1e10(); - input += synapse0x14ac1e50(); - input += synapse0x14ac1e90(); - input += synapse0x14ac1ed0(); - input += synapse0x14ac1f10(); - input += synapse0x14ac1f50(); - input += synapse0x14ac1f90(); - input += synapse0x14ac1fd0(); - input += synapse0x14ac2010(); - return input; -} - -double rdNNEB::neuron0x14ac1a90() { - double input = input0x14ac1a90(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14ac2050() { - double input = -0.0961925; - input += synapse0x14ac2390(); - input += synapse0x14ac23d0(); - input += synapse0x14ac2410(); - input += synapse0x14ac2450(); - input += synapse0x14ac2490(); - input += synapse0x14ac24d0(); - input += synapse0x14ac2510(); - input += synapse0x14ac2550(); - input += synapse0x14ac2590(); - input += synapse0x14ac0090(); - return input; -} - -double rdNNEB::neuron0x14ac2050() { - double input = input0x14ac2050(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEB::input0x14ac00d0() { - double input = 1.63819; - input += synapse0x14ac0410(); - input += synapse0x14ac0450(); - input += synapse0x14abd350(); - input += synapse0x14abd390(); - input += synapse0x14abd3d0(); - return input; -} - -double rdNNEB::neuron0x14ac00d0() { - double input = input0x14ac00d0(); - return (input * 1)+0; -} - -double rdNNEB::synapse0x14a1c350() { - return (neuron0x14abb950()*-0.216406); -} - -double rdNNEB::synapse0x14ac4550() { - return (neuron0x14abbc90()*-0.420975); -} - -double rdNNEB::synapse0x14abd730() { - return (neuron0x14abbfd0()*-0.56903); -} - -double rdNNEB::synapse0x14abd770() { - return (neuron0x14abc310()*0.170109); -} - -double rdNNEB::synapse0x14abd7b0() { - return (neuron0x14abc650()*1.72569); -} - -double rdNNEB::synapse0x14abd7f0() { - return (neuron0x14abc990()*-0.141621); -} - -double rdNNEB::synapse0x14abd830() { - return (neuron0x14abccd0()*0.258394); -} - -double rdNNEB::synapse0x14abd870() { - return (neuron0x14abd010()*-0.0122614); -} - -double rdNNEB::synapse0x14abdbf0() { - return (neuron0x14abb950()*1.14533); -} - -double rdNNEB::synapse0x14abdc30() { - return (neuron0x14abbc90()*-0.415792); -} - -double rdNNEB::synapse0x14abdc70() { - return (neuron0x14abbfd0()*-0.661272); -} - -double rdNNEB::synapse0x14abdcb0() { - return (neuron0x14abc310()*0.0745773); -} - -double rdNNEB::synapse0x14abdcf0() { - return (neuron0x14abc650()*-0.0324746); -} - -double rdNNEB::synapse0x14abdd30() { - return (neuron0x14abc990()*0.0664283); -} - -double rdNNEB::synapse0x14abdd70() { - return (neuron0x14abccd0()*-1.67815); -} - -double rdNNEB::synapse0x14abddb0() { - return (neuron0x14abd010()*0.343732); -} - -double rdNNEB::synapse0x14abe130() { - return (neuron0x14abb950()*1.70759); -} - -double rdNNEB::synapse0x1431b010() { - return (neuron0x14abbc90()*-0.829353); -} - -double rdNNEB::synapse0x1431b050() { - return (neuron0x14abbfd0()*0.728579); -} - -double rdNNEB::synapse0x14abe280() { - return (neuron0x14abc310()*0.608541); -} - -double rdNNEB::synapse0x14abe2c0() { - return (neuron0x14abc650()*-0.991141); -} - -double rdNNEB::synapse0x14abe300() { - return (neuron0x14abc990()*-0.397236); -} - -double rdNNEB::synapse0x14abe340() { - return (neuron0x14abccd0()*-0.505365); -} - -double rdNNEB::synapse0x14abe380() { - return (neuron0x14abd010()*0.0697281); -} - -double rdNNEB::synapse0x14abe700() { - return (neuron0x14abb950()*-0.606239); -} - -double rdNNEB::synapse0x14abe740() { - return (neuron0x14abbc90()*1.85788); -} - -double rdNNEB::synapse0x14abe780() { - return (neuron0x14abbfd0()*-0.0541781); -} - -double rdNNEB::synapse0x14abe7c0() { - return (neuron0x14abc310()*-0.156056); -} - -double rdNNEB::synapse0x14abe800() { - return (neuron0x14abc650()*-0.511695); -} - -double rdNNEB::synapse0x14abe840() { - return (neuron0x14abc990()*-0.0604903); -} - -double rdNNEB::synapse0x14abe880() { - return (neuron0x14abccd0()*0.296835); -} - -double rdNNEB::synapse0x14abe8c0() { - return (neuron0x14abd010()*0.151318); -} - -double rdNNEB::synapse0x14abec40() { - return (neuron0x14abb950()*0.45892); -} - -double rdNNEB::synapse0x14abb880() { - return (neuron0x14abbc90()*-0.113319); -} - -double rdNNEB::synapse0x14ac4590() { - return (neuron0x14abbfd0()*-0.0432273); -} - -double rdNNEB::synapse0x14319b50() { - return (neuron0x14abc310()*-1.20745); -} - -double rdNNEB::synapse0x14abe170() { - return (neuron0x14abc650()*-0.414526); -} - -double rdNNEB::synapse0x14abe1b0() { - return (neuron0x14abc990()*0.388562); -} - -double rdNNEB::synapse0x14abe1f0() { - return (neuron0x14abccd0()*0.581199); -} - -double rdNNEB::synapse0x14abe230() { - return (neuron0x14abd010()*-0.242221); -} - -double rdNNEB::synapse0x14abefc0() { - return (neuron0x14abb950()*-1.53883); -} - -double rdNNEB::synapse0x14abf000() { - return (neuron0x14abbc90()*-0.0712372); -} - -double rdNNEB::synapse0x14abf040() { - return (neuron0x14abbfd0()*-0.00473586); -} - -double rdNNEB::synapse0x14abf080() { - return (neuron0x14abc310()*0.202715); -} - -double rdNNEB::synapse0x14abf0c0() { - return (neuron0x14abc650()*0.403952); -} - -double rdNNEB::synapse0x14abf100() { - return (neuron0x14abc990()*0.306872); -} - -double rdNNEB::synapse0x14abf140() { - return (neuron0x14abccd0()*0.256241); -} - -double rdNNEB::synapse0x14abf180() { - return (neuron0x14abd010()*0.203546); -} - -double rdNNEB::synapse0x14abf500() { - return (neuron0x14abb950()*0.749902); -} - -double rdNNEB::synapse0x14abf540() { - return (neuron0x14abbc90()*0.186212); -} - -double rdNNEB::synapse0x14abf580() { - return (neuron0x14abbfd0()*0.641923); -} - -double rdNNEB::synapse0x14abf5c0() { - return (neuron0x14abc310()*0.0616216); -} - -double rdNNEB::synapse0x14abf600() { - return (neuron0x14abc650()*0.0547814); -} - -double rdNNEB::synapse0x14abf640() { - return (neuron0x14abc990()*0.150325); -} - -double rdNNEB::synapse0x14abf680() { - return (neuron0x14abccd0()*-0.037531); -} - -double rdNNEB::synapse0x14abf6c0() { - return (neuron0x14abd010()*0.00331658); -} - -double rdNNEB::synapse0x14abfa40() { - return (neuron0x14abb950()*-0.0260585); -} - -double rdNNEB::synapse0x14abfa80() { - return (neuron0x14abbc90()*0.243857); -} - -double rdNNEB::synapse0x14abfac0() { - return (neuron0x14abbfd0()*0.556623); -} - -double rdNNEB::synapse0x14abfb00() { - return (neuron0x14abc310()*0.786342); -} - -double rdNNEB::synapse0x14abfb40() { - return (neuron0x14abc650()*-1.22138); -} - -double rdNNEB::synapse0x14abfb80() { - return (neuron0x14abc990()*-0.180283); -} - -double rdNNEB::synapse0x14abfbc0() { - return (neuron0x14abccd0()*-0.557386); -} - -double rdNNEB::synapse0x14abfc00() { - return (neuron0x14abd010()*0.194623); -} - -double rdNNEB::synapse0x14208f70() { - return (neuron0x14abb950()*-0.560909); -} - -double rdNNEB::synapse0x14208fb0() { - return (neuron0x14abbc90()*0.618483); -} - -double rdNNEB::synapse0x14334920() { - return (neuron0x14abbfd0()*1.56332); -} - -double rdNNEB::synapse0x14334960() { - return (neuron0x14abc310()*-0.543328); -} - -double rdNNEB::synapse0x143349a0() { - return (neuron0x14abc650()*-0.183581); -} - -double rdNNEB::synapse0x143349e0() { - return (neuron0x14abc990()*0.7814); -} - -double rdNNEB::synapse0x14334a20() { - return (neuron0x14abccd0()*-0.104609); -} - -double rdNNEB::synapse0x14334a60() { - return (neuron0x14abd010()*-0.376717); -} - -double rdNNEB::synapse0x14ac0750() { - return (neuron0x14abb950()*-1.3224); -} - -double rdNNEB::synapse0x14ac0790() { - return (neuron0x14abbc90()*0.05359); -} - -double rdNNEB::synapse0x14ac07d0() { - return (neuron0x14abbfd0()*0.682048); -} - -double rdNNEB::synapse0x14ac0810() { - return (neuron0x14abc310()*-0.249621); -} - -double rdNNEB::synapse0x14ac0850() { - return (neuron0x14abc650()*-0.0417721); -} - -double rdNNEB::synapse0x14ac0890() { - return (neuron0x14abc990()*0.099426); -} - -double rdNNEB::synapse0x14ac08d0() { - return (neuron0x14abccd0()*0.417192); -} - -double rdNNEB::synapse0x14ac0910() { - return (neuron0x14abd010()*0.23391); -} - -double rdNNEB::synapse0x14ac0c90() { - return (neuron0x14abd480()*0.0948073); -} - -double rdNNEB::synapse0x14ac0cd0() { - return (neuron0x14abd8b0()*-1.02893); -} - -double rdNNEB::synapse0x14ac0d10() { - return (neuron0x14abddf0()*-0.509918); -} - -double rdNNEB::synapse0x14ac0d50() { - return (neuron0x14abe3c0()*0.867766); -} - -double rdNNEB::synapse0x14ac0d90() { - return (neuron0x14abe900()*0.664667); -} - -double rdNNEB::synapse0x14ac0dd0() { - return (neuron0x14abec80()*0.659037); -} - -double rdNNEB::synapse0x14ac0e10() { - return (neuron0x14abf1c0()*-1.63301); -} - -double rdNNEB::synapse0x14ac0e50() { - return (neuron0x14abf700()*0.626759); -} - -double rdNNEB::synapse0x14ac0e90() { - return (neuron0x14abfc40()*-0.251753); -} - -double rdNNEB::synapse0x14ac0ed0() { - return (neuron0x14ac04a0()*1.72268); -} - -double rdNNEB::synapse0x14ac1250() { - return (neuron0x14abd480()*0.86684); -} - -double rdNNEB::synapse0x14ac1290() { - return (neuron0x14abd8b0()*-0.228328); -} - -double rdNNEB::synapse0x14ac12d0() { - return (neuron0x14abddf0()*-2.27991); -} - -double rdNNEB::synapse0x14ac1310() { - return (neuron0x14abe3c0()*2.19628); -} - -double rdNNEB::synapse0x14ac1350() { - return (neuron0x14abe900()*-1.12465); -} - -double rdNNEB::synapse0x14ac1390() { - return (neuron0x14abec80()*-2.69582); -} - -double rdNNEB::synapse0x14ac13d0() { - return (neuron0x14abf1c0()*0.388994); -} - -double rdNNEB::synapse0x14ac1410() { - return (neuron0x14abf700()*-1.59652); -} - -double rdNNEB::synapse0x14ac1450() { - return (neuron0x14abfc40()*1.86835); -} - -double rdNNEB::synapse0x14ac1490() { - return (neuron0x14ac04a0()*1.49056); -} - -double rdNNEB::synapse0x14ac1810() { - return (neuron0x14abd480()*-0.290069); -} - -double rdNNEB::synapse0x14ac1850() { - return (neuron0x14abd8b0()*-0.803451); -} - -double rdNNEB::synapse0x14ac1890() { - return (neuron0x14abddf0()*0.00307815); -} - -double rdNNEB::synapse0x14ac18d0() { - return (neuron0x14abe3c0()*-0.777897); -} - -double rdNNEB::synapse0x14ac1910() { - return (neuron0x14abe900()*-0.291359); -} - -double rdNNEB::synapse0x14ac1950() { - return (neuron0x14abec80()*0.501869); -} - -double rdNNEB::synapse0x14ac1990() { - return (neuron0x14abf1c0()*0.991883); -} - -double rdNNEB::synapse0x14ac19d0() { - return (neuron0x14abf700()*-0.601744); -} - -double rdNNEB::synapse0x14ac1a10() { - return (neuron0x14abfc40()*-0.705386); -} - -double rdNNEB::synapse0x14ac1a50() { - return (neuron0x14ac04a0()*-1.02517); -} - -double rdNNEB::synapse0x14ac1dd0() { - return (neuron0x14abd480()*1.05875); -} - -double rdNNEB::synapse0x14ac1e10() { - return (neuron0x14abd8b0()*0.0280678); -} - -double rdNNEB::synapse0x14ac1e50() { - return (neuron0x14abddf0()*0.310589); -} - -double rdNNEB::synapse0x14ac1e90() { - return (neuron0x14abe3c0()*0.950605); -} - -double rdNNEB::synapse0x14ac1ed0() { - return (neuron0x14abe900()*-0.141197); -} - -double rdNNEB::synapse0x14ac1f10() { - return (neuron0x14abec80()*-0.781974); -} - -double rdNNEB::synapse0x14ac1f50() { - return (neuron0x14abf1c0()*1.51498); -} - -double rdNNEB::synapse0x14ac1f90() { - return (neuron0x14abf700()*-0.23685); -} - -double rdNNEB::synapse0x14ac1fd0() { - return (neuron0x14abfc40()*0.881958); -} - -double rdNNEB::synapse0x14ac2010() { - return (neuron0x14ac04a0()*-0.707959); -} - -double rdNNEB::synapse0x14ac2390() { - return (neuron0x14abd480()*-1.16238); -} - -double rdNNEB::synapse0x14ac23d0() { - return (neuron0x14abd8b0()*-0.98238); -} - -double rdNNEB::synapse0x14ac2410() { - return (neuron0x14abddf0()*1.1459); -} - -double rdNNEB::synapse0x14ac2450() { - return (neuron0x14abe3c0()*-1.25397); -} - -double rdNNEB::synapse0x14ac2490() { - return (neuron0x14abe900()*1.4953); -} - -double rdNNEB::synapse0x14ac24d0() { - return (neuron0x14abec80()*1.63361); -} - -double rdNNEB::synapse0x14ac2510() { - return (neuron0x14abf1c0()*-0.665746); -} - -double rdNNEB::synapse0x14ac2550() { - return (neuron0x14abf700()*0.569317); -} - -double rdNNEB::synapse0x14ac2590() { - return (neuron0x14abfc40()*-0.375751); -} - -double rdNNEB::synapse0x14ac0090() { - return (neuron0x14ac04a0()*-0.472168); -} - -double rdNNEB::synapse0x14ac0410() { - return (neuron0x14ac0950()*-2.71126); -} - -double rdNNEB::synapse0x14ac0450() { - return (neuron0x14ac0f10()*5.31703); -} - -double rdNNEB::synapse0x14abd350() { - return (neuron0x14ac14d0()*0.943595); -} - -double rdNNEB::synapse0x14abd390() { - return (neuron0x14ac1a90()*4.36333); -} - -double rdNNEB::synapse0x14abd3d0() { - return (neuron0x14ac2050()*-4.62187); -} - - -double rrNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.13794)/1.30956; - input1 = (in1 - 1.14956)/1.69316; - input2 = (in2 - 1.89563)/1.49913; - input3 = (in3 - 1.90666)/1.49442; - input4 = (in4 - 0.3065)/1.46726; - input5 = (in5 - 0.318454)/1.50742; - input6 = (in6 - 0.305354)/1.51455; - input7 = (in7 - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0xb0b3110(); - default: - return 0.; - } -} - -double rrNNEB::Value(int index, double* input) { - input0 = (input[0] - 4.13794)/1.30956; - input1 = (input[1] - 1.14956)/1.69316; - input2 = (input[2] - 1.89563)/1.49913; - input3 = (input[3] - 1.90666)/1.49442; - input4 = (input[4] - 0.3065)/1.46726; - input5 = (input[5] - 0.318454)/1.50742; - input6 = (input[6] - 0.305354)/1.51455; - input7 = (input[7] - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0xb0b3110(); - default: - return 0.; - } -} - -double rrNNEB::neuron0xb0ae990() { - return input0; -} - -double rrNNEB::neuron0xb0aecd0() { - return input1; -} - -double rrNNEB::neuron0xb0af010() { - return input2; -} - -double rrNNEB::neuron0xb0af350() { - return input3; -} - -double rrNNEB::neuron0xb0af690() { - return input4; -} - -double rrNNEB::neuron0xb0af9d0() { - return input5; -} - -double rrNNEB::neuron0xb0afd10() { - return input6; -} - -double rrNNEB::neuron0xb0b0050() { - return input7; -} - -double rrNNEB::input0xb0b04c0() { - double input = 1.16126; - input += synapse0xb00f390(); - input += synapse0xb0b7590(); - input += synapse0xb0b0770(); - input += synapse0xb0b07b0(); - input += synapse0xb0b07f0(); - input += synapse0xb0b0830(); - input += synapse0xb0b0870(); - input += synapse0xb0b08b0(); - return input; -} - -double rrNNEB::neuron0xb0b04c0() { - double input = input0xb0b04c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b08f0() { - double input = 0.288451; - input += synapse0xb0b0c30(); - input += synapse0xb0b0c70(); - input += synapse0xb0b0cb0(); - input += synapse0xb0b0cf0(); - input += synapse0xb0b0d30(); - input += synapse0xb0b0d70(); - input += synapse0xb0b0db0(); - input += synapse0xb0b0df0(); - return input; -} - -double rrNNEB::neuron0xb0b08f0() { - double input = input0xb0b08f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b0e30() { - double input = 0.390796; - input += synapse0xb0b1170(); - input += synapse0xa90e050(); - input += synapse0xa90e090(); - input += synapse0xb0b12c0(); - input += synapse0xb0b1300(); - input += synapse0xb0b1340(); - input += synapse0xb0b1380(); - input += synapse0xb0b13c0(); - return input; -} - -double rrNNEB::neuron0xb0b0e30() { - double input = input0xb0b0e30(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b1400() { - double input = -0.706336; - input += synapse0xb0b1740(); - input += synapse0xb0b1780(); - input += synapse0xb0b17c0(); - input += synapse0xb0b1800(); - input += synapse0xb0b1840(); - input += synapse0xb0b1880(); - input += synapse0xb0b18c0(); - input += synapse0xb0b1900(); - return input; -} - -double rrNNEB::neuron0xb0b1400() { - double input = input0xb0b1400(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b1940() { - double input = -1.43078; - input += synapse0xb0b1c80(); - input += synapse0xb0ae8c0(); - input += synapse0xb0b75d0(); - input += synapse0xa90cb90(); - input += synapse0xb0b11b0(); - input += synapse0xb0b11f0(); - input += synapse0xb0b1230(); - input += synapse0xb0b1270(); - return input; -} - -double rrNNEB::neuron0xb0b1940() { - double input = input0xb0b1940(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b1cc0() { - double input = 0.686351; - input += synapse0xb0b2000(); - input += synapse0xb0b2040(); - input += synapse0xb0b2080(); - input += synapse0xb0b20c0(); - input += synapse0xb0b2100(); - input += synapse0xb0b2140(); - input += synapse0xb0b2180(); - input += synapse0xb0b21c0(); - return input; -} - -double rrNNEB::neuron0xb0b1cc0() { - double input = input0xb0b1cc0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b2200() { - double input = 1.51256; - input += synapse0xb0b2540(); - input += synapse0xb0b2580(); - input += synapse0xb0b25c0(); - input += synapse0xb0b2600(); - input += synapse0xb0b2640(); - input += synapse0xb0b2680(); - input += synapse0xb0b26c0(); - input += synapse0xb0b2700(); - return input; -} - -double rrNNEB::neuron0xb0b2200() { - double input = input0xb0b2200(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b2740() { - double input = 0.163221; - input += synapse0xb0b2a80(); - input += synapse0xb0b2ac0(); - input += synapse0xb0b2b00(); - input += synapse0xb0b2b40(); - input += synapse0xb0b2b80(); - input += synapse0xb0b2bc0(); - input += synapse0xb0b2c00(); - input += synapse0xb0b2c40(); - return input; -} - -double rrNNEB::neuron0xb0b2740() { - double input = input0xb0b2740(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b2c80() { - double input = 0.103629; - input += synapse0xa7fbfb0(); - input += synapse0xa7fbff0(); - input += synapse0xa927960(); - input += synapse0xa9279a0(); - input += synapse0xa9279e0(); - input += synapse0xa927a20(); - input += synapse0xa927a60(); - input += synapse0xa927aa0(); - return input; -} - -double rrNNEB::neuron0xb0b2c80() { - double input = input0xb0b2c80(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b34e0() { - double input = 1.15988; - input += synapse0xb0b3790(); - input += synapse0xb0b37d0(); - input += synapse0xb0b3810(); - input += synapse0xb0b3850(); - input += synapse0xb0b3890(); - input += synapse0xb0b38d0(); - input += synapse0xb0b3910(); - input += synapse0xb0b3950(); - return input; -} - -double rrNNEB::neuron0xb0b34e0() { - double input = input0xb0b34e0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b3990() { - double input = 0.596451; - input += synapse0xb0b3cd0(); - input += synapse0xb0b3d10(); - input += synapse0xb0b3d50(); - input += synapse0xb0b3d90(); - input += synapse0xb0b3dd0(); - input += synapse0xb0b3e10(); - input += synapse0xb0b3e50(); - input += synapse0xb0b3e90(); - input += synapse0xb0b3ed0(); - input += synapse0xb0b3f10(); - return input; -} - -double rrNNEB::neuron0xb0b3990() { - double input = input0xb0b3990(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b3f50() { - double input = -0.30359; - input += synapse0xb0b4290(); - input += synapse0xb0b42d0(); - input += synapse0xb0b4310(); - input += synapse0xb0b4350(); - input += synapse0xb0b4390(); - input += synapse0xb0b43d0(); - input += synapse0xb0b4410(); - input += synapse0xb0b4450(); - input += synapse0xb0b4490(); - input += synapse0xb0b44d0(); - return input; -} - -double rrNNEB::neuron0xb0b3f50() { - double input = input0xb0b3f50(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b4510() { - double input = 0.0520657; - input += synapse0xb0b4850(); - input += synapse0xb0b4890(); - input += synapse0xb0b48d0(); - input += synapse0xb0b4910(); - input += synapse0xb0b4950(); - input += synapse0xb0b4990(); - input += synapse0xb0b49d0(); - input += synapse0xb0b4a10(); - input += synapse0xb0b4a50(); - input += synapse0xb0b4a90(); - return input; -} - -double rrNNEB::neuron0xb0b4510() { - double input = input0xb0b4510(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b4ad0() { - double input = -0.196957; - input += synapse0xb0b4e10(); - input += synapse0xb0b4e50(); - input += synapse0xb0b4e90(); - input += synapse0xb0b4ed0(); - input += synapse0xb0b4f10(); - input += synapse0xb0b4f50(); - input += synapse0xb0b4f90(); - input += synapse0xb0b4fd0(); - input += synapse0xb0b5010(); - input += synapse0xb0b5050(); - return input; -} - -double rrNNEB::neuron0xb0b4ad0() { - double input = input0xb0b4ad0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b5090() { - double input = -0.692853; - input += synapse0xb0b53d0(); - input += synapse0xb0b5410(); - input += synapse0xb0b5450(); - input += synapse0xb0b5490(); - input += synapse0xb0b54d0(); - input += synapse0xb0b5510(); - input += synapse0xb0b5550(); - input += synapse0xb0b5590(); - input += synapse0xb0b55d0(); - input += synapse0xb0b30d0(); - return input; -} - -double rrNNEB::neuron0xb0b5090() { - double input = input0xb0b5090(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEB::input0xb0b3110() { - double input = -5.05639; - input += synapse0xb0b3450(); - input += synapse0xb0b3490(); - input += synapse0xb0b0390(); - input += synapse0xb0b03d0(); - input += synapse0xb0b0410(); - return input; -} - -double rrNNEB::neuron0xb0b3110() { - double input = input0xb0b3110(); - return (input * 1)+0; -} - -double rrNNEB::synapse0xb00f390() { - return (neuron0xb0ae990()*0.605152); -} - -double rrNNEB::synapse0xb0b7590() { - return (neuron0xb0aecd0()*-0.0922336); -} - -double rrNNEB::synapse0xb0b0770() { - return (neuron0xb0af010()*0.149301); -} - -double rrNNEB::synapse0xb0b07b0() { - return (neuron0xb0af350()*0.0738282); -} - -double rrNNEB::synapse0xb0b07f0() { - return (neuron0xb0af690()*-0.352642); -} - -double rrNNEB::synapse0xb0b0830() { - return (neuron0xb0af9d0()*0.0919073); -} - -double rrNNEB::synapse0xb0b0870() { - return (neuron0xb0afd10()*-0.750544); -} - -double rrNNEB::synapse0xb0b08b0() { - return (neuron0xb0b0050()*-0.880366); -} - -double rrNNEB::synapse0xb0b0c30() { - return (neuron0xb0ae990()*1.36946); -} - -double rrNNEB::synapse0xb0b0c70() { - return (neuron0xb0aecd0()*2.02988); -} - -double rrNNEB::synapse0xb0b0cb0() { - return (neuron0xb0af010()*0.455045); -} - -double rrNNEB::synapse0xb0b0cf0() { - return (neuron0xb0af350()*0.449721); -} - -double rrNNEB::synapse0xb0b0d30() { - return (neuron0xb0af690()*-2.14025); -} - -double rrNNEB::synapse0xb0b0d70() { - return (neuron0xb0af9d0()*-1.43845); -} - -double rrNNEB::synapse0xb0b0db0() { - return (neuron0xb0afd10()*-0.384525); -} - -double rrNNEB::synapse0xb0b0df0() { - return (neuron0xb0b0050()*-0.370368); -} - -double rrNNEB::synapse0xb0b1170() { - return (neuron0xb0ae990()*-1.38509); -} - -double rrNNEB::synapse0xa90e050() { - return (neuron0xb0aecd0()*0.276106); -} - -double rrNNEB::synapse0xa90e090() { - return (neuron0xb0af010()*-0.356619); -} - -double rrNNEB::synapse0xb0b12c0() { - return (neuron0xb0af350()*-0.0844072); -} - -double rrNNEB::synapse0xb0b1300() { - return (neuron0xb0af690()*0.207364); -} - -double rrNNEB::synapse0xb0b1340() { - return (neuron0xb0af9d0()*0.672194); -} - -double rrNNEB::synapse0xb0b1380() { - return (neuron0xb0afd10()*0.320889); -} - -double rrNNEB::synapse0xb0b13c0() { - return (neuron0xb0b0050()*0.134055); -} - -double rrNNEB::synapse0xb0b1740() { - return (neuron0xb0ae990()*0.127745); -} - -double rrNNEB::synapse0xb0b1780() { - return (neuron0xb0aecd0()*-0.324372); -} - -double rrNNEB::synapse0xb0b17c0() { - return (neuron0xb0af010()*0.227847); -} - -double rrNNEB::synapse0xb0b1800() { - return (neuron0xb0af350()*0.307894); -} - -double rrNNEB::synapse0xb0b1840() { - return (neuron0xb0af690()*-0.718459); -} - -double rrNNEB::synapse0xb0b1880() { - return (neuron0xb0af9d0()*0.513562); -} - -double rrNNEB::synapse0xb0b18c0() { - return (neuron0xb0afd10()*0.140791); -} - -double rrNNEB::synapse0xb0b1900() { - return (neuron0xb0b0050()*0.177697); -} - -double rrNNEB::synapse0xb0b1c80() { - return (neuron0xb0ae990()*-0.825028); -} - -double rrNNEB::synapse0xb0ae8c0() { - return (neuron0xb0aecd0()*-0.543806); -} - -double rrNNEB::synapse0xb0b75d0() { - return (neuron0xb0af010()*1.0514); -} - -double rrNNEB::synapse0xa90cb90() { - return (neuron0xb0af350()*0.223959); -} - -double rrNNEB::synapse0xb0b11b0() { - return (neuron0xb0af690()*-1.47321); -} - -double rrNNEB::synapse0xb0b11f0() { - return (neuron0xb0af9d0()*1.05252); -} - -double rrNNEB::synapse0xb0b1230() { - return (neuron0xb0afd10()*0.195496); -} - -double rrNNEB::synapse0xb0b1270() { - return (neuron0xb0b0050()*0.184128); -} - -double rrNNEB::synapse0xb0b2000() { - return (neuron0xb0ae990()*0.720829); -} - -double rrNNEB::synapse0xb0b2040() { - return (neuron0xb0aecd0()*0.724649); -} - -double rrNNEB::synapse0xb0b2080() { - return (neuron0xb0af010()*0.995317); -} - -double rrNNEB::synapse0xb0b20c0() { - return (neuron0xb0af350()*1.3153); -} - -double rrNNEB::synapse0xb0b2100() { - return (neuron0xb0af690()*-0.703115); -} - -double rrNNEB::synapse0xb0b2140() { - return (neuron0xb0af9d0()*-1.02371); -} - -double rrNNEB::synapse0xb0b2180() { - return (neuron0xb0afd10()*0.102528); -} - -double rrNNEB::synapse0xb0b21c0() { - return (neuron0xb0b0050()*0.012124); -} - -double rrNNEB::synapse0xb0b2540() { - return (neuron0xb0ae990()*-0.20377); -} - -double rrNNEB::synapse0xb0b2580() { - return (neuron0xb0aecd0()*0.174654); -} - -double rrNNEB::synapse0xb0b25c0() { - return (neuron0xb0af010()*0.00425452); -} - -double rrNNEB::synapse0xb0b2600() { - return (neuron0xb0af350()*-0.153449); -} - -double rrNNEB::synapse0xb0b2640() { - return (neuron0xb0af690()*0.859321); -} - -double rrNNEB::synapse0xb0b2680() { - return (neuron0xb0af9d0()*0.878773); -} - -double rrNNEB::synapse0xb0b26c0() { - return (neuron0xb0afd10()*-0.393275); -} - -double rrNNEB::synapse0xb0b2700() { - return (neuron0xb0b0050()*-0.673188); -} - -double rrNNEB::synapse0xb0b2a80() { - return (neuron0xb0ae990()*0.541441); -} - -double rrNNEB::synapse0xb0b2ac0() { - return (neuron0xb0aecd0()*0.265352); -} - -double rrNNEB::synapse0xb0b2b00() { - return (neuron0xb0af010()*-1.66637); -} - -double rrNNEB::synapse0xb0b2b40() { - return (neuron0xb0af350()*-0.211802); -} - -double rrNNEB::synapse0xb0b2b80() { - return (neuron0xb0af690()*0.570811); -} - -double rrNNEB::synapse0xb0b2bc0() { - return (neuron0xb0af9d0()*1.19751); -} - -double rrNNEB::synapse0xb0b2c00() { - return (neuron0xb0afd10()*-0.280904); -} - -double rrNNEB::synapse0xb0b2c40() { - return (neuron0xb0b0050()*-0.12274); -} - -double rrNNEB::synapse0xa7fbfb0() { - return (neuron0xb0ae990()*4.05102); -} - -double rrNNEB::synapse0xa7fbff0() { - return (neuron0xb0aecd0()*-0.875368); -} - -double rrNNEB::synapse0xa927960() { - return (neuron0xb0af010()*1.21106); -} - -double rrNNEB::synapse0xa9279a0() { - return (neuron0xb0af350()*0.0400104); -} - -double rrNNEB::synapse0xa9279e0() { - return (neuron0xb0af690()*-2.51356); -} - -double rrNNEB::synapse0xa927a20() { - return (neuron0xb0af9d0()*-1.47699); -} - -double rrNNEB::synapse0xa927a60() { - return (neuron0xb0afd10()*-0.787877); -} - -double rrNNEB::synapse0xa927aa0() { - return (neuron0xb0b0050()*-0.402396); -} - -double rrNNEB::synapse0xb0b3790() { - return (neuron0xb0ae990()*-0.0941635); -} - -double rrNNEB::synapse0xb0b37d0() { - return (neuron0xb0aecd0()*0.15048); -} - -double rrNNEB::synapse0xb0b3810() { - return (neuron0xb0af010()*1.18917); -} - -double rrNNEB::synapse0xb0b3850() { - return (neuron0xb0af350()*-1.94427); -} - -double rrNNEB::synapse0xb0b3890() { - return (neuron0xb0af690()*-0.783299); -} - -double rrNNEB::synapse0xb0b38d0() { - return (neuron0xb0af9d0()*1.74181); -} - -double rrNNEB::synapse0xb0b3910() { - return (neuron0xb0afd10()*0.0131229); -} - -double rrNNEB::synapse0xb0b3950() { - return (neuron0xb0b0050()*-0.212452); -} - -double rrNNEB::synapse0xb0b3cd0() { - return (neuron0xb0b04c0()*-1.31458); -} - -double rrNNEB::synapse0xb0b3d10() { - return (neuron0xb0b08f0()*-1.47201); -} - -double rrNNEB::synapse0xb0b3d50() { - return (neuron0xb0b0e30()*-2.1513); -} - -double rrNNEB::synapse0xb0b3d90() { - return (neuron0xb0b1400()*0.611078); -} - -double rrNNEB::synapse0xb0b3dd0() { - return (neuron0xb0b1940()*-0.932359); -} - -double rrNNEB::synapse0xb0b3e10() { - return (neuron0xb0b1cc0()*-0.271423); -} - -double rrNNEB::synapse0xb0b3e50() { - return (neuron0xb0b2200()*1.84772); -} - -double rrNNEB::synapse0xb0b3e90() { - return (neuron0xb0b2740()*0.0107637); -} - -double rrNNEB::synapse0xb0b3ed0() { - return (neuron0xb0b2c80()*0.161287); -} - -double rrNNEB::synapse0xb0b3f10() { - return (neuron0xb0b34e0()*0.544009); -} - -double rrNNEB::synapse0xb0b4290() { - return (neuron0xb0b04c0()*-1.58107); -} - -double rrNNEB::synapse0xb0b42d0() { - return (neuron0xb0b08f0()*-0.50392); -} - -double rrNNEB::synapse0xb0b4310() { - return (neuron0xb0b0e30()*-0.850074); -} - -double rrNNEB::synapse0xb0b4350() { - return (neuron0xb0b1400()*1.62414); -} - -double rrNNEB::synapse0xb0b4390() { - return (neuron0xb0b1940()*0.379895); -} - -double rrNNEB::synapse0xb0b43d0() { - return (neuron0xb0b1cc0()*-0.421928); -} - -double rrNNEB::synapse0xb0b4410() { - return (neuron0xb0b2200()*1.94032); -} - -double rrNNEB::synapse0xb0b4450() { - return (neuron0xb0b2740()*0.40022); -} - -double rrNNEB::synapse0xb0b4490() { - return (neuron0xb0b2c80()*-0.381851); -} - -double rrNNEB::synapse0xb0b44d0() { - return (neuron0xb0b34e0()*-0.213928); -} - -double rrNNEB::synapse0xb0b4850() { - return (neuron0xb0b04c0()*-0.875178); -} - -double rrNNEB::synapse0xb0b4890() { - return (neuron0xb0b08f0()*0.763808); -} - -double rrNNEB::synapse0xb0b48d0() { - return (neuron0xb0b0e30()*-2.06516); -} - -double rrNNEB::synapse0xb0b4910() { - return (neuron0xb0b1400()*2.18368); -} - -double rrNNEB::synapse0xb0b4950() { - return (neuron0xb0b1940()*-0.676228); -} - -double rrNNEB::synapse0xb0b4990() { - return (neuron0xb0b1cc0()*0.936987); -} - -double rrNNEB::synapse0xb0b49d0() { - return (neuron0xb0b2200()*1.28271); -} - -double rrNNEB::synapse0xb0b4a10() { - return (neuron0xb0b2740()*0.279625); -} - -double rrNNEB::synapse0xb0b4a50() { - return (neuron0xb0b2c80()*0.277457); -} - -double rrNNEB::synapse0xb0b4a90() { - return (neuron0xb0b34e0()*0.203106); -} - -double rrNNEB::synapse0xb0b4e10() { - return (neuron0xb0b04c0()*-0.448124); -} - -double rrNNEB::synapse0xb0b4e50() { - return (neuron0xb0b08f0()*-0.367835); -} - -double rrNNEB::synapse0xb0b4e90() { - return (neuron0xb0b0e30()*-0.670159); -} - -double rrNNEB::synapse0xb0b4ed0() { - return (neuron0xb0b1400()*0.927953); -} - -double rrNNEB::synapse0xb0b4f10() { - return (neuron0xb0b1940()*-0.04733); -} - -double rrNNEB::synapse0xb0b4f50() { - return (neuron0xb0b1cc0()*-0.508311); -} - -double rrNNEB::synapse0xb0b4f90() { - return (neuron0xb0b2200()*0.804349); -} - -double rrNNEB::synapse0xb0b4fd0() { - return (neuron0xb0b2740()*0.480625); -} - -double rrNNEB::synapse0xb0b5010() { - return (neuron0xb0b2c80()*0.187565); -} - -double rrNNEB::synapse0xb0b5050() { - return (neuron0xb0b34e0()*-0.588078); -} - -double rrNNEB::synapse0xb0b53d0() { - return (neuron0xb0b04c0()*-1.98538); -} - -double rrNNEB::synapse0xb0b5410() { - return (neuron0xb0b08f0()*-2.25635); -} - -double rrNNEB::synapse0xb0b5450() { - return (neuron0xb0b0e30()*0.363142); -} - -double rrNNEB::synapse0xb0b5490() { - return (neuron0xb0b1400()*0.689364); -} - -double rrNNEB::synapse0xb0b54d0() { - return (neuron0xb0b1940()*-2.41042); -} - -double rrNNEB::synapse0xb0b5510() { - return (neuron0xb0b1cc0()*-0.94643); -} - -double rrNNEB::synapse0xb0b5550() { - return (neuron0xb0b2200()*-0.166018); -} - -double rrNNEB::synapse0xb0b5590() { - return (neuron0xb0b2740()*1.13809); -} - -double rrNNEB::synapse0xb0b55d0() { - return (neuron0xb0b2c80()*-2.84646); -} - -double rrNNEB::synapse0xb0b30d0() { - return (neuron0xb0b34e0()*2.69381); -} - -double rrNNEB::synapse0xb0b3450() { - return (neuron0xb0b3990()*2.7719); -} - -double rrNNEB::synapse0xb0b3490() { - return (neuron0xb0b3f50()*3.24816); -} - -double rrNNEB::synapse0xb0b0390() { - return (neuron0xb0b4510()*4.16451); -} - -double rrNNEB::synapse0xb0b03d0() { - return (neuron0xb0b4ad0()*1.17779); -} - -double rrNNEB::synapse0xb0b0410() { - return (neuron0xb0b5090()*3.92439); -} - -double ruNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.13794)/1.30956; - input1 = (in1 - 1.15492)/1.68616; - input2 = (in2 - 1.14956)/1.69316; - input3 = (in3 - 1.89563)/1.49913; - input4 = (in4 - 1.90666)/1.49442; - input5 = (in5 - 0.318454)/1.50742; - input6 = (in6 - 0.305354)/1.51455; - input7 = (in7 - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0xc536fd0(); - default: - return 0.; - } -} - -double ruNNEB::Value(int index, double* input) { - input0 = (input[0] - 4.13794)/1.30956; - input1 = (input[1] - 1.15492)/1.68616; - input2 = (input[2] - 1.14956)/1.69316; - input3 = (input[3] - 1.89563)/1.49913; - input4 = (input[4] - 1.90666)/1.49442; - input5 = (input[5] - 0.318454)/1.50742; - input6 = (input[6] - 0.305354)/1.51455; - input7 = (input[7] - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0xc536fd0(); - default: - return 0.; - } -} - -double ruNNEB::neuron0xc532850() { - return input0; -} - -double ruNNEB::neuron0xc532b90() { - return input1; -} - -double ruNNEB::neuron0xc532ed0() { - return input2; -} - -double ruNNEB::neuron0xc533210() { - return input3; -} - -double ruNNEB::neuron0xc533550() { - return input4; -} - -double ruNNEB::neuron0xc533890() { - return input5; -} - -double ruNNEB::neuron0xc533bd0() { - return input6; -} - -double ruNNEB::neuron0xc533f10() { - return input7; -} - -double ruNNEB::input0xc534380() { - double input = 1.45945; - input += synapse0xc493250(); - input += synapse0xc53b450(); - input += synapse0xc534630(); - input += synapse0xc534670(); - input += synapse0xc5346b0(); - input += synapse0xc5346f0(); - input += synapse0xc534730(); - input += synapse0xc534770(); - return input; -} - -double ruNNEB::neuron0xc534380() { - double input = input0xc534380(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc5347b0() { - double input = 2.06722; - input += synapse0xc534af0(); - input += synapse0xc534b30(); - input += synapse0xc534b70(); - input += synapse0xc534bb0(); - input += synapse0xc534bf0(); - input += synapse0xc534c30(); - input += synapse0xc534c70(); - input += synapse0xc534cb0(); - return input; -} - -double ruNNEB::neuron0xc5347b0() { - double input = input0xc5347b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc534cf0() { - double input = -0.660232; - input += synapse0xc535030(); - input += synapse0xbd91f10(); - input += synapse0xbd91f50(); - input += synapse0xc535180(); - input += synapse0xc5351c0(); - input += synapse0xc535200(); - input += synapse0xc535240(); - input += synapse0xc535280(); - return input; -} - -double ruNNEB::neuron0xc534cf0() { - double input = input0xc534cf0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc5352c0() { - double input = -0.124235; - input += synapse0xc535600(); - input += synapse0xc535640(); - input += synapse0xc535680(); - input += synapse0xc5356c0(); - input += synapse0xc535700(); - input += synapse0xc535740(); - input += synapse0xc535780(); - input += synapse0xc5357c0(); - return input; -} - -double ruNNEB::neuron0xc5352c0() { - double input = input0xc5352c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc535800() { - double input = 1.07315; - input += synapse0xc535b40(); - input += synapse0xc532780(); - input += synapse0xc53b490(); - input += synapse0xbd90a50(); - input += synapse0xc535070(); - input += synapse0xc5350b0(); - input += synapse0xc5350f0(); - input += synapse0xc535130(); - return input; -} - -double ruNNEB::neuron0xc535800() { - double input = input0xc535800(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc535b80() { - double input = -0.607245; - input += synapse0xc535ec0(); - input += synapse0xc535f00(); - input += synapse0xc535f40(); - input += synapse0xc535f80(); - input += synapse0xc535fc0(); - input += synapse0xc536000(); - input += synapse0xc536040(); - input += synapse0xc536080(); - return input; -} - -double ruNNEB::neuron0xc535b80() { - double input = input0xc535b80(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc5360c0() { - double input = 0.389523; - input += synapse0xc536400(); - input += synapse0xc536440(); - input += synapse0xc536480(); - input += synapse0xc5364c0(); - input += synapse0xc536500(); - input += synapse0xc536540(); - input += synapse0xc536580(); - input += synapse0xc5365c0(); - return input; -} - -double ruNNEB::neuron0xc5360c0() { - double input = input0xc5360c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc536600() { - double input = -2.57324; - input += synapse0xc536940(); - input += synapse0xc536980(); - input += synapse0xc5369c0(); - input += synapse0xc536a00(); - input += synapse0xc536a40(); - input += synapse0xc536a80(); - input += synapse0xc536ac0(); - input += synapse0xc536b00(); - return input; -} - -double ruNNEB::neuron0xc536600() { - double input = input0xc536600(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc536b40() { - double input = -1.05451; - input += synapse0xbc7fe70(); - input += synapse0xbc7feb0(); - input += synapse0xbdab820(); - input += synapse0xbdab860(); - input += synapse0xbdab8a0(); - input += synapse0xbdab8e0(); - input += synapse0xbdab920(); - input += synapse0xbdab960(); - return input; -} - -double ruNNEB::neuron0xc536b40() { - double input = input0xc536b40(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc5373a0() { - double input = 0.758507; - input += synapse0xc537650(); - input += synapse0xc537690(); - input += synapse0xc5376d0(); - input += synapse0xc537710(); - input += synapse0xc537750(); - input += synapse0xc537790(); - input += synapse0xc5377d0(); - input += synapse0xc537810(); - return input; -} - -double ruNNEB::neuron0xc5373a0() { - double input = input0xc5373a0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc537850() { - double input = -0.2328; - input += synapse0xc537b90(); - input += synapse0xc537bd0(); - input += synapse0xc537c10(); - input += synapse0xc537c50(); - input += synapse0xc537c90(); - input += synapse0xc537cd0(); - input += synapse0xc537d10(); - input += synapse0xc537d50(); - input += synapse0xc537d90(); - input += synapse0xc537dd0(); - return input; -} - -double ruNNEB::neuron0xc537850() { - double input = input0xc537850(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc537e10() { - double input = 0.0236358; - input += synapse0xc538150(); - input += synapse0xc538190(); - input += synapse0xc5381d0(); - input += synapse0xc538210(); - input += synapse0xc538250(); - input += synapse0xc538290(); - input += synapse0xc5382d0(); - input += synapse0xc538310(); - input += synapse0xc538350(); - input += synapse0xc538390(); - return input; -} - -double ruNNEB::neuron0xc537e10() { - double input = input0xc537e10(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc5383d0() { - double input = 0.155914; - input += synapse0xc538710(); - input += synapse0xc538750(); - input += synapse0xc538790(); - input += synapse0xc5387d0(); - input += synapse0xc538810(); - input += synapse0xc538850(); - input += synapse0xc538890(); - input += synapse0xc5388d0(); - input += synapse0xc538910(); - input += synapse0xc538950(); - return input; -} - -double ruNNEB::neuron0xc5383d0() { - double input = input0xc5383d0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc538990() { - double input = -0.295368; - input += synapse0xc538cd0(); - input += synapse0xc538d10(); - input += synapse0xc538d50(); - input += synapse0xc538d90(); - input += synapse0xc538dd0(); - input += synapse0xc538e10(); - input += synapse0xc538e50(); - input += synapse0xc538e90(); - input += synapse0xc538ed0(); - input += synapse0xc538f10(); - return input; -} - -double ruNNEB::neuron0xc538990() { - double input = input0xc538990(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc538f50() { - double input = 0.132164; - input += synapse0xc539290(); - input += synapse0xc5392d0(); - input += synapse0xc539310(); - input += synapse0xc539350(); - input += synapse0xc539390(); - input += synapse0xc5393d0(); - input += synapse0xc539410(); - input += synapse0xc539450(); - input += synapse0xc539490(); - input += synapse0xc536f90(); - return input; -} - -double ruNNEB::neuron0xc538f50() { - double input = input0xc538f50(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEB::input0xc536fd0() { - double input = -2.06837; - input += synapse0xc537310(); - input += synapse0xc537350(); - input += synapse0xc534250(); - input += synapse0xc534290(); - input += synapse0xc5342d0(); - return input; -} - -double ruNNEB::neuron0xc536fd0() { - double input = input0xc536fd0(); - return (input * 1)+0; -} - -double ruNNEB::synapse0xc493250() { - return (neuron0xc532850()*-0.0701012); -} - -double ruNNEB::synapse0xc53b450() { - return (neuron0xc532b90()*-0.66992); -} - -double ruNNEB::synapse0xc534630() { - return (neuron0xc532ed0()*-0.640978); -} - -double ruNNEB::synapse0xc534670() { - return (neuron0xc533210()*1.0476); -} - -double ruNNEB::synapse0xc5346b0() { - return (neuron0xc533550()*-0.211549); -} - -double ruNNEB::synapse0xc5346f0() { - return (neuron0xc533890()*0.604938); -} - -double ruNNEB::synapse0xc534730() { - return (neuron0xc533bd0()*-0.48798); -} - -double ruNNEB::synapse0xc534770() { - return (neuron0xc533f10()*0.379182); -} - -double ruNNEB::synapse0xc534af0() { - return (neuron0xc532850()*-1.1129); -} - -double ruNNEB::synapse0xc534b30() { - return (neuron0xc532b90()*-0.682829); -} - -double ruNNEB::synapse0xc534b70() { - return (neuron0xc532ed0()*-0.341504); -} - -double ruNNEB::synapse0xc534bb0() { - return (neuron0xc533210()*0.49885); -} - -double ruNNEB::synapse0xc534bf0() { - return (neuron0xc533550()*0.812563); -} - -double ruNNEB::synapse0xc534c30() { - return (neuron0xc533890()*0.346436); -} - -double ruNNEB::synapse0xc534c70() { - return (neuron0xc533bd0()*0.112762); -} - -double ruNNEB::synapse0xc534cb0() { - return (neuron0xc533f10()*-0.00576687); -} - -double ruNNEB::synapse0xc535030() { - return (neuron0xc532850()*0.905371); -} - -double ruNNEB::synapse0xbd91f10() { - return (neuron0xc532b90()*-0.081892); -} - -double ruNNEB::synapse0xbd91f50() { - return (neuron0xc532ed0()*-1.43722); -} - -double ruNNEB::synapse0xc535180() { - return (neuron0xc533210()*0.822035); -} - -double ruNNEB::synapse0xc5351c0() { - return (neuron0xc533550()*0.0800306); -} - -double ruNNEB::synapse0xc535200() { - return (neuron0xc533890()*-0.25427); -} - -double ruNNEB::synapse0xc535240() { - return (neuron0xc533bd0()*-0.147545); -} - -double ruNNEB::synapse0xc535280() { - return (neuron0xc533f10()*-0.713625); -} - -double ruNNEB::synapse0xc535600() { - return (neuron0xc532850()*-0.0268293); -} - -double ruNNEB::synapse0xc535640() { - return (neuron0xc532b90()*0.136042); -} - -double ruNNEB::synapse0xc535680() { - return (neuron0xc532ed0()*-0.152346); -} - -double ruNNEB::synapse0xc5356c0() { - return (neuron0xc533210()*-0.0287884); -} - -double ruNNEB::synapse0xc535700() { - return (neuron0xc533550()*0.120797); -} - -double ruNNEB::synapse0xc535740() { - return (neuron0xc533890()*-0.63162); -} - -double ruNNEB::synapse0xc535780() { - return (neuron0xc533bd0()*1.03652); -} - -double ruNNEB::synapse0xc5357c0() { - return (neuron0xc533f10()*0.725806); -} - -double ruNNEB::synapse0xc535b40() { - return (neuron0xc532850()*0.259529); -} - -double ruNNEB::synapse0xc532780() { - return (neuron0xc532b90()*-0.096735); -} - -double ruNNEB::synapse0xc53b490() { - return (neuron0xc532ed0()*-1.03728); -} - -double ruNNEB::synapse0xbd90a50() { - return (neuron0xc533210()*-0.130331); -} - -double ruNNEB::synapse0xc535070() { - return (neuron0xc533550()*-0.665413); -} - -double ruNNEB::synapse0xc5350b0() { - return (neuron0xc533890()*-0.0465597); -} - -double ruNNEB::synapse0xc5350f0() { - return (neuron0xc533bd0()*0.125835); -} - -double ruNNEB::synapse0xc535130() { - return (neuron0xc533f10()*0.903114); -} - -double ruNNEB::synapse0xc535ec0() { - return (neuron0xc532850()*-0.493811); -} - -double ruNNEB::synapse0xc535f00() { - return (neuron0xc532b90()*0.104356); -} - -double ruNNEB::synapse0xc535f40() { - return (neuron0xc532ed0()*-0.57549); -} - -double ruNNEB::synapse0xc535f80() { - return (neuron0xc533210()*-0.0153415); -} - -double ruNNEB::synapse0xc535fc0() { - return (neuron0xc533550()*0.0543057); -} - -double ruNNEB::synapse0xc536000() { - return (neuron0xc533890()*-0.549977); -} - -double ruNNEB::synapse0xc536040() { - return (neuron0xc533bd0()*-0.461156); -} - -double ruNNEB::synapse0xc536080() { - return (neuron0xc533f10()*0.0203922); -} - -double ruNNEB::synapse0xc536400() { - return (neuron0xc532850()*0.234716); -} - -double ruNNEB::synapse0xc536440() { - return (neuron0xc532b90()*0.651407); -} - -double ruNNEB::synapse0xc536480() { - return (neuron0xc532ed0()*-0.214669); -} - -double ruNNEB::synapse0xc5364c0() { - return (neuron0xc533210()*-0.160465); -} - -double ruNNEB::synapse0xc536500() { - return (neuron0xc533550()*0.0914841); -} - -double ruNNEB::synapse0xc536540() { - return (neuron0xc533890()*-0.74246); -} - -double ruNNEB::synapse0xc536580() { - return (neuron0xc533bd0()*0.583625); -} - -double ruNNEB::synapse0xc5365c0() { - return (neuron0xc533f10()*0.198533); -} - -double ruNNEB::synapse0xc536940() { - return (neuron0xc532850()*-1.40039); -} - -double ruNNEB::synapse0xc536980() { - return (neuron0xc532b90()*0.724146); -} - -double ruNNEB::synapse0xc5369c0() { - return (neuron0xc532ed0()*-0.179277); -} - -double ruNNEB::synapse0xc536a00() { - return (neuron0xc533210()*1.00082); -} - -double ruNNEB::synapse0xc536a40() { - return (neuron0xc533550()*-0.468151); -} - -double ruNNEB::synapse0xc536a80() { - return (neuron0xc533890()*0.551447); -} - -double ruNNEB::synapse0xc536ac0() { - return (neuron0xc533bd0()*-0.236782); -} - -double ruNNEB::synapse0xc536b00() { - return (neuron0xc533f10()*0.378075); -} - -double ruNNEB::synapse0xbc7fe70() { - return (neuron0xc532850()*0.35642); -} - -double ruNNEB::synapse0xbc7feb0() { - return (neuron0xc532b90()*-1.68175); -} - -double ruNNEB::synapse0xbdab820() { - return (neuron0xc532ed0()*0.779485); -} - -double ruNNEB::synapse0xbdab860() { - return (neuron0xc533210()*0.371443); -} - -double ruNNEB::synapse0xbdab8a0() { - return (neuron0xc533550()*0.162279); -} - -double ruNNEB::synapse0xbdab8e0() { - return (neuron0xc533890()*0.24014); -} - -double ruNNEB::synapse0xbdab920() { - return (neuron0xc533bd0()*-0.283817); -} - -double ruNNEB::synapse0xbdab960() { - return (neuron0xc533f10()*-0.482751); -} - -double ruNNEB::synapse0xc537650() { - return (neuron0xc532850()*-0.762919); -} - -double ruNNEB::synapse0xc537690() { - return (neuron0xc532b90()*0.18839); -} - -double ruNNEB::synapse0xc5376d0() { - return (neuron0xc532ed0()*-0.829236); -} - -double ruNNEB::synapse0xc537710() { - return (neuron0xc533210()*0.463294); -} - -double ruNNEB::synapse0xc537750() { - return (neuron0xc533550()*-0.169371); -} - -double ruNNEB::synapse0xc537790() { - return (neuron0xc533890()*0.171274); -} - -double ruNNEB::synapse0xc5377d0() { - return (neuron0xc533bd0()*-0.195367); -} - -double ruNNEB::synapse0xc537810() { - return (neuron0xc533f10()*0.276946); -} - -double ruNNEB::synapse0xc537b90() { - return (neuron0xc534380()*0.89148); -} - -double ruNNEB::synapse0xc537bd0() { - return (neuron0xc5347b0()*-1.36244); -} - -double ruNNEB::synapse0xc537c10() { - return (neuron0xc534cf0()*1.21674); -} - -double ruNNEB::synapse0xc537c50() { - return (neuron0xc5352c0()*0.396925); -} - -double ruNNEB::synapse0xc537c90() { - return (neuron0xc535800()*-1.70521); -} - -double ruNNEB::synapse0xc537cd0() { - return (neuron0xc535b80()*-0.232645); -} - -double ruNNEB::synapse0xc537d10() { - return (neuron0xc5360c0()*0.674072); -} - -double ruNNEB::synapse0xc537d50() { - return (neuron0xc536600()*1.33276); -} - -double ruNNEB::synapse0xc537d90() { - return (neuron0xc536b40()*-1.47118); -} - -double ruNNEB::synapse0xc537dd0() { - return (neuron0xc5373a0()*-1.54233); -} - -double ruNNEB::synapse0xc538150() { - return (neuron0xc534380()*1.01373); -} - -double ruNNEB::synapse0xc538190() { - return (neuron0xc5347b0()*-0.704411); -} - -double ruNNEB::synapse0xc5381d0() { - return (neuron0xc534cf0()*0.465801); -} - -double ruNNEB::synapse0xc538210() { - return (neuron0xc5352c0()*-0.566637); -} - -double ruNNEB::synapse0xc538250() { - return (neuron0xc535800()*-0.699478); -} - -double ruNNEB::synapse0xc538290() { - return (neuron0xc535b80()*-0.39378); -} - -double ruNNEB::synapse0xc5382d0() { - return (neuron0xc5360c0()*0.895162); -} - -double ruNNEB::synapse0xc538310() { - return (neuron0xc536600()*0.890616); -} - -double ruNNEB::synapse0xc538350() { - return (neuron0xc536b40()*-0.417674); -} - -double ruNNEB::synapse0xc538390() { - return (neuron0xc5373a0()*-0.425274); -} - -double ruNNEB::synapse0xc538710() { - return (neuron0xc534380()*0.916152); -} - -double ruNNEB::synapse0xc538750() { - return (neuron0xc5347b0()*-0.55573); -} - -double ruNNEB::synapse0xc538790() { - return (neuron0xc534cf0()*0.523426); -} - -double ruNNEB::synapse0xc5387d0() { - return (neuron0xc5352c0()*-0.803919); -} - -double ruNNEB::synapse0xc538810() { - return (neuron0xc535800()*-0.730321); -} - -double ruNNEB::synapse0xc538850() { - return (neuron0xc535b80()*-0.496462); -} - -double ruNNEB::synapse0xc538890() { - return (neuron0xc5360c0()*0.818055); -} - -double ruNNEB::synapse0xc5388d0() { - return (neuron0xc536600()*1.25811); -} - -double ruNNEB::synapse0xc538910() { - return (neuron0xc536b40()*-0.496195); -} - -double ruNNEB::synapse0xc538950() { - return (neuron0xc5373a0()*-0.769757); -} - -double ruNNEB::synapse0xc538cd0() { - return (neuron0xc534380()*-1.67636); -} - -double ruNNEB::synapse0xc538d10() { - return (neuron0xc5347b0()*-0.0178184); -} - -double ruNNEB::synapse0xc538d50() { - return (neuron0xc534cf0()*0.0371507); -} - -double ruNNEB::synapse0xc538d90() { - return (neuron0xc5352c0()*0.104829); -} - -double ruNNEB::synapse0xc538dd0() { - return (neuron0xc535800()*1.10022); -} - -double ruNNEB::synapse0xc538e10() { - return (neuron0xc535b80()*0.300674); -} - -double ruNNEB::synapse0xc538e50() { - return (neuron0xc5360c0()*-1.27645); -} - -double ruNNEB::synapse0xc538e90() { - return (neuron0xc536600()*-0.661545); -} - -double ruNNEB::synapse0xc538ed0() { - return (neuron0xc536b40()*0.600524); -} - -double ruNNEB::synapse0xc538f10() { - return (neuron0xc5373a0()*1.10324); -} - -double ruNNEB::synapse0xc539290() { - return (neuron0xc534380()*0.342316); -} - -double ruNNEB::synapse0xc5392d0() { - return (neuron0xc5347b0()*-0.856519); -} - -double ruNNEB::synapse0xc539310() { - return (neuron0xc534cf0()*0.525865); -} - -double ruNNEB::synapse0xc539350() { - return (neuron0xc5352c0()*0.121581); -} - -double ruNNEB::synapse0xc539390() { - return (neuron0xc535800()*-1.23787); -} - -double ruNNEB::synapse0xc5393d0() { - return (neuron0xc535b80()*-0.166805); -} - -double ruNNEB::synapse0xc539410() { - return (neuron0xc5360c0()*-0.190686); -} - -double ruNNEB::synapse0xc539450() { - return (neuron0xc536600()*0.687436); -} - -double ruNNEB::synapse0xc539490() { - return (neuron0xc536b40()*-0.671269); -} - -double ruNNEB::synapse0xc536f90() { - return (neuron0xc5373a0()*-1.17779); -} - -double ruNNEB::synapse0xc537310() { - return (neuron0xc537850()*4.14555); -} - -double ruNNEB::synapse0xc537350() { - return (neuron0xc537e10()*3.50214); -} - -double ruNNEB::synapse0xc534250() { - return (neuron0xc5383d0()*4.58479); -} - -double ruNNEB::synapse0xc534290() { - return (neuron0xc538990()*-3.61183); -} - -double ruNNEB::synapse0xc5342d0() { - return (neuron0xc538f50()*0.901646); -} - -double uuNNEB::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.13794)/1.30956; - input1 = (in1 - 1.15492)/1.68616; - input2 = (in2 - 1.14956)/1.69316; - input3 = (in3 - 1.90666)/1.49442; - input4 = (in4 - 0.3065)/1.46726; - input5 = (in5 - 0.318454)/1.50742; - input6 = (in6 - 0.305354)/1.51455; - input7 = (in7 - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x215a5090(); - default: - return 0.; - } -} - -double uuNNEB::Value(int index, double* input) { - input0 = (input[0] - 4.13794)/1.30956; - input1 = (input[1] - 1.15492)/1.68616; - input2 = (input[2] - 1.14956)/1.69316; - input3 = (input[3] - 1.90666)/1.49442; - input4 = (input[4] - 0.3065)/1.46726; - input5 = (input[5] - 0.318454)/1.50742; - input6 = (input[6] - 0.305354)/1.51455; - input7 = (input[7] - 0.31183)/1.46928; - switch(index) { - case 0: - return neuron0x215a5090(); - default: - return 0.; - } -} - -double uuNNEB::neuron0x215a0910() { - return input0; -} - -double uuNNEB::neuron0x215a0c50() { - return input1; -} - -double uuNNEB::neuron0x215a0f90() { - return input2; -} - -double uuNNEB::neuron0x215a12d0() { - return input3; -} - -double uuNNEB::neuron0x215a1610() { - return input4; -} - -double uuNNEB::neuron0x215a1950() { - return input5; -} - -double uuNNEB::neuron0x215a1c90() { - return input6; -} - -double uuNNEB::neuron0x215a1fd0() { - return input7; -} - -double uuNNEB::input0x215a2440() { - double input = -3.46668; - input += synapse0x21501310(); - input += synapse0x215a9510(); - input += synapse0x215a26f0(); - input += synapse0x215a2730(); - input += synapse0x215a2770(); - input += synapse0x215a27b0(); - input += synapse0x215a27f0(); - input += synapse0x215a2830(); - return input; -} - -double uuNNEB::neuron0x215a2440() { - double input = input0x215a2440(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a2870() { - double input = -0.216712; - input += synapse0x215a2bb0(); - input += synapse0x215a2bf0(); - input += synapse0x215a2c30(); - input += synapse0x215a2c70(); - input += synapse0x215a2cb0(); - input += synapse0x215a2cf0(); - input += synapse0x215a2d30(); - input += synapse0x215a2d70(); - return input; -} - -double uuNNEB::neuron0x215a2870() { - double input = input0x215a2870(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a2db0() { - double input = -1.25069; - input += synapse0x215a30f0(); - input += synapse0x20dfffd0(); - input += synapse0x20e00010(); - input += synapse0x215a3240(); - input += synapse0x215a3280(); - input += synapse0x215a32c0(); - input += synapse0x215a3300(); - input += synapse0x215a3340(); - return input; -} - -double uuNNEB::neuron0x215a2db0() { - double input = input0x215a2db0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a3380() { - double input = 0.164265; - input += synapse0x215a36c0(); - input += synapse0x215a3700(); - input += synapse0x215a3740(); - input += synapse0x215a3780(); - input += synapse0x215a37c0(); - input += synapse0x215a3800(); - input += synapse0x215a3840(); - input += synapse0x215a3880(); - return input; -} - -double uuNNEB::neuron0x215a3380() { - double input = input0x215a3380(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a38c0() { - double input = 1.20615; - input += synapse0x215a3c00(); - input += synapse0x215a0840(); - input += synapse0x215a9550(); - input += synapse0x20dfeb10(); - input += synapse0x215a3130(); - input += synapse0x215a3170(); - input += synapse0x215a31b0(); - input += synapse0x215a31f0(); - return input; -} - -double uuNNEB::neuron0x215a38c0() { - double input = input0x215a38c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a3c40() { - double input = -1.00109; - input += synapse0x215a3f80(); - input += synapse0x215a3fc0(); - input += synapse0x215a4000(); - input += synapse0x215a4040(); - input += synapse0x215a4080(); - input += synapse0x215a40c0(); - input += synapse0x215a4100(); - input += synapse0x215a4140(); - return input; -} - -double uuNNEB::neuron0x215a3c40() { - double input = input0x215a3c40(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a4180() { - double input = -1.43638; - input += synapse0x215a44c0(); - input += synapse0x215a4500(); - input += synapse0x215a4540(); - input += synapse0x215a4580(); - input += synapse0x215a45c0(); - input += synapse0x215a4600(); - input += synapse0x215a4640(); - input += synapse0x215a4680(); - return input; -} - -double uuNNEB::neuron0x215a4180() { - double input = input0x215a4180(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a46c0() { - double input = 1.30954; - input += synapse0x215a4a00(); - input += synapse0x215a4a40(); - input += synapse0x215a4a80(); - input += synapse0x215a4ac0(); - input += synapse0x215a4b00(); - input += synapse0x215a4b40(); - input += synapse0x215a4b80(); - input += synapse0x215a4bc0(); - return input; -} - -double uuNNEB::neuron0x215a46c0() { - double input = input0x215a46c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a4c00() { - double input = -0.75568; - input += synapse0x20cedf30(); - input += synapse0x20cedf70(); - input += synapse0x20e198e0(); - input += synapse0x20e19920(); - input += synapse0x20e19960(); - input += synapse0x20e199a0(); - input += synapse0x20e199e0(); - input += synapse0x20e19a20(); - return input; -} - -double uuNNEB::neuron0x215a4c00() { - double input = input0x215a4c00(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a5460() { - double input = 0.349564; - input += synapse0x215a5710(); - input += synapse0x215a5750(); - input += synapse0x215a5790(); - input += synapse0x215a57d0(); - input += synapse0x215a5810(); - input += synapse0x215a5850(); - input += synapse0x215a5890(); - input += synapse0x215a58d0(); - return input; -} - -double uuNNEB::neuron0x215a5460() { - double input = input0x215a5460(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a5910() { - double input = -2.54272; - input += synapse0x215a5c50(); - input += synapse0x215a5c90(); - input += synapse0x215a5cd0(); - input += synapse0x215a5d10(); - input += synapse0x215a5d50(); - input += synapse0x215a5d90(); - input += synapse0x215a5dd0(); - input += synapse0x215a5e10(); - input += synapse0x215a5e50(); - input += synapse0x215a5e90(); - return input; -} - -double uuNNEB::neuron0x215a5910() { - double input = input0x215a5910(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a5ed0() { - double input = -1.6243; - input += synapse0x215a6210(); - input += synapse0x215a6250(); - input += synapse0x215a6290(); - input += synapse0x215a62d0(); - input += synapse0x215a6310(); - input += synapse0x215a6350(); - input += synapse0x215a6390(); - input += synapse0x215a63d0(); - input += synapse0x215a6410(); - input += synapse0x215a6450(); - return input; -} - -double uuNNEB::neuron0x215a5ed0() { - double input = input0x215a5ed0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a6490() { - double input = -2.41565; - input += synapse0x215a67d0(); - input += synapse0x215a6810(); - input += synapse0x215a6850(); - input += synapse0x215a6890(); - input += synapse0x215a68d0(); - input += synapse0x215a6910(); - input += synapse0x215a6950(); - input += synapse0x215a6990(); - input += synapse0x215a69d0(); - input += synapse0x215a6a10(); - return input; -} - -double uuNNEB::neuron0x215a6490() { - double input = input0x215a6490(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a6a50() { - double input = 1.3051; - input += synapse0x215a6d90(); - input += synapse0x215a6dd0(); - input += synapse0x215a6e10(); - input += synapse0x215a6e50(); - input += synapse0x215a6e90(); - input += synapse0x215a6ed0(); - input += synapse0x215a6f10(); - input += synapse0x215a6f50(); - input += synapse0x215a6f90(); - input += synapse0x215a6fd0(); - return input; -} - -double uuNNEB::neuron0x215a6a50() { - double input = input0x215a6a50(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a7010() { - double input = -0.872798; - input += synapse0x215a7350(); - input += synapse0x215a7390(); - input += synapse0x215a73d0(); - input += synapse0x215a7410(); - input += synapse0x215a7450(); - input += synapse0x215a7490(); - input += synapse0x215a74d0(); - input += synapse0x215a7510(); - input += synapse0x215a7550(); - input += synapse0x215a5050(); - return input; -} - -double uuNNEB::neuron0x215a7010() { - double input = input0x215a7010(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEB::input0x215a5090() { - double input = -0.827423; - input += synapse0x215a53d0(); - input += synapse0x215a5410(); - input += synapse0x215a2310(); - input += synapse0x215a2350(); - input += synapse0x215a2390(); - return input; -} - -double uuNNEB::neuron0x215a5090() { - double input = input0x215a5090(); - return (input * 1)+0; -} - -double uuNNEB::synapse0x21501310() { - return (neuron0x215a0910()*1.44277); -} - -double uuNNEB::synapse0x215a9510() { - return (neuron0x215a0c50()*-0.602439); -} - -double uuNNEB::synapse0x215a26f0() { - return (neuron0x215a0f90()*-0.664344); -} - -double uuNNEB::synapse0x215a2730() { - return (neuron0x215a12d0()*0.259659); -} - -double uuNNEB::synapse0x215a2770() { - return (neuron0x215a1610()*0.521977); -} - -double uuNNEB::synapse0x215a27b0() { - return (neuron0x215a1950()*-0.139725); -} - -double uuNNEB::synapse0x215a27f0() { - return (neuron0x215a1c90()*0.462369); -} - -double uuNNEB::synapse0x215a2830() { - return (neuron0x215a1fd0()*-0.144491); -} - -double uuNNEB::synapse0x215a2bb0() { - return (neuron0x215a0910()*-0.690881); -} - -double uuNNEB::synapse0x215a2bf0() { - return (neuron0x215a0c50()*3.00857); -} - -double uuNNEB::synapse0x215a2c30() { - return (neuron0x215a0f90()*0.584154); -} - -double uuNNEB::synapse0x215a2c70() { - return (neuron0x215a12d0()*-0.443833); -} - -double uuNNEB::synapse0x215a2cb0() { - return (neuron0x215a1610()*-1.12004); -} - -double uuNNEB::synapse0x215a2cf0() { - return (neuron0x215a1950()*0.385117); -} - -double uuNNEB::synapse0x215a2d30() { - return (neuron0x215a1c90()*0.828344); -} - -double uuNNEB::synapse0x215a2d70() { - return (neuron0x215a1fd0()*0.0518985); -} - -double uuNNEB::synapse0x215a30f0() { - return (neuron0x215a0910()*2.46324); -} - -double uuNNEB::synapse0x20dfffd0() { - return (neuron0x215a0c50()*-1.27957); -} - -double uuNNEB::synapse0x20e00010() { - return (neuron0x215a0f90()*1.52325); -} - -double uuNNEB::synapse0x215a3240() { - return (neuron0x215a12d0()*0.324036); -} - -double uuNNEB::synapse0x215a3280() { - return (neuron0x215a1610()*-0.772301); -} - -double uuNNEB::synapse0x215a32c0() { - return (neuron0x215a1950()*-0.288646); -} - -double uuNNEB::synapse0x215a3300() { - return (neuron0x215a1c90()*-1.59626); -} - -double uuNNEB::synapse0x215a3340() { - return (neuron0x215a1fd0()*-0.333816); -} - -double uuNNEB::synapse0x215a36c0() { - return (neuron0x215a0910()*-0.775788); -} - -double uuNNEB::synapse0x215a3700() { - return (neuron0x215a0c50()*-0.33891); -} - -double uuNNEB::synapse0x215a3740() { - return (neuron0x215a0f90()*0.413686); -} - -double uuNNEB::synapse0x215a3780() { - return (neuron0x215a12d0()*-0.103716); -} - -double uuNNEB::synapse0x215a37c0() { - return (neuron0x215a1610()*2.59851); -} - -double uuNNEB::synapse0x215a3800() { - return (neuron0x215a1950()*-0.0130854); -} - -double uuNNEB::synapse0x215a3840() { - return (neuron0x215a1c90()*-0.428691); -} - -double uuNNEB::synapse0x215a3880() { - return (neuron0x215a1fd0()*-0.0479283); -} - -double uuNNEB::synapse0x215a3c00() { - return (neuron0x215a0910()*-2.37794); -} - -double uuNNEB::synapse0x215a0840() { - return (neuron0x215a0c50()*-1.41136); -} - -double uuNNEB::synapse0x215a9550() { - return (neuron0x215a0f90()*2.07387); -} - -double uuNNEB::synapse0x20dfeb10() { - return (neuron0x215a12d0()*-0.30988); -} - -double uuNNEB::synapse0x215a3130() { - return (neuron0x215a1610()*1.91446); -} - -double uuNNEB::synapse0x215a3170() { - return (neuron0x215a1950()*-0.220708); -} - -double uuNNEB::synapse0x215a31b0() { - return (neuron0x215a1c90()*-0.809622); -} - -double uuNNEB::synapse0x215a31f0() { - return (neuron0x215a1fd0()*1.13641); -} - -double uuNNEB::synapse0x215a3f80() { - return (neuron0x215a0910()*2.03498); -} - -double uuNNEB::synapse0x215a3fc0() { - return (neuron0x215a0c50()*1.50096); -} - -double uuNNEB::synapse0x215a4000() { - return (neuron0x215a0f90()*-0.0779476); -} - -double uuNNEB::synapse0x215a4040() { - return (neuron0x215a12d0()*-1.07668); -} - -double uuNNEB::synapse0x215a4080() { - return (neuron0x215a1610()*-1.85923); -} - -double uuNNEB::synapse0x215a40c0() { - return (neuron0x215a1950()*-1.04043); -} - -double uuNNEB::synapse0x215a4100() { - return (neuron0x215a1c90()*0.36375); -} - -double uuNNEB::synapse0x215a4140() { - return (neuron0x215a1fd0()*-0.367085); -} - -double uuNNEB::synapse0x215a44c0() { - return (neuron0x215a0910()*-0.727066); -} - -double uuNNEB::synapse0x215a4500() { - return (neuron0x215a0c50()*-1.0188); -} - -double uuNNEB::synapse0x215a4540() { - return (neuron0x215a0f90()*0.468547); -} - -double uuNNEB::synapse0x215a4580() { - return (neuron0x215a12d0()*-0.405341); -} - -double uuNNEB::synapse0x215a45c0() { - return (neuron0x215a1610()*1.12725); -} - -double uuNNEB::synapse0x215a4600() { - return (neuron0x215a1950()*-0.0173553); -} - -double uuNNEB::synapse0x215a4640() { - return (neuron0x215a1c90()*-1.04423); -} - -double uuNNEB::synapse0x215a4680() { - return (neuron0x215a1fd0()*0.532221); -} - -double uuNNEB::synapse0x215a4a00() { - return (neuron0x215a0910()*2.09286); -} - -double uuNNEB::synapse0x215a4a40() { - return (neuron0x215a0c50()*-0.466192); -} - -double uuNNEB::synapse0x215a4a80() { - return (neuron0x215a0f90()*0.37012); -} - -double uuNNEB::synapse0x215a4ac0() { - return (neuron0x215a12d0()*-0.436637); -} - -double uuNNEB::synapse0x215a4b00() { - return (neuron0x215a1610()*0.0712444); -} - -double uuNNEB::synapse0x215a4b40() { - return (neuron0x215a1950()*-0.309679); -} - -double uuNNEB::synapse0x215a4b80() { - return (neuron0x215a1c90()*-1.06154); -} - -double uuNNEB::synapse0x215a4bc0() { - return (neuron0x215a1fd0()*0.0765883); -} - -double uuNNEB::synapse0x20cedf30() { - return (neuron0x215a0910()*0.668865); -} - -double uuNNEB::synapse0x20cedf70() { - return (neuron0x215a0c50()*-0.60273); -} - -double uuNNEB::synapse0x20e198e0() { - return (neuron0x215a0f90()*0.283323); -} - -double uuNNEB::synapse0x20e19920() { - return (neuron0x215a12d0()*0.0257678); -} - -double uuNNEB::synapse0x20e19960() { - return (neuron0x215a1610()*0.519152); -} - -double uuNNEB::synapse0x20e199a0() { - return (neuron0x215a1950()*-0.260405); -} - -double uuNNEB::synapse0x20e199e0() { - return (neuron0x215a1c90()*-0.0699433); -} - -double uuNNEB::synapse0x20e19a20() { - return (neuron0x215a1fd0()*0.405117); -} - -double uuNNEB::synapse0x215a5710() { - return (neuron0x215a0910()*-2.56026); -} - -double uuNNEB::synapse0x215a5750() { - return (neuron0x215a0c50()*-0.0943651); -} - -double uuNNEB::synapse0x215a5790() { - return (neuron0x215a0f90()*-0.228386); -} - -double uuNNEB::synapse0x215a57d0() { - return (neuron0x215a12d0()*-0.199914); -} - -double uuNNEB::synapse0x215a5810() { - return (neuron0x215a1610()*0.472089); -} - -double uuNNEB::synapse0x215a5850() { - return (neuron0x215a1950()*0.374635); -} - -double uuNNEB::synapse0x215a5890() { - return (neuron0x215a1c90()*2.80952); -} - -double uuNNEB::synapse0x215a58d0() { - return (neuron0x215a1fd0()*0.0236235); -} - -double uuNNEB::synapse0x215a5c50() { - return (neuron0x215a2440()*1.80182); -} - -double uuNNEB::synapse0x215a5c90() { - return (neuron0x215a2870()*0.452891); -} - -double uuNNEB::synapse0x215a5cd0() { - return (neuron0x215a2db0()*-1.64631); -} - -double uuNNEB::synapse0x215a5d10() { - return (neuron0x215a3380()*-1.19492); -} - -double uuNNEB::synapse0x215a5d50() { - return (neuron0x215a38c0()*1.45913); -} - -double uuNNEB::synapse0x215a5d90() { - return (neuron0x215a3c40()*0.370735); -} - -double uuNNEB::synapse0x215a5dd0() { - return (neuron0x215a4180()*-2.74557); -} - -double uuNNEB::synapse0x215a5e10() { - return (neuron0x215a46c0()*1.27757); -} - -double uuNNEB::synapse0x215a5e50() { - return (neuron0x215a4c00()*0.113696); -} - -double uuNNEB::synapse0x215a5e90() { - return (neuron0x215a5460()*1.2331); -} - -double uuNNEB::synapse0x215a6210() { - return (neuron0x215a2440()*3.08306); -} - -double uuNNEB::synapse0x215a6250() { - return (neuron0x215a2870()*-2.61474); -} - -double uuNNEB::synapse0x215a6290() { - return (neuron0x215a2db0()*-1.11434); -} - -double uuNNEB::synapse0x215a62d0() { - return (neuron0x215a3380()*1.99314); -} - -double uuNNEB::synapse0x215a6310() { - return (neuron0x215a38c0()*0.197835); -} - -double uuNNEB::synapse0x215a6350() { - return (neuron0x215a3c40()*-0.142996); -} - -double uuNNEB::synapse0x215a6390() { - return (neuron0x215a4180()*-0.816864); -} - -double uuNNEB::synapse0x215a63d0() { - return (neuron0x215a46c0()*2.032); -} - -double uuNNEB::synapse0x215a6410() { - return (neuron0x215a4c00()*0.89448); -} - -double uuNNEB::synapse0x215a6450() { - return (neuron0x215a5460()*1.29876); -} - -double uuNNEB::synapse0x215a67d0() { - return (neuron0x215a2440()*0.414836); -} - -double uuNNEB::synapse0x215a6810() { - return (neuron0x215a2870()*0.191323); -} - -double uuNNEB::synapse0x215a6850() { - return (neuron0x215a2db0()*-3.98714); -} - -double uuNNEB::synapse0x215a6890() { - return (neuron0x215a3380()*0.447498); -} - -double uuNNEB::synapse0x215a68d0() { - return (neuron0x215a38c0()*2.68837); -} - -double uuNNEB::synapse0x215a6910() { - return (neuron0x215a3c40()*-1.63414); -} - -double uuNNEB::synapse0x215a6950() { - return (neuron0x215a4180()*-1.59613); -} - -double uuNNEB::synapse0x215a6990() { - return (neuron0x215a46c0()*1.4858); -} - -double uuNNEB::synapse0x215a69d0() { - return (neuron0x215a4c00()*-0.59188); -} - -double uuNNEB::synapse0x215a6a10() { - return (neuron0x215a5460()*0.696164); -} - -double uuNNEB::synapse0x215a6d90() { - return (neuron0x215a2440()*-0.544148); -} - -double uuNNEB::synapse0x215a6dd0() { - return (neuron0x215a2870()*-0.835737); -} - -double uuNNEB::synapse0x215a6e10() { - return (neuron0x215a2db0()*-1.91574); -} - -double uuNNEB::synapse0x215a6e50() { - return (neuron0x215a3380()*-0.57913); -} - -double uuNNEB::synapse0x215a6e90() { - return (neuron0x215a38c0()*1.35325); -} - -double uuNNEB::synapse0x215a6ed0() { - return (neuron0x215a3c40()*0.215738); -} - -double uuNNEB::synapse0x215a6f10() { - return (neuron0x215a4180()*1.04704); -} - -double uuNNEB::synapse0x215a6f50() { - return (neuron0x215a46c0()*-0.289321); -} - -double uuNNEB::synapse0x215a6f90() { - return (neuron0x215a4c00()*-0.204792); -} - -double uuNNEB::synapse0x215a6fd0() { - return (neuron0x215a5460()*0.0657331); -} - -double uuNNEB::synapse0x215a7350() { - return (neuron0x215a2440()*2.17066); -} - -double uuNNEB::synapse0x215a7390() { - return (neuron0x215a2870()*0.508575); -} - -double uuNNEB::synapse0x215a73d0() { - return (neuron0x215a2db0()*0.374617); -} - -double uuNNEB::synapse0x215a7410() { - return (neuron0x215a3380()*2.54452); -} - -double uuNNEB::synapse0x215a7450() { - return (neuron0x215a38c0()*1.03871); -} - -double uuNNEB::synapse0x215a7490() { - return (neuron0x215a3c40()*1.66025); -} - -double uuNNEB::synapse0x215a74d0() { - return (neuron0x215a4180()*-0.749529); -} - -double uuNNEB::synapse0x215a7510() { - return (neuron0x215a46c0()*0.516512); -} - -double uuNNEB::synapse0x215a7550() { - return (neuron0x215a4c00()*0.492925); -} - -double uuNNEB::synapse0x215a5050() { - return (neuron0x215a5460()*1.1131); -} - -double uuNNEB::synapse0x215a53d0() { - return (neuron0x215a5910()*3.22095); -} - -double uuNNEB::synapse0x215a5410() { - return (neuron0x215a5ed0()*3.08946); -} - -double uuNNEB::synapse0x215a2310() { - return (neuron0x215a6490()*3.36558); -} - -double uuNNEB::synapse0x215a2350() { - return (neuron0x215a6a50()*-4.11024); -} - -double uuNNEB::synapse0x215a2390() { - return (neuron0x215a7010()*2.09935); -} - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEE.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEE.cc deleted file mode 100644 index adec14b486597..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/xyNNEE.cc +++ /dev/null @@ -1,8113 +0,0 @@ -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/xyNNEE.h" -#include - -double ccNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 2.40353)/1.40003; - input1 = (in1 - 2.41121)/1.41004; - input2 = (in2 - 2.42657)/1.40629; - input3 = (in3 - 2.42619)/1.40466; - input4 = (in4 - 1.33856)/1.28698; - input5 = (in5 - 1.33177)/1.28879; - input6 = (in6 - 1.33367)/1.29347; - input7 = (in7 - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x19a4cc00(); - default: - return 0.; - } -} - -double ccNNEE::Value(int index, double* input) { - input0 = (input[0] - 2.40353)/1.40003; - input1 = (input[1] - 2.41121)/1.41004; - input2 = (input[2] - 2.42657)/1.40629; - input3 = (input[3] - 2.42619)/1.40466; - input4 = (input[4] - 1.33856)/1.28698; - input5 = (input[5] - 1.33177)/1.28879; - input6 = (input[6] - 1.33367)/1.29347; - input7 = (input[7] - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x19a4cc00(); - default: - return 0.; - } -} - -double ccNNEE::neuron0x19a48480() { - return input0; -} - -double ccNNEE::neuron0x19a487c0() { - return input1; -} - -double ccNNEE::neuron0x19a48b00() { - return input2; -} - -double ccNNEE::neuron0x19a48e40() { - return input3; -} - -double ccNNEE::neuron0x19a49180() { - return input4; -} - -double ccNNEE::neuron0x19a494c0() { - return input5; -} - -double ccNNEE::neuron0x19a49800() { - return input6; -} - -double ccNNEE::neuron0x19a49b40() { - return input7; -} - -double ccNNEE::input0x19a49fb0() { - double input = 1.45018; - input += synapse0x199a87c0(); - input += synapse0x19a51080(); - input += synapse0x19a4a260(); - input += synapse0x19a4a2a0(); - input += synapse0x19a4a2e0(); - input += synapse0x19a4a320(); - input += synapse0x19a4a360(); - input += synapse0x19a4a3a0(); - return input; -} - -double ccNNEE::neuron0x19a49fb0() { - double input = input0x19a49fb0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4a3e0() { - double input = 0.513263; - input += synapse0x19a4a720(); - input += synapse0x19a4a760(); - input += synapse0x19a4a7a0(); - input += synapse0x19a4a7e0(); - input += synapse0x19a4a820(); - input += synapse0x19a4a860(); - input += synapse0x19a4a8a0(); - input += synapse0x19a4a8e0(); - return input; -} - -double ccNNEE::neuron0x19a4a3e0() { - double input = input0x19a4a3e0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4a920() { - double input = -0.424002; - input += synapse0x19a4ac60(); - input += synapse0x19976d60(); - input += synapse0x19976da0(); - input += synapse0x19a4adb0(); - input += synapse0x19a4adf0(); - input += synapse0x19a4ae30(); - input += synapse0x19a4ae70(); - input += synapse0x19a4aeb0(); - return input; -} - -double ccNNEE::neuron0x19a4a920() { - double input = input0x19a4a920(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4aef0() { - double input = -3.93277; - input += synapse0x19a4b230(); - input += synapse0x19a4b270(); - input += synapse0x19a4b2b0(); - input += synapse0x19a4b2f0(); - input += synapse0x19a4b330(); - input += synapse0x19a4b370(); - input += synapse0x19a4b3b0(); - input += synapse0x19a4b3f0(); - return input; -} - -double ccNNEE::neuron0x19a4aef0() { - double input = input0x19a4aef0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4b430() { - double input = -0.770492; - input += synapse0x19a4b770(); - input += synapse0x19a483b0(); - input += synapse0x19a510c0(); - input += synapse0x199930d0(); - input += synapse0x19a4aca0(); - input += synapse0x19a4ace0(); - input += synapse0x19a4ad20(); - input += synapse0x19a4ad60(); - return input; -} - -double ccNNEE::neuron0x19a4b430() { - double input = input0x19a4b430(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4b7b0() { - double input = 0.50899; - input += synapse0x19a4baf0(); - input += synapse0x19a4bb30(); - input += synapse0x19a4bb70(); - input += synapse0x19a4bbb0(); - input += synapse0x19a4bbf0(); - input += synapse0x19a4bc30(); - input += synapse0x19a4bc70(); - input += synapse0x19a4bcb0(); - return input; -} - -double ccNNEE::neuron0x19a4b7b0() { - double input = input0x19a4b7b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4bcf0() { - double input = -2.4899; - input += synapse0x19a4c030(); - input += synapse0x19a4c070(); - input += synapse0x19a4c0b0(); - input += synapse0x19a4c0f0(); - input += synapse0x19a4c130(); - input += synapse0x19a4c170(); - input += synapse0x19a4c1b0(); - input += synapse0x19a4c1f0(); - return input; -} - -double ccNNEE::neuron0x19a4bcf0() { - double input = input0x19a4bcf0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4c230() { - double input = -1.0127; - input += synapse0x19a4c570(); - input += synapse0x19a4c5b0(); - input += synapse0x19a4c5f0(); - input += synapse0x19a4c630(); - input += synapse0x19a4c670(); - input += synapse0x19a4c6b0(); - input += synapse0x19a4c6f0(); - input += synapse0x19a4c730(); - return input; -} - -double ccNNEE::neuron0x19a4c230() { - double input = input0x19a4c230(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4c770() { - double input = -1.4571; - input += synapse0x199749c0(); - input += synapse0x19974a00(); - input += synapse0x1998f8c0(); - input += synapse0x1998f900(); - input += synapse0x1998f940(); - input += synapse0x1998f980(); - input += synapse0x1998f9c0(); - input += synapse0x1998fa00(); - return input; -} - -double ccNNEE::neuron0x19a4c770() { - double input = input0x19a4c770(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4cfd0() { - double input = 0.71886; - input += synapse0x19a4d280(); - input += synapse0x19a4d2c0(); - input += synapse0x19a4d300(); - input += synapse0x19a4d340(); - input += synapse0x19a4d380(); - input += synapse0x19a4d3c0(); - input += synapse0x19a4d400(); - input += synapse0x19a4d440(); - return input; -} - -double ccNNEE::neuron0x19a4cfd0() { - double input = input0x19a4cfd0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4d480() { - double input = -4.01118; - input += synapse0x19a4d7c0(); - input += synapse0x19a4d800(); - input += synapse0x19a4d840(); - input += synapse0x19a4d880(); - input += synapse0x19a4d8c0(); - input += synapse0x19a4d900(); - input += synapse0x19a4d940(); - input += synapse0x19a4d980(); - input += synapse0x19a4d9c0(); - input += synapse0x19a4da00(); - return input; -} - -double ccNNEE::neuron0x19a4d480() { - double input = input0x19a4d480(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4da40() { - double input = -2.05647; - input += synapse0x19a4dd80(); - input += synapse0x19a4ddc0(); - input += synapse0x19a4de00(); - input += synapse0x19a4de40(); - input += synapse0x19a4de80(); - input += synapse0x19a4dec0(); - input += synapse0x19a4df00(); - input += synapse0x19a4df40(); - input += synapse0x19a4df80(); - input += synapse0x19a4dfc0(); - return input; -} - -double ccNNEE::neuron0x19a4da40() { - double input = input0x19a4da40(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4e000() { - double input = -1.37802; - input += synapse0x19a4e340(); - input += synapse0x19a4e380(); - input += synapse0x19a4e3c0(); - input += synapse0x19a4e400(); - input += synapse0x19a4e440(); - input += synapse0x19a4e480(); - input += synapse0x19a4e4c0(); - input += synapse0x19a4e500(); - input += synapse0x19a4e540(); - input += synapse0x19a4e580(); - return input; -} - -double ccNNEE::neuron0x19a4e000() { - double input = input0x19a4e000(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4e5c0() { - double input = 0.267395; - input += synapse0x19a4e900(); - input += synapse0x19a4e940(); - input += synapse0x19a4e980(); - input += synapse0x19a4e9c0(); - input += synapse0x19a4ea00(); - input += synapse0x19a4ea40(); - input += synapse0x19a4ea80(); - input += synapse0x19a4eac0(); - input += synapse0x19a4eb00(); - input += synapse0x19a4eb40(); - return input; -} - -double ccNNEE::neuron0x19a4e5c0() { - double input = input0x19a4e5c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4eb80() { - double input = -1.92227; - input += synapse0x19a4eec0(); - input += synapse0x19a4ef00(); - input += synapse0x19a4ef40(); - input += synapse0x19a4ef80(); - input += synapse0x19a4efc0(); - input += synapse0x19a4f000(); - input += synapse0x19a4f040(); - input += synapse0x19a4f080(); - input += synapse0x19a4f0c0(); - input += synapse0x19a4cbc0(); - return input; -} - -double ccNNEE::neuron0x19a4eb80() { - double input = input0x19a4eb80(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ccNNEE::input0x19a4cc00() { - double input = 1.45162; - input += synapse0x19a4cf40(); - input += synapse0x19a4cf80(); - input += synapse0x19a49e80(); - input += synapse0x19a49ec0(); - input += synapse0x19a49f00(); - return input; -} - -double ccNNEE::neuron0x19a4cc00() { - double input = input0x19a4cc00(); - return (input * 1)+0; -} - -double ccNNEE::synapse0x199a87c0() { - return (neuron0x19a48480()*1.71165); -} - -double ccNNEE::synapse0x19a51080() { - return (neuron0x19a487c0()*1.54118); -} - -double ccNNEE::synapse0x19a4a260() { - return (neuron0x19a48b00()*-0.726711); -} - -double ccNNEE::synapse0x19a4a2a0() { - return (neuron0x19a48e40()*-1.5899); -} - -double ccNNEE::synapse0x19a4a2e0() { - return (neuron0x19a49180()*-0.704007); -} - -double ccNNEE::synapse0x19a4a320() { - return (neuron0x19a494c0()*0.154605); -} - -double ccNNEE::synapse0x19a4a360() { - return (neuron0x19a49800()*0.189555); -} - -double ccNNEE::synapse0x19a4a3a0() { - return (neuron0x19a49b40()*-0.282059); -} - -double ccNNEE::synapse0x19a4a720() { - return (neuron0x19a48480()*-1.80849); -} - -double ccNNEE::synapse0x19a4a760() { - return (neuron0x19a487c0()*-0.573659); -} - -double ccNNEE::synapse0x19a4a7a0() { - return (neuron0x19a48b00()*0.604474); -} - -double ccNNEE::synapse0x19a4a7e0() { - return (neuron0x19a48e40()*0.964384); -} - -double ccNNEE::synapse0x19a4a820() { - return (neuron0x19a49180()*0.0577964); -} - -double ccNNEE::synapse0x19a4a860() { - return (neuron0x19a494c0()*0.0857454); -} - -double ccNNEE::synapse0x19a4a8a0() { - return (neuron0x19a49800()*0.243587); -} - -double ccNNEE::synapse0x19a4a8e0() { - return (neuron0x19a49b40()*0.162777); -} - -double ccNNEE::synapse0x19a4ac60() { - return (neuron0x19a48480()*0.268058); -} - -double ccNNEE::synapse0x19976d60() { - return (neuron0x19a487c0()*2.06646); -} - -double ccNNEE::synapse0x19976da0() { - return (neuron0x19a48b00()*-0.372554); -} - -double ccNNEE::synapse0x19a4adb0() { - return (neuron0x19a48e40()*-0.861342); -} - -double ccNNEE::synapse0x19a4adf0() { - return (neuron0x19a49180()*-0.755119); -} - -double ccNNEE::synapse0x19a4ae30() { - return (neuron0x19a494c0()*0.322542); -} - -double ccNNEE::synapse0x19a4ae70() { - return (neuron0x19a49800()*0.13772); -} - -double ccNNEE::synapse0x19a4aeb0() { - return (neuron0x19a49b40()*-0.366595); -} - -double ccNNEE::synapse0x19a4b230() { - return (neuron0x19a48480()*0.979019); -} - -double ccNNEE::synapse0x19a4b270() { - return (neuron0x19a487c0()*0.670766); -} - -double ccNNEE::synapse0x19a4b2b0() { - return (neuron0x19a48b00()*-3.34411); -} - -double ccNNEE::synapse0x19a4b2f0() { - return (neuron0x19a48e40()*-0.264608); -} - -double ccNNEE::synapse0x19a4b330() { - return (neuron0x19a49180()*0.650668); -} - -double ccNNEE::synapse0x19a4b370() { - return (neuron0x19a494c0()*-0.233652); -} - -double ccNNEE::synapse0x19a4b3b0() { - return (neuron0x19a49800()*0.312077); -} - -double ccNNEE::synapse0x19a4b3f0() { - return (neuron0x19a49b40()*0.27134); -} - -double ccNNEE::synapse0x19a4b770() { - return (neuron0x19a48480()*0.777705); -} - -double ccNNEE::synapse0x19a483b0() { - return (neuron0x19a487c0()*0.0741502); -} - -double ccNNEE::synapse0x19a510c0() { - return (neuron0x19a48b00()*-0.83739); -} - -double ccNNEE::synapse0x199930d0() { - return (neuron0x19a48e40()*-0.055425); -} - -double ccNNEE::synapse0x19a4aca0() { - return (neuron0x19a49180()*0.170293); -} - -double ccNNEE::synapse0x19a4ace0() { - return (neuron0x19a494c0()*0.0117798); -} - -double ccNNEE::synapse0x19a4ad20() { - return (neuron0x19a49800()*0.308031); -} - -double ccNNEE::synapse0x19a4ad60() { - return (neuron0x19a49b40()*0.403181); -} - -double ccNNEE::synapse0x19a4baf0() { - return (neuron0x19a48480()*-0.264386); -} - -double ccNNEE::synapse0x19a4bb30() { - return (neuron0x19a487c0()*1.32561); -} - -double ccNNEE::synapse0x19a4bb70() { - return (neuron0x19a48b00()*-0.489181); -} - -double ccNNEE::synapse0x19a4bbb0() { - return (neuron0x19a48e40()*0.655156); -} - -double ccNNEE::synapse0x19a4bbf0() { - return (neuron0x19a49180()*-0.377223); -} - -double ccNNEE::synapse0x19a4bc30() { - return (neuron0x19a494c0()*0.505918); -} - -double ccNNEE::synapse0x19a4bc70() { - return (neuron0x19a49800()*0.256939); -} - -double ccNNEE::synapse0x19a4bcb0() { - return (neuron0x19a49b40()*-1.1697); -} - -double ccNNEE::synapse0x19a4c030() { - return (neuron0x19a48480()*-0.961581); -} - -double ccNNEE::synapse0x19a4c070() { - return (neuron0x19a487c0()*0.941952); -} - -double ccNNEE::synapse0x19a4c0b0() { - return (neuron0x19a48b00()*0.0325193); -} - -double ccNNEE::synapse0x19a4c0f0() { - return (neuron0x19a48e40()*-0.569454); -} - -double ccNNEE::synapse0x19a4c130() { - return (neuron0x19a49180()*0.887025); -} - -double ccNNEE::synapse0x19a4c170() { - return (neuron0x19a494c0()*-0.53192); -} - -double ccNNEE::synapse0x19a4c1b0() { - return (neuron0x19a49800()*-0.612533); -} - -double ccNNEE::synapse0x19a4c1f0() { - return (neuron0x19a49b40()*0.515826); -} - -double ccNNEE::synapse0x19a4c570() { - return (neuron0x19a48480()*-0.228631); -} - -double ccNNEE::synapse0x19a4c5b0() { - return (neuron0x19a487c0()*0.117628); -} - -double ccNNEE::synapse0x19a4c5f0() { - return (neuron0x19a48b00()*0.767413); -} - -double ccNNEE::synapse0x19a4c630() { - return (neuron0x19a48e40()*0.172603); -} - -double ccNNEE::synapse0x19a4c670() { - return (neuron0x19a49180()*0.0917384); -} - -double ccNNEE::synapse0x19a4c6b0() { - return (neuron0x19a494c0()*0.245461); -} - -double ccNNEE::synapse0x19a4c6f0() { - return (neuron0x19a49800()*0.0541929); -} - -double ccNNEE::synapse0x19a4c730() { - return (neuron0x19a49b40()*0.163008); -} - -double ccNNEE::synapse0x199749c0() { - return (neuron0x19a48480()*-0.564364); -} - -double ccNNEE::synapse0x19974a00() { - return (neuron0x19a487c0()*-0.162665); -} - -double ccNNEE::synapse0x1998f8c0() { - return (neuron0x19a48b00()*-0.110124); -} - -double ccNNEE::synapse0x1998f900() { - return (neuron0x19a48e40()*-0.00196696); -} - -double ccNNEE::synapse0x1998f940() { - return (neuron0x19a49180()*-0.459567); -} - -double ccNNEE::synapse0x1998f980() { - return (neuron0x19a494c0()*0.86846); -} - -double ccNNEE::synapse0x1998f9c0() { - return (neuron0x19a49800()*0.989158); -} - -double ccNNEE::synapse0x1998fa00() { - return (neuron0x19a49b40()*-0.979802); -} - -double ccNNEE::synapse0x19a4d280() { - return (neuron0x19a48480()*0.936438); -} - -double ccNNEE::synapse0x19a4d2c0() { - return (neuron0x19a487c0()*0.580903); -} - -double ccNNEE::synapse0x19a4d300() { - return (neuron0x19a48b00()*-0.522228); -} - -double ccNNEE::synapse0x19a4d340() { - return (neuron0x19a48e40()*-1.61368); -} - -double ccNNEE::synapse0x19a4d380() { - return (neuron0x19a49180()*0.6777); -} - -double ccNNEE::synapse0x19a4d3c0() { - return (neuron0x19a494c0()*-0.385456); -} - -double ccNNEE::synapse0x19a4d400() { - return (neuron0x19a49800()*-0.0587413); -} - -double ccNNEE::synapse0x19a4d440() { - return (neuron0x19a49b40()*0.117251); -} - -double ccNNEE::synapse0x19a4d7c0() { - return (neuron0x19a49fb0()*2.17389); -} - -double ccNNEE::synapse0x19a4d800() { - return (neuron0x19a4a3e0()*2.18535); -} - -double ccNNEE::synapse0x19a4d840() { - return (neuron0x19a4a920()*-1.15272); -} - -double ccNNEE::synapse0x19a4d880() { - return (neuron0x19a4aef0()*-3.18652); -} - -double ccNNEE::synapse0x19a4d8c0() { - return (neuron0x19a4b430()*-0.668958); -} - -double ccNNEE::synapse0x19a4d900() { - return (neuron0x19a4b7b0()*1.1318); -} - -double ccNNEE::synapse0x19a4d940() { - return (neuron0x19a4bcf0()*-3.22956); -} - -double ccNNEE::synapse0x19a4d980() { - return (neuron0x19a4c230()*0.639365); -} - -double ccNNEE::synapse0x19a4d9c0() { - return (neuron0x19a4c770()*-2.57762); -} - -double ccNNEE::synapse0x19a4da00() { - return (neuron0x19a4cfd0()*1.2187); -} - -double ccNNEE::synapse0x19a4dd80() { - return (neuron0x19a49fb0()*0.924918); -} - -double ccNNEE::synapse0x19a4ddc0() { - return (neuron0x19a4a3e0()*-0.235074); -} - -double ccNNEE::synapse0x19a4de00() { - return (neuron0x19a4a920()*-0.554771); -} - -double ccNNEE::synapse0x19a4de40() { - return (neuron0x19a4aef0()*-1.45049); -} - -double ccNNEE::synapse0x19a4de80() { - return (neuron0x19a4b430()*0.670977); -} - -double ccNNEE::synapse0x19a4dec0() { - return (neuron0x19a4b7b0()*1.09232); -} - -double ccNNEE::synapse0x19a4df00() { - return (neuron0x19a4bcf0()*-0.882513); -} - -double ccNNEE::synapse0x19a4df40() { - return (neuron0x19a4c230()*0.933392); -} - -double ccNNEE::synapse0x19a4df80() { - return (neuron0x19a4c770()*-1.07881); -} - -double ccNNEE::synapse0x19a4dfc0() { - return (neuron0x19a4cfd0()*0.231102); -} - -double ccNNEE::synapse0x19a4e340() { - return (neuron0x19a49fb0()*0.278011); -} - -double ccNNEE::synapse0x19a4e380() { - return (neuron0x19a4a3e0()*0.611001); -} - -double ccNNEE::synapse0x19a4e3c0() { - return (neuron0x19a4a920()*-0.288964); -} - -double ccNNEE::synapse0x19a4e400() { - return (neuron0x19a4aef0()*0.543014); -} - -double ccNNEE::synapse0x19a4e440() { - return (neuron0x19a4b430()*1.78693); -} - -double ccNNEE::synapse0x19a4e480() { - return (neuron0x19a4b7b0()*0.724617); -} - -double ccNNEE::synapse0x19a4e4c0() { - return (neuron0x19a4bcf0()*-0.163241); -} - -double ccNNEE::synapse0x19a4e500() { - return (neuron0x19a4c230()*1.36038); -} - -double ccNNEE::synapse0x19a4e540() { - return (neuron0x19a4c770()*-0.541271); -} - -double ccNNEE::synapse0x19a4e580() { - return (neuron0x19a4cfd0()*0.250387); -} - -double ccNNEE::synapse0x19a4e900() { - return (neuron0x19a49fb0()*0.333114); -} - -double ccNNEE::synapse0x19a4e940() { - return (neuron0x19a4a3e0()*-0.379421); -} - -double ccNNEE::synapse0x19a4e980() { - return (neuron0x19a4a920()*0.229684); -} - -double ccNNEE::synapse0x19a4e9c0() { - return (neuron0x19a4aef0()*-0.232456); -} - -double ccNNEE::synapse0x19a4ea00() { - return (neuron0x19a4b430()*-0.583428); -} - -double ccNNEE::synapse0x19a4ea40() { - return (neuron0x19a4b7b0()*-0.377764); -} - -double ccNNEE::synapse0x19a4ea80() { - return (neuron0x19a4bcf0()*-1.1476); -} - -double ccNNEE::synapse0x19a4eac0() { - return (neuron0x19a4c230()*-0.576983); -} - -double ccNNEE::synapse0x19a4eb00() { - return (neuron0x19a4c770()*-0.375297); -} - -double ccNNEE::synapse0x19a4eb40() { - return (neuron0x19a4cfd0()*0.0778199); -} - -double ccNNEE::synapse0x19a4eec0() { - return (neuron0x19a49fb0()*-0.177098); -} - -double ccNNEE::synapse0x19a4ef00() { - return (neuron0x19a4a3e0()*0.208895); -} - -double ccNNEE::synapse0x19a4ef40() { - return (neuron0x19a4a920()*-0.539107); -} - -double ccNNEE::synapse0x19a4ef80() { - return (neuron0x19a4aef0()*-0.844427); -} - -double ccNNEE::synapse0x19a4efc0() { - return (neuron0x19a4b430()*1.73929); -} - -double ccNNEE::synapse0x19a4f000() { - return (neuron0x19a4b7b0()*1.19979); -} - -double ccNNEE::synapse0x19a4f040() { - return (neuron0x19a4bcf0()*0.350089); -} - -double ccNNEE::synapse0x19a4f080() { - return (neuron0x19a4c230()*1.25415); -} - -double ccNNEE::synapse0x19a4f0c0() { - return (neuron0x19a4c770()*-0.387113); -} - -double ccNNEE::synapse0x19a4cbc0() { - return (neuron0x19a4cfd0()*0.61157); -} - -double ccNNEE::synapse0x19a4cf40() { - return (neuron0x19a4d480()*4.82065); -} - -double ccNNEE::synapse0x19a4cf80() { - return (neuron0x19a4da40()*2.0913); -} - -double ccNNEE::synapse0x19a49e80() { - return (neuron0x19a4e000()*2.28334); -} - -double ccNNEE::synapse0x19a49ec0() { - return (neuron0x19a4e5c0()*-1.85272); -} - -double ccNNEE::synapse0x19a49f00() { - return (neuron0x19a4eb80()*2.63883); -} - -double ddNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.99102)/1.1492; - input1 = (in1 - 2.40353)/1.40003; - input2 = (in2 - 2.41121)/1.41004; - input3 = (in3 - 2.42657)/1.40629; - input4 = (in4 - 1.33856)/1.28698; - input5 = (in5 - 1.33177)/1.28879; - input6 = (in6 - 1.33367)/1.29347; - input7 = (in7 - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x8316d00(); - default: - return 0.; - } -} - -double ddNNEE::Value(int index, double* input) { - input0 = (input[0] - 4.99102)/1.1492; - input1 = (input[1] - 2.40353)/1.40003; - input2 = (input[2] - 2.41121)/1.41004; - input3 = (input[3] - 2.42657)/1.40629; - input4 = (input[4] - 1.33856)/1.28698; - input5 = (input[5] - 1.33177)/1.28879; - input6 = (input[6] - 1.33367)/1.29347; - input7 = (input[7] - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x8316d00(); - default: - return 0.; - } -} - -double ddNNEE::neuron0x8312580() { - return input0; -} - -double ddNNEE::neuron0x83128c0() { - return input1; -} - -double ddNNEE::neuron0x8312c00() { - return input2; -} - -double ddNNEE::neuron0x8312f40() { - return input3; -} - -double ddNNEE::neuron0x8313280() { - return input4; -} - -double ddNNEE::neuron0x83135c0() { - return input5; -} - -double ddNNEE::neuron0x8313900() { - return input6; -} - -double ddNNEE::neuron0x8313c40() { - return input7; -} - -double ddNNEE::input0x83140b0() { - double input = 1.05719; - input += synapse0x82728c0(); - input += synapse0x831b180(); - input += synapse0x8314360(); - input += synapse0x83143a0(); - input += synapse0x83143e0(); - input += synapse0x8314420(); - input += synapse0x8314460(); - input += synapse0x83144a0(); - return input; -} - -double ddNNEE::neuron0x83140b0() { - double input = input0x83140b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x83144e0() { - double input = -1.37516; - input += synapse0x8314820(); - input += synapse0x8314860(); - input += synapse0x83148a0(); - input += synapse0x83148e0(); - input += synapse0x8314920(); - input += synapse0x8314960(); - input += synapse0x83149a0(); - input += synapse0x83149e0(); - return input; -} - -double ddNNEE::neuron0x83144e0() { - double input = input0x83144e0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8314a20() { - double input = 0.753304; - input += synapse0x8314d60(); - input += synapse0x8240e60(); - input += synapse0x8240ea0(); - input += synapse0x8314eb0(); - input += synapse0x8314ef0(); - input += synapse0x8314f30(); - input += synapse0x8314f70(); - input += synapse0x8314fb0(); - return input; -} - -double ddNNEE::neuron0x8314a20() { - double input = input0x8314a20(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8314ff0() { - double input = -1.4179; - input += synapse0x8315330(); - input += synapse0x8315370(); - input += synapse0x83153b0(); - input += synapse0x83153f0(); - input += synapse0x8315430(); - input += synapse0x8315470(); - input += synapse0x83154b0(); - input += synapse0x83154f0(); - return input; -} - -double ddNNEE::neuron0x8314ff0() { - double input = input0x8314ff0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8315530() { - double input = 1.67886; - input += synapse0x8315870(); - input += synapse0x83124b0(); - input += synapse0x831b1c0(); - input += synapse0x825d1d0(); - input += synapse0x8314da0(); - input += synapse0x8314de0(); - input += synapse0x8314e20(); - input += synapse0x8314e60(); - return input; -} - -double ddNNEE::neuron0x8315530() { - double input = input0x8315530(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x83158b0() { - double input = 0.142783; - input += synapse0x8315bf0(); - input += synapse0x8315c30(); - input += synapse0x8315c70(); - input += synapse0x8315cb0(); - input += synapse0x8315cf0(); - input += synapse0x8315d30(); - input += synapse0x8315d70(); - input += synapse0x8315db0(); - return input; -} - -double ddNNEE::neuron0x83158b0() { - double input = input0x83158b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8315df0() { - double input = -1.49169; - input += synapse0x8316130(); - input += synapse0x8316170(); - input += synapse0x83161b0(); - input += synapse0x83161f0(); - input += synapse0x8316230(); - input += synapse0x8316270(); - input += synapse0x83162b0(); - input += synapse0x83162f0(); - return input; -} - -double ddNNEE::neuron0x8315df0() { - double input = input0x8315df0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8316330() { - double input = -0.0621605; - input += synapse0x8316670(); - input += synapse0x83166b0(); - input += synapse0x83166f0(); - input += synapse0x8316730(); - input += synapse0x8316770(); - input += synapse0x83167b0(); - input += synapse0x83167f0(); - input += synapse0x8316830(); - return input; -} - -double ddNNEE::neuron0x8316330() { - double input = input0x8316330(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8316870() { - double input = 0.517246; - input += synapse0x823eac0(); - input += synapse0x823eb00(); - input += synapse0x82599c0(); - input += synapse0x8259a00(); - input += synapse0x8259a40(); - input += synapse0x8259a80(); - input += synapse0x8259ac0(); - input += synapse0x8259b00(); - return input; -} - -double ddNNEE::neuron0x8316870() { - double input = input0x8316870(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x83170d0() { - double input = 0.63036; - input += synapse0x8317380(); - input += synapse0x83173c0(); - input += synapse0x8317400(); - input += synapse0x8317440(); - input += synapse0x8317480(); - input += synapse0x83174c0(); - input += synapse0x8317500(); - input += synapse0x8317540(); - return input; -} - -double ddNNEE::neuron0x83170d0() { - double input = input0x83170d0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8317580() { - double input = 0.536046; - input += synapse0x83178c0(); - input += synapse0x8317900(); - input += synapse0x8317940(); - input += synapse0x8317980(); - input += synapse0x83179c0(); - input += synapse0x8317a00(); - input += synapse0x8317a40(); - input += synapse0x8317a80(); - input += synapse0x8317ac0(); - input += synapse0x8317b00(); - return input; -} - -double ddNNEE::neuron0x8317580() { - double input = input0x8317580(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8317b40() { - double input = 0.28105; - input += synapse0x8317e80(); - input += synapse0x8317ec0(); - input += synapse0x8317f00(); - input += synapse0x8317f40(); - input += synapse0x8317f80(); - input += synapse0x8317fc0(); - input += synapse0x8318000(); - input += synapse0x8318040(); - input += synapse0x8318080(); - input += synapse0x83180c0(); - return input; -} - -double ddNNEE::neuron0x8317b40() { - double input = input0x8317b40(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8318100() { - double input = 0.253693; - input += synapse0x8318440(); - input += synapse0x8318480(); - input += synapse0x83184c0(); - input += synapse0x8318500(); - input += synapse0x8318540(); - input += synapse0x8318580(); - input += synapse0x83185c0(); - input += synapse0x8318600(); - input += synapse0x8318640(); - input += synapse0x8318680(); - return input; -} - -double ddNNEE::neuron0x8318100() { - double input = input0x8318100(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x83186c0() { - double input = 0.558697; - input += synapse0x8318a00(); - input += synapse0x8318a40(); - input += synapse0x8318a80(); - input += synapse0x8318ac0(); - input += synapse0x8318b00(); - input += synapse0x8318b40(); - input += synapse0x8318b80(); - input += synapse0x8318bc0(); - input += synapse0x8318c00(); - input += synapse0x8318c40(); - return input; -} - -double ddNNEE::neuron0x83186c0() { - double input = input0x83186c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8318c80() { - double input = -2.24623; - input += synapse0x8318fc0(); - input += synapse0x8319000(); - input += synapse0x8319040(); - input += synapse0x8319080(); - input += synapse0x83190c0(); - input += synapse0x8319100(); - input += synapse0x8319140(); - input += synapse0x8319180(); - input += synapse0x83191c0(); - input += synapse0x8316cc0(); - return input; -} - -double ddNNEE::neuron0x8318c80() { - double input = input0x8318c80(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ddNNEE::input0x8316d00() { - double input = -2.15788; - input += synapse0x8317040(); - input += synapse0x8317080(); - input += synapse0x8313f80(); - input += synapse0x8313fc0(); - input += synapse0x8314000(); - return input; -} - -double ddNNEE::neuron0x8316d00() { - double input = input0x8316d00(); - return (input * 1)+0; -} - -double ddNNEE::synapse0x82728c0() { - return (neuron0x8312580()*-1.58825); -} - -double ddNNEE::synapse0x831b180() { - return (neuron0x83128c0()*-1.10229); -} - -double ddNNEE::synapse0x8314360() { - return (neuron0x8312c00()*-0.565096); -} - -double ddNNEE::synapse0x83143a0() { - return (neuron0x8312f40()*0.122835); -} - -double ddNNEE::synapse0x83143e0() { - return (neuron0x8313280()*-0.105586); -} - -double ddNNEE::synapse0x8314420() { - return (neuron0x83135c0()*3.72349); -} - -double ddNNEE::synapse0x8314460() { - return (neuron0x8313900()*0.517663); -} - -double ddNNEE::synapse0x83144a0() { - return (neuron0x8313c40()*-0.0567961); -} - -double ddNNEE::synapse0x8314820() { - return (neuron0x8312580()*0.394706); -} - -double ddNNEE::synapse0x8314860() { - return (neuron0x83128c0()*0.342424); -} - -double ddNNEE::synapse0x83148a0() { - return (neuron0x8312c00()*0.436855); -} - -double ddNNEE::synapse0x83148e0() { - return (neuron0x8312f40()*-0.294598); -} - -double ddNNEE::synapse0x8314920() { - return (neuron0x8313280()*0.492127); -} - -double ddNNEE::synapse0x8314960() { - return (neuron0x83135c0()*0.00187448); -} - -double ddNNEE::synapse0x83149a0() { - return (neuron0x8313900()*-0.377788); -} - -double ddNNEE::synapse0x83149e0() { - return (neuron0x8313c40()*-0.349046); -} - -double ddNNEE::synapse0x8314d60() { - return (neuron0x8312580()*-0.197605); -} - -double ddNNEE::synapse0x8240e60() { - return (neuron0x83128c0()*-0.373985); -} - -double ddNNEE::synapse0x8240ea0() { - return (neuron0x8312c00()*-0.0505447); -} - -double ddNNEE::synapse0x8314eb0() { - return (neuron0x8312f40()*-0.246537); -} - -double ddNNEE::synapse0x8314ef0() { - return (neuron0x8313280()*0.140793); -} - -double ddNNEE::synapse0x8314f30() { - return (neuron0x83135c0()*0.411811); -} - -double ddNNEE::synapse0x8314f70() { - return (neuron0x8313900()*-0.209583); -} - -double ddNNEE::synapse0x8314fb0() { - return (neuron0x8313c40()*-0.453906); -} - -double ddNNEE::synapse0x8315330() { - return (neuron0x8312580()*1.64781); -} - -double ddNNEE::synapse0x8315370() { - return (neuron0x83128c0()*0.921551); -} - -double ddNNEE::synapse0x83153b0() { - return (neuron0x8312c00()*0.941424); -} - -double ddNNEE::synapse0x83153f0() { - return (neuron0x8312f40()*1.15033); -} - -double ddNNEE::synapse0x8315430() { - return (neuron0x8313280()*0.978414); -} - -double ddNNEE::synapse0x8315470() { - return (neuron0x83135c0()*1.03646); -} - -double ddNNEE::synapse0x83154b0() { - return (neuron0x8313900()*0.992893); -} - -double ddNNEE::synapse0x83154f0() { - return (neuron0x8313c40()*1.07173); -} - -double ddNNEE::synapse0x8315870() { - return (neuron0x8312580()*-0.487263); -} - -double ddNNEE::synapse0x83124b0() { - return (neuron0x83128c0()*-0.415371); -} - -double ddNNEE::synapse0x831b1c0() { - return (neuron0x8312c00()*-0.179726); -} - -double ddNNEE::synapse0x825d1d0() { - return (neuron0x8312f40()*1.23975); -} - -double ddNNEE::synapse0x8314da0() { - return (neuron0x8313280()*-0.218843); -} - -double ddNNEE::synapse0x8314de0() { - return (neuron0x83135c0()*0.239369); -} - -double ddNNEE::synapse0x8314e20() { - return (neuron0x8313900()*-0.584394); -} - -double ddNNEE::synapse0x8314e60() { - return (neuron0x8313c40()*0.198253); -} - -double ddNNEE::synapse0x8315bf0() { - return (neuron0x8312580()*0.740868); -} - -double ddNNEE::synapse0x8315c30() { - return (neuron0x83128c0()*-0.217136); -} - -double ddNNEE::synapse0x8315c70() { - return (neuron0x8312c00()*0.561292); -} - -double ddNNEE::synapse0x8315cb0() { - return (neuron0x8312f40()*0.114271); -} - -double ddNNEE::synapse0x8315cf0() { - return (neuron0x8313280()*0.381374); -} - -double ddNNEE::synapse0x8315d30() { - return (neuron0x83135c0()*-0.466769); -} - -double ddNNEE::synapse0x8315d70() { - return (neuron0x8313900()*0.405474); -} - -double ddNNEE::synapse0x8315db0() { - return (neuron0x8313c40()*-1.04062); -} - -double ddNNEE::synapse0x8316130() { - return (neuron0x8312580()*-0.402604); -} - -double ddNNEE::synapse0x8316170() { - return (neuron0x83128c0()*0.220286); -} - -double ddNNEE::synapse0x83161b0() { - return (neuron0x8312c00()*0.331519); -} - -double ddNNEE::synapse0x83161f0() { - return (neuron0x8312f40()*-0.646217); -} - -double ddNNEE::synapse0x8316230() { - return (neuron0x8313280()*0.198439); -} - -double ddNNEE::synapse0x8316270() { - return (neuron0x83135c0()*-0.70732); -} - -double ddNNEE::synapse0x83162b0() { - return (neuron0x8313900()*-0.584387); -} - -double ddNNEE::synapse0x83162f0() { - return (neuron0x8313c40()*2.29453); -} - -double ddNNEE::synapse0x8316670() { - return (neuron0x8312580()*-1.93044); -} - -double ddNNEE::synapse0x83166b0() { - return (neuron0x83128c0()*-2.45384); -} - -double ddNNEE::synapse0x83166f0() { - return (neuron0x8312c00()*-0.423168); -} - -double ddNNEE::synapse0x8316730() { - return (neuron0x8312f40()*0.126811); -} - -double ddNNEE::synapse0x8316770() { - return (neuron0x8313280()*0.46297); -} - -double ddNNEE::synapse0x83167b0() { - return (neuron0x83135c0()*2.33621); -} - -double ddNNEE::synapse0x83167f0() { - return (neuron0x8313900()*-0.0213368); -} - -double ddNNEE::synapse0x8316830() { - return (neuron0x8313c40()*1.38537); -} - -double ddNNEE::synapse0x823eac0() { - return (neuron0x8312580()*-0.53831); -} - -double ddNNEE::synapse0x823eb00() { - return (neuron0x83128c0()*0.329635); -} - -double ddNNEE::synapse0x82599c0() { - return (neuron0x8312c00()*-0.795528); -} - -double ddNNEE::synapse0x8259a00() { - return (neuron0x8312f40()*0.387663); -} - -double ddNNEE::synapse0x8259a40() { - return (neuron0x8313280()*0.0506177); -} - -double ddNNEE::synapse0x8259a80() { - return (neuron0x83135c0()*-0.619213); -} - -double ddNNEE::synapse0x8259ac0() { - return (neuron0x8313900()*-0.00450464); -} - -double ddNNEE::synapse0x8259b00() { - return (neuron0x8313c40()*1.74116); -} - -double ddNNEE::synapse0x8317380() { - return (neuron0x8312580()*1.39179); -} - -double ddNNEE::synapse0x83173c0() { - return (neuron0x83128c0()*-1.33156); -} - -double ddNNEE::synapse0x8317400() { - return (neuron0x8312c00()*0.412971); -} - -double ddNNEE::synapse0x8317440() { - return (neuron0x8312f40()*-0.100225); -} - -double ddNNEE::synapse0x8317480() { - return (neuron0x8313280()*-0.155398); -} - -double ddNNEE::synapse0x83174c0() { - return (neuron0x83135c0()*0.898231); -} - -double ddNNEE::synapse0x8317500() { - return (neuron0x8313900()*-0.238382); -} - -double ddNNEE::synapse0x8317540() { - return (neuron0x8313c40()*-1.06072); -} - -double ddNNEE::synapse0x83178c0() { - return (neuron0x83140b0()*0.914963); -} - -double ddNNEE::synapse0x8317900() { - return (neuron0x83144e0()*1.44698); -} - -double ddNNEE::synapse0x8317940() { - return (neuron0x8314a20()*-0.928438); -} - -double ddNNEE::synapse0x8317980() { - return (neuron0x8314ff0()*0.470698); -} - -double ddNNEE::synapse0x83179c0() { - return (neuron0x8315530()*-0.69716); -} - -double ddNNEE::synapse0x8317a00() { - return (neuron0x83158b0()*-0.57454); -} - -double ddNNEE::synapse0x8317a40() { - return (neuron0x8315df0()*0.438625); -} - -double ddNNEE::synapse0x8317a80() { - return (neuron0x8316330()*-0.170681); -} - -double ddNNEE::synapse0x8317ac0() { - return (neuron0x8316870()*1.08005); -} - -double ddNNEE::synapse0x8317b00() { - return (neuron0x83170d0()*0.711833); -} - -double ddNNEE::synapse0x8317e80() { - return (neuron0x83140b0()*0.647346); -} - -double ddNNEE::synapse0x8317ec0() { - return (neuron0x83144e0()*2.39181); -} - -double ddNNEE::synapse0x8317f00() { - return (neuron0x8314a20()*-1.55821); -} - -double ddNNEE::synapse0x8317f40() { - return (neuron0x8314ff0()*-0.215333); -} - -double ddNNEE::synapse0x8317f80() { - return (neuron0x8315530()*-0.366795); -} - -double ddNNEE::synapse0x8317fc0() { - return (neuron0x83158b0()*0.215596); -} - -double ddNNEE::synapse0x8318000() { - return (neuron0x8315df0()*-0.572009); -} - -double ddNNEE::synapse0x8318040() { - return (neuron0x8316330()*-1.12707); -} - -double ddNNEE::synapse0x8318080() { - return (neuron0x8316870()*0.874066); -} - -double ddNNEE::synapse0x83180c0() { - return (neuron0x83170d0()*1.09344); -} - -double ddNNEE::synapse0x8318440() { - return (neuron0x83140b0()*-0.283404); -} - -double ddNNEE::synapse0x8318480() { - return (neuron0x83144e0()*0.0407104); -} - -double ddNNEE::synapse0x83184c0() { - return (neuron0x8314a20()*-0.714295); -} - -double ddNNEE::synapse0x8318500() { - return (neuron0x8314ff0()*-0.168094); -} - -double ddNNEE::synapse0x8318540() { - return (neuron0x8315530()*-2.60967); -} - -double ddNNEE::synapse0x8318580() { - return (neuron0x83158b0()*-1.08998); -} - -double ddNNEE::synapse0x83185c0() { - return (neuron0x8315df0()*1.00207); -} - -double ddNNEE::synapse0x8318600() { - return (neuron0x8316330()*0.792278); -} - -double ddNNEE::synapse0x8318640() { - return (neuron0x8316870()*0.718949); -} - -double ddNNEE::synapse0x8318680() { - return (neuron0x83170d0()*2.36826); -} - -double ddNNEE::synapse0x8318a00() { - return (neuron0x83140b0()*0.478507); -} - -double ddNNEE::synapse0x8318a40() { - return (neuron0x83144e0()*0.13425); -} - -double ddNNEE::synapse0x8318a80() { - return (neuron0x8314a20()*0.281792); -} - -double ddNNEE::synapse0x8318ac0() { - return (neuron0x8314ff0()*0.769649); -} - -double ddNNEE::synapse0x8318b00() { - return (neuron0x8315530()*0.893873); -} - -double ddNNEE::synapse0x8318b40() { - return (neuron0x83158b0()*0.401025); -} - -double ddNNEE::synapse0x8318b80() { - return (neuron0x8315df0()*-0.726698); -} - -double ddNNEE::synapse0x8318bc0() { - return (neuron0x8316330()*0.377856); -} - -double ddNNEE::synapse0x8318c00() { - return (neuron0x8316870()*-0.0124937); -} - -double ddNNEE::synapse0x8318c40() { - return (neuron0x83170d0()*0.413426); -} - -double ddNNEE::synapse0x8318fc0() { - return (neuron0x83140b0()*0.910933); -} - -double ddNNEE::synapse0x8319000() { - return (neuron0x83144e0()*1.12521); -} - -double ddNNEE::synapse0x8319040() { - return (neuron0x8314a20()*-1.36901); -} - -double ddNNEE::synapse0x8319080() { - return (neuron0x8314ff0()*0.494542); -} - -double ddNNEE::synapse0x83190c0() { - return (neuron0x8315530()*-0.775266); -} - -double ddNNEE::synapse0x8319100() { - return (neuron0x83158b0()*-2.12784); -} - -double ddNNEE::synapse0x8319140() { - return (neuron0x8315df0()*-2.08337); -} - -double ddNNEE::synapse0x8319180() { - return (neuron0x8316330()*1.98218); -} - -double ddNNEE::synapse0x83191c0() { - return (neuron0x8316870()*2.82563); -} - -double ddNNEE::synapse0x8316cc0() { - return (neuron0x83170d0()*0.404478); -} - -double ddNNEE::synapse0x8317040() { - return (neuron0x8317580()*2.06702); -} - -double ddNNEE::synapse0x8317080() { - return (neuron0x8317b40()*3.65618); -} - -double ddNNEE::synapse0x8313f80() { - return (neuron0x8318100()*3.54663); -} - -double ddNNEE::synapse0x8313fc0() { - return (neuron0x83186c0()*-1.53354); -} - -double ddNNEE::synapse0x8314000() { - return (neuron0x8318c80()*4.25567); -} - -double ldNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.99102)/1.1492; - input1 = (in1 - 2.40353)/1.40003; - input2 = (in2 - 2.41121)/1.41004; - input3 = (in3 - 2.42657)/1.40629; - input4 = (in4 - 2.42619)/1.40466; - input5 = (in5 - 1.33856)/1.28698; - input6 = (in6 - 1.33177)/1.28879; - input7 = (in7 - 1.33367)/1.29347; - switch(index) { - case 0: - return neuron0x1e95bcc0(); - default: - return 0.; - } -} - -double ldNNEE::Value(int index, double* input) { - input0 = (input[0] - 4.99102)/1.1492; - input1 = (input[1] - 2.40353)/1.40003; - input2 = (input[2] - 2.41121)/1.41004; - input3 = (input[3] - 2.42657)/1.40629; - input4 = (input[4] - 2.42619)/1.40466; - input5 = (input[5] - 1.33856)/1.28698; - input6 = (input[6] - 1.33177)/1.28879; - input7 = (input[7] - 1.33367)/1.29347; - switch(index) { - case 0: - return neuron0x1e95bcc0(); - default: - return 0.; - } -} - -double ldNNEE::neuron0x1e957540() { - return input0; -} - -double ldNNEE::neuron0x1e957880() { - return input1; -} - -double ldNNEE::neuron0x1e957bc0() { - return input2; -} - -double ldNNEE::neuron0x1e957f00() { - return input3; -} - -double ldNNEE::neuron0x1e958240() { - return input4; -} - -double ldNNEE::neuron0x1e958580() { - return input5; -} - -double ldNNEE::neuron0x1e9588c0() { - return input6; -} - -double ldNNEE::neuron0x1e958c00() { - return input7; -} - -double ldNNEE::input0x1e959070() { - double input = -1.56243; - input += synapse0x1e8b7880(); - input += synapse0x1e960140(); - input += synapse0x1e959320(); - input += synapse0x1e959360(); - input += synapse0x1e9593a0(); - input += synapse0x1e9593e0(); - input += synapse0x1e959420(); - input += synapse0x1e959460(); - return input; -} - -double ldNNEE::neuron0x1e959070() { - double input = input0x1e959070(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e9594a0() { - double input = 0.277395; - input += synapse0x1e9597e0(); - input += synapse0x1e959820(); - input += synapse0x1e959860(); - input += synapse0x1e9598a0(); - input += synapse0x1e9598e0(); - input += synapse0x1e959920(); - input += synapse0x1e959960(); - input += synapse0x1e9599a0(); - return input; -} - -double ldNNEE::neuron0x1e9594a0() { - double input = input0x1e9594a0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e9599e0() { - double input = -2.09409; - input += synapse0x1e959d20(); - input += synapse0x1e885e20(); - input += synapse0x1e885e60(); - input += synapse0x1e959e70(); - input += synapse0x1e959eb0(); - input += synapse0x1e959ef0(); - input += synapse0x1e959f30(); - input += synapse0x1e959f70(); - return input; -} - -double ldNNEE::neuron0x1e9599e0() { - double input = input0x1e9599e0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e959fb0() { - double input = -0.665299; - input += synapse0x1e95a2f0(); - input += synapse0x1e95a330(); - input += synapse0x1e95a370(); - input += synapse0x1e95a3b0(); - input += synapse0x1e95a3f0(); - input += synapse0x1e95a430(); - input += synapse0x1e95a470(); - input += synapse0x1e95a4b0(); - return input; -} - -double ldNNEE::neuron0x1e959fb0() { - double input = input0x1e959fb0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95a4f0() { - double input = -0.112128; - input += synapse0x1e95a830(); - input += synapse0x1e957470(); - input += synapse0x1e960180(); - input += synapse0x1e8a2190(); - input += synapse0x1e959d60(); - input += synapse0x1e959da0(); - input += synapse0x1e959de0(); - input += synapse0x1e959e20(); - return input; -} - -double ldNNEE::neuron0x1e95a4f0() { - double input = input0x1e95a4f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95a870() { - double input = 0.0424555; - input += synapse0x1e95abb0(); - input += synapse0x1e95abf0(); - input += synapse0x1e95ac30(); - input += synapse0x1e95ac70(); - input += synapse0x1e95acb0(); - input += synapse0x1e95acf0(); - input += synapse0x1e95ad30(); - input += synapse0x1e95ad70(); - return input; -} - -double ldNNEE::neuron0x1e95a870() { - double input = input0x1e95a870(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95adb0() { - double input = 0.783657; - input += synapse0x1e95b0f0(); - input += synapse0x1e95b130(); - input += synapse0x1e95b170(); - input += synapse0x1e95b1b0(); - input += synapse0x1e95b1f0(); - input += synapse0x1e95b230(); - input += synapse0x1e95b270(); - input += synapse0x1e95b2b0(); - return input; -} - -double ldNNEE::neuron0x1e95adb0() { - double input = input0x1e95adb0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95b2f0() { - double input = -0.327327; - input += synapse0x1e95b630(); - input += synapse0x1e95b670(); - input += synapse0x1e95b6b0(); - input += synapse0x1e95b6f0(); - input += synapse0x1e95b730(); - input += synapse0x1e95b770(); - input += synapse0x1e95b7b0(); - input += synapse0x1e95b7f0(); - return input; -} - -double ldNNEE::neuron0x1e95b2f0() { - double input = input0x1e95b2f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95b830() { - double input = 2.23142; - input += synapse0x1e883a80(); - input += synapse0x1e883ac0(); - input += synapse0x1e89e980(); - input += synapse0x1e89e9c0(); - input += synapse0x1e89ea00(); - input += synapse0x1e89ea40(); - input += synapse0x1e89ea80(); - input += synapse0x1e89eac0(); - return input; -} - -double ldNNEE::neuron0x1e95b830() { - double input = input0x1e95b830(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95c090() { - double input = 2.37996; - input += synapse0x1e95c340(); - input += synapse0x1e95c380(); - input += synapse0x1e95c3c0(); - input += synapse0x1e95c400(); - input += synapse0x1e95c440(); - input += synapse0x1e95c480(); - input += synapse0x1e95c4c0(); - input += synapse0x1e95c500(); - return input; -} - -double ldNNEE::neuron0x1e95c090() { - double input = input0x1e95c090(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95c540() { - double input = -0.959941; - input += synapse0x1e95c880(); - input += synapse0x1e95c8c0(); - input += synapse0x1e95c900(); - input += synapse0x1e95c940(); - input += synapse0x1e95c980(); - input += synapse0x1e95c9c0(); - input += synapse0x1e95ca00(); - input += synapse0x1e95ca40(); - input += synapse0x1e95ca80(); - input += synapse0x1e95cac0(); - return input; -} - -double ldNNEE::neuron0x1e95c540() { - double input = input0x1e95c540(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95cb00() { - double input = -0.0545535; - input += synapse0x1e95ce40(); - input += synapse0x1e95ce80(); - input += synapse0x1e95cec0(); - input += synapse0x1e95cf00(); - input += synapse0x1e95cf40(); - input += synapse0x1e95cf80(); - input += synapse0x1e95cfc0(); - input += synapse0x1e95d000(); - input += synapse0x1e95d040(); - input += synapse0x1e95d080(); - return input; -} - -double ldNNEE::neuron0x1e95cb00() { - double input = input0x1e95cb00(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95d0c0() { - double input = 0.108088; - input += synapse0x1e95d400(); - input += synapse0x1e95d440(); - input += synapse0x1e95d480(); - input += synapse0x1e95d4c0(); - input += synapse0x1e95d500(); - input += synapse0x1e95d540(); - input += synapse0x1e95d580(); - input += synapse0x1e95d5c0(); - input += synapse0x1e95d600(); - input += synapse0x1e95d640(); - return input; -} - -double ldNNEE::neuron0x1e95d0c0() { - double input = input0x1e95d0c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95d680() { - double input = -0.0100983; - input += synapse0x1e95d9c0(); - input += synapse0x1e95da00(); - input += synapse0x1e95da40(); - input += synapse0x1e95da80(); - input += synapse0x1e95dac0(); - input += synapse0x1e95db00(); - input += synapse0x1e95db40(); - input += synapse0x1e95db80(); - input += synapse0x1e95dbc0(); - input += synapse0x1e95dc00(); - return input; -} - -double ldNNEE::neuron0x1e95d680() { - double input = input0x1e95d680(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95dc40() { - double input = -0.534084; - input += synapse0x1e95df80(); - input += synapse0x1e95dfc0(); - input += synapse0x1e95e000(); - input += synapse0x1e95e040(); - input += synapse0x1e95e080(); - input += synapse0x1e95e0c0(); - input += synapse0x1e95e100(); - input += synapse0x1e95e140(); - input += synapse0x1e95e180(); - input += synapse0x1e95bc80(); - return input; -} - -double ldNNEE::neuron0x1e95dc40() { - double input = input0x1e95dc40(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ldNNEE::input0x1e95bcc0() { - double input = -1.46932; - input += synapse0x1e95c000(); - input += synapse0x1e95c040(); - input += synapse0x1e958f40(); - input += synapse0x1e958f80(); - input += synapse0x1e958fc0(); - return input; -} - -double ldNNEE::neuron0x1e95bcc0() { - double input = input0x1e95bcc0(); - return (input * 1)+0; -} - -double ldNNEE::synapse0x1e8b7880() { - return (neuron0x1e957540()*1.46564); -} - -double ldNNEE::synapse0x1e960140() { - return (neuron0x1e957880()*0.428584); -} - -double ldNNEE::synapse0x1e959320() { - return (neuron0x1e957bc0()*0.582542); -} - -double ldNNEE::synapse0x1e959360() { - return (neuron0x1e957f00()*-0.787778); -} - -double ldNNEE::synapse0x1e9593a0() { - return (neuron0x1e958240()*-1.76293); -} - -double ldNNEE::synapse0x1e9593e0() { - return (neuron0x1e958580()*0.173838); -} - -double ldNNEE::synapse0x1e959420() { - return (neuron0x1e9588c0()*-0.902033); -} - -double ldNNEE::synapse0x1e959460() { - return (neuron0x1e958c00()*-0.089348); -} - -double ldNNEE::synapse0x1e9597e0() { - return (neuron0x1e957540()*1.41247); -} - -double ldNNEE::synapse0x1e959820() { - return (neuron0x1e957880()*-0.042349); -} - -double ldNNEE::synapse0x1e959860() { - return (neuron0x1e957bc0()*-0.7785); -} - -double ldNNEE::synapse0x1e9598a0() { - return (neuron0x1e957f00()*-0.210301); -} - -double ldNNEE::synapse0x1e9598e0() { - return (neuron0x1e958240()*-1.17315); -} - -double ldNNEE::synapse0x1e959920() { - return (neuron0x1e958580()*-0.195878); -} - -double ldNNEE::synapse0x1e959960() { - return (neuron0x1e9588c0()*1.3596); -} - -double ldNNEE::synapse0x1e9599a0() { - return (neuron0x1e958c00()*1.28309); -} - -double ldNNEE::synapse0x1e959d20() { - return (neuron0x1e957540()*1.15124); -} - -double ldNNEE::synapse0x1e885e20() { - return (neuron0x1e957880()*-0.0668577); -} - -double ldNNEE::synapse0x1e885e60() { - return (neuron0x1e957bc0()*0.408767); -} - -double ldNNEE::synapse0x1e959e70() { - return (neuron0x1e957f00()*-0.383822); -} - -double ldNNEE::synapse0x1e959eb0() { - return (neuron0x1e958240()*-0.350844); -} - -double ldNNEE::synapse0x1e959ef0() { - return (neuron0x1e958580()*-0.658633); -} - -double ldNNEE::synapse0x1e959f30() { - return (neuron0x1e9588c0()*0.253153); -} - -double ldNNEE::synapse0x1e959f70() { - return (neuron0x1e958c00()*0.450355); -} - -double ldNNEE::synapse0x1e95a2f0() { - return (neuron0x1e957540()*0.533386); -} - -double ldNNEE::synapse0x1e95a330() { - return (neuron0x1e957880()*-0.0825323); -} - -double ldNNEE::synapse0x1e95a370() { - return (neuron0x1e957bc0()*-0.690911); -} - -double ldNNEE::synapse0x1e95a3b0() { - return (neuron0x1e957f00()*0.216972); -} - -double ldNNEE::synapse0x1e95a3f0() { - return (neuron0x1e958240()*0.753513); -} - -double ldNNEE::synapse0x1e95a430() { - return (neuron0x1e958580()*0.0971258); -} - -double ldNNEE::synapse0x1e95a470() { - return (neuron0x1e9588c0()*0.355891); -} - -double ldNNEE::synapse0x1e95a4b0() { - return (neuron0x1e958c00()*0.62749); -} - -double ldNNEE::synapse0x1e95a830() { - return (neuron0x1e957540()*2.40699); -} - -double ldNNEE::synapse0x1e957470() { - return (neuron0x1e957880()*-1.59664); -} - -double ldNNEE::synapse0x1e960180() { - return (neuron0x1e957bc0()*-0.865839); -} - -double ldNNEE::synapse0x1e8a2190() { - return (neuron0x1e957f00()*-1.03403); -} - -double ldNNEE::synapse0x1e959d60() { - return (neuron0x1e958240()*-0.0327801); -} - -double ldNNEE::synapse0x1e959da0() { - return (neuron0x1e958580()*-0.883803); -} - -double ldNNEE::synapse0x1e959de0() { - return (neuron0x1e9588c0()*0.919519); -} - -double ldNNEE::synapse0x1e959e20() { - return (neuron0x1e958c00()*1.463); -} - -double ldNNEE::synapse0x1e95abb0() { - return (neuron0x1e957540()*-0.0746568); -} - -double ldNNEE::synapse0x1e95abf0() { - return (neuron0x1e957880()*-0.332818); -} - -double ldNNEE::synapse0x1e95ac30() { - return (neuron0x1e957bc0()*-1.35063); -} - -double ldNNEE::synapse0x1e95ac70() { - return (neuron0x1e957f00()*0.183133); -} - -double ldNNEE::synapse0x1e95acb0() { - return (neuron0x1e958240()*0.134358); -} - -double ldNNEE::synapse0x1e95acf0() { - return (neuron0x1e958580()*-0.491049); -} - -double ldNNEE::synapse0x1e95ad30() { - return (neuron0x1e9588c0()*1.64453); -} - -double ldNNEE::synapse0x1e95ad70() { - return (neuron0x1e958c00()*0.67541); -} - -double ldNNEE::synapse0x1e95b0f0() { - return (neuron0x1e957540()*0.434697); -} - -double ldNNEE::synapse0x1e95b130() { - return (neuron0x1e957880()*-0.360692); -} - -double ldNNEE::synapse0x1e95b170() { - return (neuron0x1e957bc0()*0.217958); -} - -double ldNNEE::synapse0x1e95b1b0() { - return (neuron0x1e957f00()*0.0690149); -} - -double ldNNEE::synapse0x1e95b1f0() { - return (neuron0x1e958240()*1.07911); -} - -double ldNNEE::synapse0x1e95b230() { - return (neuron0x1e958580()*0.461768); -} - -double ldNNEE::synapse0x1e95b270() { - return (neuron0x1e9588c0()*-0.778333); -} - -double ldNNEE::synapse0x1e95b2b0() { - return (neuron0x1e958c00()*-1.37221); -} - -double ldNNEE::synapse0x1e95b630() { - return (neuron0x1e957540()*-0.885185); -} - -double ldNNEE::synapse0x1e95b670() { - return (neuron0x1e957880()*-0.146735); -} - -double ldNNEE::synapse0x1e95b6b0() { - return (neuron0x1e957bc0()*1.0352); -} - -double ldNNEE::synapse0x1e95b6f0() { - return (neuron0x1e957f00()*0.00272632); -} - -double ldNNEE::synapse0x1e95b730() { - return (neuron0x1e958240()*0.761924); -} - -double ldNNEE::synapse0x1e95b770() { - return (neuron0x1e958580()*0.0672013); -} - -double ldNNEE::synapse0x1e95b7b0() { - return (neuron0x1e9588c0()*-0.640816); -} - -double ldNNEE::synapse0x1e95b7f0() { - return (neuron0x1e958c00()*-0.691704); -} - -double ldNNEE::synapse0x1e883a80() { - return (neuron0x1e957540()*-0.384238); -} - -double ldNNEE::synapse0x1e883ac0() { - return (neuron0x1e957880()*0.397007); -} - -double ldNNEE::synapse0x1e89e980() { - return (neuron0x1e957bc0()*-0.39839); -} - -double ldNNEE::synapse0x1e89e9c0() { - return (neuron0x1e957f00()*-0.00745285); -} - -double ldNNEE::synapse0x1e89ea00() { - return (neuron0x1e958240()*-0.413446); -} - -double ldNNEE::synapse0x1e89ea40() { - return (neuron0x1e958580()*-0.243978); -} - -double ldNNEE::synapse0x1e89ea80() { - return (neuron0x1e9588c0()*-0.500086); -} - -double ldNNEE::synapse0x1e89eac0() { - return (neuron0x1e958c00()*-0.178044); -} - -double ldNNEE::synapse0x1e95c340() { - return (neuron0x1e957540()*-0.323586); -} - -double ldNNEE::synapse0x1e95c380() { - return (neuron0x1e957880()*0.501998); -} - -double ldNNEE::synapse0x1e95c3c0() { - return (neuron0x1e957bc0()*1.51388); -} - -double ldNNEE::synapse0x1e95c400() { - return (neuron0x1e957f00()*-0.879529); -} - -double ldNNEE::synapse0x1e95c440() { - return (neuron0x1e958240()*-0.805979); -} - -double ldNNEE::synapse0x1e95c480() { - return (neuron0x1e958580()*-0.461876); -} - -double ldNNEE::synapse0x1e95c4c0() { - return (neuron0x1e9588c0()*0.0814574); -} - -double ldNNEE::synapse0x1e95c500() { - return (neuron0x1e958c00()*0.690482); -} - -double ldNNEE::synapse0x1e95c880() { - return (neuron0x1e959070()*-0.92281); -} - -double ldNNEE::synapse0x1e95c8c0() { - return (neuron0x1e9594a0()*-1.65121); -} - -double ldNNEE::synapse0x1e95c900() { - return (neuron0x1e9599e0()*1.7076); -} - -double ldNNEE::synapse0x1e95c940() { - return (neuron0x1e959fb0()*0.799588); -} - -double ldNNEE::synapse0x1e95c980() { - return (neuron0x1e95a4f0()*-1.21932); -} - -double ldNNEE::synapse0x1e95c9c0() { - return (neuron0x1e95a870()*-0.265466); -} - -double ldNNEE::synapse0x1e95ca00() { - return (neuron0x1e95adb0()*1.20421); -} - -double ldNNEE::synapse0x1e95ca40() { - return (neuron0x1e95b2f0()*0.585932); -} - -double ldNNEE::synapse0x1e95ca80() { - return (neuron0x1e95b830()*-1.8946); -} - -double ldNNEE::synapse0x1e95cac0() { - return (neuron0x1e95c090()*1.08486); -} - -double ldNNEE::synapse0x1e95ce40() { - return (neuron0x1e959070()*0.764949); -} - -double ldNNEE::synapse0x1e95ce80() { - return (neuron0x1e9594a0()*-1.77857); -} - -double ldNNEE::synapse0x1e95cec0() { - return (neuron0x1e9599e0()*-1.44957); -} - -double ldNNEE::synapse0x1e95cf00() { - return (neuron0x1e959fb0()*-1.41676); -} - -double ldNNEE::synapse0x1e95cf40() { - return (neuron0x1e95a4f0()*-0.458544); -} - -double ldNNEE::synapse0x1e95cf80() { - return (neuron0x1e95a870()*0.528898); -} - -double ldNNEE::synapse0x1e95cfc0() { - return (neuron0x1e95adb0()*-0.750037); -} - -double ldNNEE::synapse0x1e95d000() { - return (neuron0x1e95b2f0()*-0.764525); -} - -double ldNNEE::synapse0x1e95d040() { - return (neuron0x1e95b830()*0.371361); -} - -double ldNNEE::synapse0x1e95d080() { - return (neuron0x1e95c090()*-0.399181); -} - -double ldNNEE::synapse0x1e95d400() { - return (neuron0x1e959070()*-0.376096); -} - -double ldNNEE::synapse0x1e95d440() { - return (neuron0x1e9594a0()*0.137658); -} - -double ldNNEE::synapse0x1e95d480() { - return (neuron0x1e9599e0()*0.298105); -} - -double ldNNEE::synapse0x1e95d4c0() { - return (neuron0x1e959fb0()*0.105747); -} - -double ldNNEE::synapse0x1e95d500() { - return (neuron0x1e95a4f0()*-0.738776); -} - -double ldNNEE::synapse0x1e95d540() { - return (neuron0x1e95a870()*-0.216621); -} - -double ldNNEE::synapse0x1e95d580() { - return (neuron0x1e95adb0()*0.522074); -} - -double ldNNEE::synapse0x1e95d5c0() { - return (neuron0x1e95b2f0()*-0.133003); -} - -double ldNNEE::synapse0x1e95d600() { - return (neuron0x1e95b830()*-0.116397); -} - -double ldNNEE::synapse0x1e95d640() { - return (neuron0x1e95c090()*0.643543); -} - -double ldNNEE::synapse0x1e95d9c0() { - return (neuron0x1e959070()*-0.684852); -} - -double ldNNEE::synapse0x1e95da00() { - return (neuron0x1e9594a0()*0.556556); -} - -double ldNNEE::synapse0x1e95da40() { - return (neuron0x1e9599e0()*1.16285); -} - -double ldNNEE::synapse0x1e95da80() { - return (neuron0x1e959fb0()*1.13189); -} - -double ldNNEE::synapse0x1e95dac0() { - return (neuron0x1e95a4f0()*-1.5021); -} - -double ldNNEE::synapse0x1e95db00() { - return (neuron0x1e95a870()*-0.509703); -} - -double ldNNEE::synapse0x1e95db40() { - return (neuron0x1e95adb0()*0.980433); -} - -double ldNNEE::synapse0x1e95db80() { - return (neuron0x1e95b2f0()*0.240291); -} - -double ldNNEE::synapse0x1e95dbc0() { - return (neuron0x1e95b830()*-1.16458); -} - -double ldNNEE::synapse0x1e95dc00() { - return (neuron0x1e95c090()*0.598338); -} - -double ldNNEE::synapse0x1e95df80() { - return (neuron0x1e959070()*-1.05336); -} - -double ldNNEE::synapse0x1e95dfc0() { - return (neuron0x1e9594a0()*0.897677); -} - -double ldNNEE::synapse0x1e95e000() { - return (neuron0x1e9599e0()*2.32913); -} - -double ldNNEE::synapse0x1e95e040() { - return (neuron0x1e959fb0()*0.837162); -} - -double ldNNEE::synapse0x1e95e080() { - return (neuron0x1e95a4f0()*0.0385715); -} - -double ldNNEE::synapse0x1e95e0c0() { - return (neuron0x1e95a870()*-1.22258); -} - -double ldNNEE::synapse0x1e95e100() { - return (neuron0x1e95adb0()*0.946005); -} - -double ldNNEE::synapse0x1e95e140() { - return (neuron0x1e95b2f0()*1.22504); -} - -double ldNNEE::synapse0x1e95e180() { - return (neuron0x1e95b830()*-1.85501); -} - -double ldNNEE::synapse0x1e95bc80() { - return (neuron0x1e95c090()*1.77983); -} - -double ldNNEE::synapse0x1e95c000() { - return (neuron0x1e95c540()*4.10013); -} - -double ldNNEE::synapse0x1e95c040() { - return (neuron0x1e95cb00()*-3.6466); -} - -double ldNNEE::synapse0x1e958f40() { - return (neuron0x1e95d0c0()*-0.333399); -} - -double ldNNEE::synapse0x1e958f80() { - return (neuron0x1e95d680()*1.42134); -} - -double ldNNEE::synapse0x1e958fc0() { - return (neuron0x1e95dc40()*3.14812); -} - -double llNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.99102)/1.1492; - input1 = (in1 - 2.40353)/1.40003; - input2 = (in2 - 2.42657)/1.40629; - input3 = (in3 - 2.42619)/1.40466; - input4 = (in4 - 1.33856)/1.28698; - input5 = (in5 - 1.33177)/1.28879; - input6 = (in6 - 1.33367)/1.29347; - input7 = (in7 - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x13016bc0(); - default: - return 0.; - } -} - -double llNNEE::Value(int index, double* input) { - input0 = (input[0] - 4.99102)/1.1492; - input1 = (input[1] - 2.40353)/1.40003; - input2 = (input[2] - 2.42657)/1.40629; - input3 = (input[3] - 2.42619)/1.40466; - input4 = (input[4] - 1.33856)/1.28698; - input5 = (input[5] - 1.33177)/1.28879; - input6 = (input[6] - 1.33367)/1.29347; - input7 = (input[7] - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x13016bc0(); - default: - return 0.; - } -} - -double llNNEE::neuron0x13012440() { - return input0; -} - -double llNNEE::neuron0x13012780() { - return input1; -} - -double llNNEE::neuron0x13012ac0() { - return input2; -} - -double llNNEE::neuron0x13012e00() { - return input3; -} - -double llNNEE::neuron0x13013140() { - return input4; -} - -double llNNEE::neuron0x13013480() { - return input5; -} - -double llNNEE::neuron0x130137c0() { - return input6; -} - -double llNNEE::neuron0x13013b00() { - return input7; -} - -double llNNEE::input0x13013f70() { - double input = 0.900227; - input += synapse0x12f72780(); - input += synapse0x1301b040(); - input += synapse0x13014220(); - input += synapse0x13014260(); - input += synapse0x130142a0(); - input += synapse0x130142e0(); - input += synapse0x13014320(); - input += synapse0x13014360(); - return input; -} - -double llNNEE::neuron0x13013f70() { - double input = input0x13013f70(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x130143a0() { - double input = -0.566678; - input += synapse0x130146e0(); - input += synapse0x13014720(); - input += synapse0x13014760(); - input += synapse0x130147a0(); - input += synapse0x130147e0(); - input += synapse0x13014820(); - input += synapse0x13014860(); - input += synapse0x130148a0(); - return input; -} - -double llNNEE::neuron0x130143a0() { - double input = input0x130143a0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x130148e0() { - double input = 0.272189; - input += synapse0x13014c20(); - input += synapse0x12f40d20(); - input += synapse0x12f40d60(); - input += synapse0x13014d70(); - input += synapse0x13014db0(); - input += synapse0x13014df0(); - input += synapse0x13014e30(); - input += synapse0x13014e70(); - return input; -} - -double llNNEE::neuron0x130148e0() { - double input = input0x130148e0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13014eb0() { - double input = -0.907915; - input += synapse0x130151f0(); - input += synapse0x13015230(); - input += synapse0x13015270(); - input += synapse0x130152b0(); - input += synapse0x130152f0(); - input += synapse0x13015330(); - input += synapse0x13015370(); - input += synapse0x130153b0(); - return input; -} - -double llNNEE::neuron0x13014eb0() { - double input = input0x13014eb0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x130153f0() { - double input = -1.00744; - input += synapse0x13015730(); - input += synapse0x13012370(); - input += synapse0x1301b080(); - input += synapse0x12f5d090(); - input += synapse0x13014c60(); - input += synapse0x13014ca0(); - input += synapse0x13014ce0(); - input += synapse0x13014d20(); - return input; -} - -double llNNEE::neuron0x130153f0() { - double input = input0x130153f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13015770() { - double input = 0.396889; - input += synapse0x13015ab0(); - input += synapse0x13015af0(); - input += synapse0x13015b30(); - input += synapse0x13015b70(); - input += synapse0x13015bb0(); - input += synapse0x13015bf0(); - input += synapse0x13015c30(); - input += synapse0x13015c70(); - return input; -} - -double llNNEE::neuron0x13015770() { - double input = input0x13015770(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13015cb0() { - double input = -1.18242; - input += synapse0x13015ff0(); - input += synapse0x13016030(); - input += synapse0x13016070(); - input += synapse0x130160b0(); - input += synapse0x130160f0(); - input += synapse0x13016130(); - input += synapse0x13016170(); - input += synapse0x130161b0(); - return input; -} - -double llNNEE::neuron0x13015cb0() { - double input = input0x13015cb0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x130161f0() { - double input = 0.882358; - input += synapse0x13016530(); - input += synapse0x13016570(); - input += synapse0x130165b0(); - input += synapse0x130165f0(); - input += synapse0x13016630(); - input += synapse0x13016670(); - input += synapse0x130166b0(); - input += synapse0x130166f0(); - return input; -} - -double llNNEE::neuron0x130161f0() { - double input = input0x130161f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13016730() { - double input = 1.01806; - input += synapse0x12f3e980(); - input += synapse0x12f3e9c0(); - input += synapse0x12f59880(); - input += synapse0x12f598c0(); - input += synapse0x12f59900(); - input += synapse0x12f59940(); - input += synapse0x12f59980(); - input += synapse0x12f599c0(); - return input; -} - -double llNNEE::neuron0x13016730() { - double input = input0x13016730(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13016f90() { - double input = 0.855648; - input += synapse0x13017240(); - input += synapse0x13017280(); - input += synapse0x130172c0(); - input += synapse0x13017300(); - input += synapse0x13017340(); - input += synapse0x13017380(); - input += synapse0x130173c0(); - input += synapse0x13017400(); - return input; -} - -double llNNEE::neuron0x13016f90() { - double input = input0x13016f90(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13017440() { - double input = -1.64745; - input += synapse0x13017780(); - input += synapse0x130177c0(); - input += synapse0x13017800(); - input += synapse0x13017840(); - input += synapse0x13017880(); - input += synapse0x130178c0(); - input += synapse0x13017900(); - input += synapse0x13017940(); - input += synapse0x13017980(); - input += synapse0x130179c0(); - return input; -} - -double llNNEE::neuron0x13017440() { - double input = input0x13017440(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13017a00() { - double input = 0.502623; - input += synapse0x13017d40(); - input += synapse0x13017d80(); - input += synapse0x13017dc0(); - input += synapse0x13017e00(); - input += synapse0x13017e40(); - input += synapse0x13017e80(); - input += synapse0x13017ec0(); - input += synapse0x13017f00(); - input += synapse0x13017f40(); - input += synapse0x13017f80(); - return input; -} - -double llNNEE::neuron0x13017a00() { - double input = input0x13017a00(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13017fc0() { - double input = 1.05585; - input += synapse0x13018300(); - input += synapse0x13018340(); - input += synapse0x13018380(); - input += synapse0x130183c0(); - input += synapse0x13018400(); - input += synapse0x13018440(); - input += synapse0x13018480(); - input += synapse0x130184c0(); - input += synapse0x13018500(); - input += synapse0x13018540(); - return input; -} - -double llNNEE::neuron0x13017fc0() { - double input = input0x13017fc0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13018580() { - double input = 0.709421; - input += synapse0x130188c0(); - input += synapse0x13018900(); - input += synapse0x13018940(); - input += synapse0x13018980(); - input += synapse0x130189c0(); - input += synapse0x13018a00(); - input += synapse0x13018a40(); - input += synapse0x13018a80(); - input += synapse0x13018ac0(); - input += synapse0x13018b00(); - return input; -} - -double llNNEE::neuron0x13018580() { - double input = input0x13018580(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13018b40() { - double input = -0.51613; - input += synapse0x13018e80(); - input += synapse0x13018ec0(); - input += synapse0x13018f00(); - input += synapse0x13018f40(); - input += synapse0x13018f80(); - input += synapse0x13018fc0(); - input += synapse0x13019000(); - input += synapse0x13019040(); - input += synapse0x13019080(); - input += synapse0x13016b80(); - return input; -} - -double llNNEE::neuron0x13018b40() { - double input = input0x13018b40(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double llNNEE::input0x13016bc0() { - double input = -1.55835; - input += synapse0x13016f00(); - input += synapse0x13016f40(); - input += synapse0x13013e40(); - input += synapse0x13013e80(); - input += synapse0x13013ec0(); - return input; -} - -double llNNEE::neuron0x13016bc0() { - double input = input0x13016bc0(); - return (input * 1)+0; -} - -double llNNEE::synapse0x12f72780() { - return (neuron0x13012440()*0.972565); -} - -double llNNEE::synapse0x1301b040() { - return (neuron0x13012780()*-0.186841); -} - -double llNNEE::synapse0x13014220() { - return (neuron0x13012ac0()*-0.675938); -} - -double llNNEE::synapse0x13014260() { - return (neuron0x13012e00()*0.921684); -} - -double llNNEE::synapse0x130142a0() { - return (neuron0x13013140()*-0.0250039); -} - -double llNNEE::synapse0x130142e0() { - return (neuron0x13013480()*-0.0829526); -} - -double llNNEE::synapse0x13014320() { - return (neuron0x130137c0()*0.641632); -} - -double llNNEE::synapse0x13014360() { - return (neuron0x13013b00()*-1.18715); -} - -double llNNEE::synapse0x130146e0() { - return (neuron0x13012440()*1.73331); -} - -double llNNEE::synapse0x13014720() { - return (neuron0x13012780()*-0.556065); -} - -double llNNEE::synapse0x13014760() { - return (neuron0x13012ac0()*0.501218); -} - -double llNNEE::synapse0x130147a0() { - return (neuron0x13012e00()*1.02699); -} - -double llNNEE::synapse0x130147e0() { - return (neuron0x13013140()*-0.523322); -} - -double llNNEE::synapse0x13014820() { - return (neuron0x13013480()*0.0387328); -} - -double llNNEE::synapse0x13014860() { - return (neuron0x130137c0()*0.270953); -} - -double llNNEE::synapse0x130148a0() { - return (neuron0x13013b00()*-3.38283); -} - -double llNNEE::synapse0x13014c20() { - return (neuron0x13012440()*0.429829); -} - -double llNNEE::synapse0x12f40d20() { - return (neuron0x13012780()*-0.215613); -} - -double llNNEE::synapse0x12f40d60() { - return (neuron0x13012ac0()*-2.95853); -} - -double llNNEE::synapse0x13014d70() { - return (neuron0x13012e00()*-0.0254754); -} - -double llNNEE::synapse0x13014db0() { - return (neuron0x13013140()*0.408803); -} - -double llNNEE::synapse0x13014df0() { - return (neuron0x13013480()*-0.229918); -} - -double llNNEE::synapse0x13014e30() { - return (neuron0x130137c0()*2.08506); -} - -double llNNEE::synapse0x13014e70() { - return (neuron0x13013b00()*-0.0131537); -} - -double llNNEE::synapse0x130151f0() { - return (neuron0x13012440()*0.746666); -} - -double llNNEE::synapse0x13015230() { - return (neuron0x13012780()*-1.13844); -} - -double llNNEE::synapse0x13015270() { - return (neuron0x13012ac0()*-0.20628); -} - -double llNNEE::synapse0x130152b0() { - return (neuron0x13012e00()*0.689589); -} - -double llNNEE::synapse0x130152f0() { - return (neuron0x13013140()*0.0139899); -} - -double llNNEE::synapse0x13015330() { - return (neuron0x13013480()*-1.07008); -} - -double llNNEE::synapse0x13015370() { - return (neuron0x130137c0()*-0.451243); -} - -double llNNEE::synapse0x130153b0() { - return (neuron0x13013b00()*1.71738); -} - -double llNNEE::synapse0x13015730() { - return (neuron0x13012440()*-1.69868); -} - -double llNNEE::synapse0x13012370() { - return (neuron0x13012780()*-0.76067); -} - -double llNNEE::synapse0x1301b080() { - return (neuron0x13012ac0()*-0.269277); -} - -double llNNEE::synapse0x12f5d090() { - return (neuron0x13012e00()*-0.77228); -} - -double llNNEE::synapse0x13014c60() { - return (neuron0x13013140()*0.13292); -} - -double llNNEE::synapse0x13014ca0() { - return (neuron0x13013480()*-0.0801225); -} - -double llNNEE::synapse0x13014ce0() { - return (neuron0x130137c0()*1.50998); -} - -double llNNEE::synapse0x13014d20() { - return (neuron0x13013b00()*1.75937); -} - -double llNNEE::synapse0x13015ab0() { - return (neuron0x13012440()*0.632788); -} - -double llNNEE::synapse0x13015af0() { - return (neuron0x13012780()*0.144782); -} - -double llNNEE::synapse0x13015b30() { - return (neuron0x13012ac0()*0.558561); -} - -double llNNEE::synapse0x13015b70() { - return (neuron0x13012e00()*-1.76916); -} - -double llNNEE::synapse0x13015bb0() { - return (neuron0x13013140()*-0.409269); -} - -double llNNEE::synapse0x13015bf0() { - return (neuron0x13013480()*0.00840235); -} - -double llNNEE::synapse0x13015c30() { - return (neuron0x130137c0()*-0.796708); -} - -double llNNEE::synapse0x13015c70() { - return (neuron0x13013b00()*1.4515); -} - -double llNNEE::synapse0x13015ff0() { - return (neuron0x13012440()*1.22116); -} - -double llNNEE::synapse0x13016030() { - return (neuron0x13012780()*-0.489883); -} - -double llNNEE::synapse0x13016070() { - return (neuron0x13012ac0()*-0.730029); -} - -double llNNEE::synapse0x130160b0() { - return (neuron0x13012e00()*-1.37951); -} - -double llNNEE::synapse0x130160f0() { - return (neuron0x13013140()*1.18109); -} - -double llNNEE::synapse0x13016130() { - return (neuron0x13013480()*0.71902); -} - -double llNNEE::synapse0x13016170() { - return (neuron0x130137c0()*-0.0593575); -} - -double llNNEE::synapse0x130161b0() { - return (neuron0x13013b00()*-0.127015); -} - -double llNNEE::synapse0x13016530() { - return (neuron0x13012440()*-0.531685); -} - -double llNNEE::synapse0x13016570() { - return (neuron0x13012780()*0.458726); -} - -double llNNEE::synapse0x130165b0() { - return (neuron0x13012ac0()*-0.00391746); -} - -double llNNEE::synapse0x130165f0() { - return (neuron0x13012e00()*0.116965); -} - -double llNNEE::synapse0x13016630() { - return (neuron0x13013140()*-0.903644); -} - -double llNNEE::synapse0x13016670() { - return (neuron0x13013480()*0.129238); -} - -double llNNEE::synapse0x130166b0() { - return (neuron0x130137c0()*0.0490041); -} - -double llNNEE::synapse0x130166f0() { - return (neuron0x13013b00()*0.105892); -} - -double llNNEE::synapse0x12f3e980() { - return (neuron0x13012440()*-1.65312); -} - -double llNNEE::synapse0x12f3e9c0() { - return (neuron0x13012780()*0.376034); -} - -double llNNEE::synapse0x12f59880() { - return (neuron0x13012ac0()*-1.08633); -} - -double llNNEE::synapse0x12f598c0() { - return (neuron0x13012e00()*-0.43458); -} - -double llNNEE::synapse0x12f59900() { - return (neuron0x13013140()*-0.339381); -} - -double llNNEE::synapse0x12f59940() { - return (neuron0x13013480()*0.326537); -} - -double llNNEE::synapse0x12f59980() { - return (neuron0x130137c0()*3.81688); -} - -double llNNEE::synapse0x12f599c0() { - return (neuron0x13013b00()*-0.15933); -} - -double llNNEE::synapse0x13017240() { - return (neuron0x13012440()*-0.303486); -} - -double llNNEE::synapse0x13017280() { - return (neuron0x13012780()*0.176229); -} - -double llNNEE::synapse0x130172c0() { - return (neuron0x13012ac0()*-0.651793); -} - -double llNNEE::synapse0x13017300() { - return (neuron0x13012e00()*-0.109911); -} - -double llNNEE::synapse0x13017340() { - return (neuron0x13013140()*0.204654); -} - -double llNNEE::synapse0x13017380() { - return (neuron0x13013480()*-0.444645); -} - -double llNNEE::synapse0x130173c0() { - return (neuron0x130137c0()*0.323009); -} - -double llNNEE::synapse0x13017400() { - return (neuron0x13013b00()*-0.32932); -} - -double llNNEE::synapse0x13017780() { - return (neuron0x13013f70()*0.307842); -} - -double llNNEE::synapse0x130177c0() { - return (neuron0x130143a0()*-2.10435); -} - -double llNNEE::synapse0x13017800() { - return (neuron0x130148e0()*1.29426); -} - -double llNNEE::synapse0x13017840() { - return (neuron0x13014eb0()*-1.9263); -} - -double llNNEE::synapse0x13017880() { - return (neuron0x130153f0()*0.498768); -} - -double llNNEE::synapse0x130178c0() { - return (neuron0x13015770()*1.94302); -} - -double llNNEE::synapse0x13017900() { - return (neuron0x13015cb0()*-1.51854); -} - -double llNNEE::synapse0x13017940() { - return (neuron0x130161f0()*-1.5205); -} - -double llNNEE::synapse0x13017980() { - return (neuron0x13016730()*1.4293); -} - -double llNNEE::synapse0x130179c0() { - return (neuron0x13016f90()*-0.0628727); -} - -double llNNEE::synapse0x13017d40() { - return (neuron0x13013f70()*-0.936375); -} - -double llNNEE::synapse0x13017d80() { - return (neuron0x130143a0()*-1.01656); -} - -double llNNEE::synapse0x13017dc0() { - return (neuron0x130148e0()*-0.94244); -} - -double llNNEE::synapse0x13017e00() { - return (neuron0x13014eb0()*0.648178); -} - -double llNNEE::synapse0x13017e40() { - return (neuron0x130153f0()*-0.215294); -} - -double llNNEE::synapse0x13017e80() { - return (neuron0x13015770()*-0.0498091); -} - -double llNNEE::synapse0x13017ec0() { - return (neuron0x13015cb0()*-0.346044); -} - -double llNNEE::synapse0x13017f00() { - return (neuron0x130161f0()*2.10931); -} - -double llNNEE::synapse0x13017f40() { - return (neuron0x13016730()*-0.534627); -} - -double llNNEE::synapse0x13017f80() { - return (neuron0x13016f90()*0.378392); -} - -double llNNEE::synapse0x13018300() { - return (neuron0x13013f70()*2.48796); -} - -double llNNEE::synapse0x13018340() { - return (neuron0x130143a0()*-1.0624); -} - -double llNNEE::synapse0x13018380() { - return (neuron0x130148e0()*-1.35455); -} - -double llNNEE::synapse0x130183c0() { - return (neuron0x13014eb0()*1.03804); -} - -double llNNEE::synapse0x13018400() { - return (neuron0x130153f0()*-0.328661); -} - -double llNNEE::synapse0x13018440() { - return (neuron0x13015770()*1.41886); -} - -double llNNEE::synapse0x13018480() { - return (neuron0x13015cb0()*-0.705526); -} - -double llNNEE::synapse0x130184c0() { - return (neuron0x130161f0()*-0.536636); -} - -double llNNEE::synapse0x13018500() { - return (neuron0x13016730()*0.702937); -} - -double llNNEE::synapse0x13018540() { - return (neuron0x13016f90()*-1.11388); -} - -double llNNEE::synapse0x130188c0() { - return (neuron0x13013f70()*0.970495); -} - -double llNNEE::synapse0x13018900() { - return (neuron0x130143a0()*-1.02329); -} - -double llNNEE::synapse0x13018940() { - return (neuron0x130148e0()*-0.535743); -} - -double llNNEE::synapse0x13018980() { - return (neuron0x13014eb0()*0.184999); -} - -double llNNEE::synapse0x130189c0() { - return (neuron0x130153f0()*-0.0849754); -} - -double llNNEE::synapse0x13018a00() { - return (neuron0x13015770()*1.382); -} - -double llNNEE::synapse0x13018a40() { - return (neuron0x13015cb0()*-0.210058); -} - -double llNNEE::synapse0x13018a80() { - return (neuron0x130161f0()*-0.341471); -} - -double llNNEE::synapse0x13018ac0() { - return (neuron0x13016730()*-0.142899); -} - -double llNNEE::synapse0x13018b00() { - return (neuron0x13016f90()*-1.38485); -} - -double llNNEE::synapse0x13018e80() { - return (neuron0x13013f70()*0.831022); -} - -double llNNEE::synapse0x13018ec0() { - return (neuron0x130143a0()*0.340431); -} - -double llNNEE::synapse0x13018f00() { - return (neuron0x130148e0()*0.894314); -} - -double llNNEE::synapse0x13018f40() { - return (neuron0x13014eb0()*0.644547); -} - -double llNNEE::synapse0x13018f80() { - return (neuron0x130153f0()*1.17724); -} - -double llNNEE::synapse0x13018fc0() { - return (neuron0x13015770()*-0.0303256); -} - -double llNNEE::synapse0x13019000() { - return (neuron0x13015cb0()*-1.17792); -} - -double llNNEE::synapse0x13019040() { - return (neuron0x130161f0()*-0.662309); -} - -double llNNEE::synapse0x13019080() { - return (neuron0x13016730()*-0.295636); -} - -double llNNEE::synapse0x13016b80() { - return (neuron0x13016f90()*-2.16503); -} - -double llNNEE::synapse0x13016f00() { - return (neuron0x13017440()*3.71847); -} - -double llNNEE::synapse0x13016f40() { - return (neuron0x13017a00()*-2.82565); -} - -double llNNEE::synapse0x13013e40() { - return (neuron0x13017fc0()*3.13229); -} - -double llNNEE::synapse0x13013e80() { - return (neuron0x13018580()*2.1016); -} - -double llNNEE::synapse0x13013ec0() { - return (neuron0x13018b40()*4.08793); -} - -double luNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.99102)/1.1492; - input1 = (in1 - 2.40353)/1.40003; - input2 = (in2 - 2.41121)/1.41004; - input3 = (in3 - 2.42657)/1.40629; - input4 = (in4 - 2.42619)/1.40466; - input5 = (in5 - 1.33856)/1.28698; - input6 = (in6 - 1.33177)/1.28879; - input7 = (in7 - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x1d243c80(); - default: - return 0.; - } -} - -double luNNEE::Value(int index, double* input) { - input0 = (input[0] - 4.99102)/1.1492; - input1 = (input[1] - 2.40353)/1.40003; - input2 = (input[2] - 2.41121)/1.41004; - input3 = (input[3] - 2.42657)/1.40629; - input4 = (input[4] - 2.42619)/1.40466; - input5 = (input[5] - 1.33856)/1.28698; - input6 = (input[6] - 1.33177)/1.28879; - input7 = (input[7] - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x1d243c80(); - default: - return 0.; - } -} - -double luNNEE::neuron0x1d23f500() { - return input0; -} - -double luNNEE::neuron0x1d23f840() { - return input1; -} - -double luNNEE::neuron0x1d23fb80() { - return input2; -} - -double luNNEE::neuron0x1d23fec0() { - return input3; -} - -double luNNEE::neuron0x1d240200() { - return input4; -} - -double luNNEE::neuron0x1d240540() { - return input5; -} - -double luNNEE::neuron0x1d240880() { - return input6; -} - -double luNNEE::neuron0x1d240bc0() { - return input7; -} - -double luNNEE::input0x1d241030() { - double input = 1.882; - input += synapse0x1d19f840(); - input += synapse0x1d248100(); - input += synapse0x1d2412e0(); - input += synapse0x1d241320(); - input += synapse0x1d241360(); - input += synapse0x1d2413a0(); - input += synapse0x1d2413e0(); - input += synapse0x1d241420(); - return input; -} - -double luNNEE::neuron0x1d241030() { - double input = input0x1d241030(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d241460() { - double input = 1.23049; - input += synapse0x1d2417a0(); - input += synapse0x1d2417e0(); - input += synapse0x1d241820(); - input += synapse0x1d241860(); - input += synapse0x1d2418a0(); - input += synapse0x1d2418e0(); - input += synapse0x1d241920(); - input += synapse0x1d241960(); - return input; -} - -double luNNEE::neuron0x1d241460() { - double input = input0x1d241460(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d2419a0() { - double input = 0.649317; - input += synapse0x1d241ce0(); - input += synapse0x1d16dde0(); - input += synapse0x1d16de20(); - input += synapse0x1d241e30(); - input += synapse0x1d241e70(); - input += synapse0x1d241eb0(); - input += synapse0x1d241ef0(); - input += synapse0x1d241f30(); - return input; -} - -double luNNEE::neuron0x1d2419a0() { - double input = input0x1d2419a0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d241f70() { - double input = -0.288646; - input += synapse0x1d2422b0(); - input += synapse0x1d2422f0(); - input += synapse0x1d242330(); - input += synapse0x1d242370(); - input += synapse0x1d2423b0(); - input += synapse0x1d2423f0(); - input += synapse0x1d242430(); - input += synapse0x1d242470(); - return input; -} - -double luNNEE::neuron0x1d241f70() { - double input = input0x1d241f70(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d2424b0() { - double input = 1.72265; - input += synapse0x1d2427f0(); - input += synapse0x1d23f430(); - input += synapse0x1d248140(); - input += synapse0x1d18a150(); - input += synapse0x1d241d20(); - input += synapse0x1d241d60(); - input += synapse0x1d241da0(); - input += synapse0x1d241de0(); - return input; -} - -double luNNEE::neuron0x1d2424b0() { - double input = input0x1d2424b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d242830() { - double input = 0.45399; - input += synapse0x1d242b70(); - input += synapse0x1d242bb0(); - input += synapse0x1d242bf0(); - input += synapse0x1d242c30(); - input += synapse0x1d242c70(); - input += synapse0x1d242cb0(); - input += synapse0x1d242cf0(); - input += synapse0x1d242d30(); - return input; -} - -double luNNEE::neuron0x1d242830() { - double input = input0x1d242830(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d242d70() { - double input = 1.79327; - input += synapse0x1d2430b0(); - input += synapse0x1d2430f0(); - input += synapse0x1d243130(); - input += synapse0x1d243170(); - input += synapse0x1d2431b0(); - input += synapse0x1d2431f0(); - input += synapse0x1d243230(); - input += synapse0x1d243270(); - return input; -} - -double luNNEE::neuron0x1d242d70() { - double input = input0x1d242d70(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d2432b0() { - double input = -1.3481; - input += synapse0x1d2435f0(); - input += synapse0x1d243630(); - input += synapse0x1d243670(); - input += synapse0x1d2436b0(); - input += synapse0x1d2436f0(); - input += synapse0x1d243730(); - input += synapse0x1d243770(); - input += synapse0x1d2437b0(); - return input; -} - -double luNNEE::neuron0x1d2432b0() { - double input = input0x1d2432b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d2437f0() { - double input = 2.24534; - input += synapse0x1d16ba40(); - input += synapse0x1d16ba80(); - input += synapse0x1d186940(); - input += synapse0x1d186980(); - input += synapse0x1d1869c0(); - input += synapse0x1d186a00(); - input += synapse0x1d186a40(); - input += synapse0x1d186a80(); - return input; -} - -double luNNEE::neuron0x1d2437f0() { - double input = input0x1d2437f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d244050() { - double input = -1.10491; - input += synapse0x1d244300(); - input += synapse0x1d244340(); - input += synapse0x1d244380(); - input += synapse0x1d2443c0(); - input += synapse0x1d244400(); - input += synapse0x1d244440(); - input += synapse0x1d244480(); - input += synapse0x1d2444c0(); - return input; -} - -double luNNEE::neuron0x1d244050() { - double input = input0x1d244050(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d244500() { - double input = 0.086249; - input += synapse0x1d244840(); - input += synapse0x1d244880(); - input += synapse0x1d2448c0(); - input += synapse0x1d244900(); - input += synapse0x1d244940(); - input += synapse0x1d244980(); - input += synapse0x1d2449c0(); - input += synapse0x1d244a00(); - input += synapse0x1d244a40(); - input += synapse0x1d244a80(); - return input; -} - -double luNNEE::neuron0x1d244500() { - double input = input0x1d244500(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d244ac0() { - double input = 0.536111; - input += synapse0x1d244e00(); - input += synapse0x1d244e40(); - input += synapse0x1d244e80(); - input += synapse0x1d244ec0(); - input += synapse0x1d244f00(); - input += synapse0x1d244f40(); - input += synapse0x1d244f80(); - input += synapse0x1d244fc0(); - input += synapse0x1d245000(); - input += synapse0x1d245040(); - return input; -} - -double luNNEE::neuron0x1d244ac0() { - double input = input0x1d244ac0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d245080() { - double input = 1.05668; - input += synapse0x1d2453c0(); - input += synapse0x1d245400(); - input += synapse0x1d245440(); - input += synapse0x1d245480(); - input += synapse0x1d2454c0(); - input += synapse0x1d245500(); - input += synapse0x1d245540(); - input += synapse0x1d245580(); - input += synapse0x1d2455c0(); - input += synapse0x1d245600(); - return input; -} - -double luNNEE::neuron0x1d245080() { - double input = input0x1d245080(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d245640() { - double input = 0.63205; - input += synapse0x1d245980(); - input += synapse0x1d2459c0(); - input += synapse0x1d245a00(); - input += synapse0x1d245a40(); - input += synapse0x1d245a80(); - input += synapse0x1d245ac0(); - input += synapse0x1d245b00(); - input += synapse0x1d245b40(); - input += synapse0x1d245b80(); - input += synapse0x1d245bc0(); - return input; -} - -double luNNEE::neuron0x1d245640() { - double input = input0x1d245640(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d245c00() { - double input = 0.23401; - input += synapse0x1d245f40(); - input += synapse0x1d245f80(); - input += synapse0x1d245fc0(); - input += synapse0x1d246000(); - input += synapse0x1d246040(); - input += synapse0x1d246080(); - input += synapse0x1d2460c0(); - input += synapse0x1d246100(); - input += synapse0x1d246140(); - input += synapse0x1d243c40(); - return input; -} - -double luNNEE::neuron0x1d245c00() { - double input = input0x1d245c00(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double luNNEE::input0x1d243c80() { - double input = -1.22764; - input += synapse0x1d243fc0(); - input += synapse0x1d244000(); - input += synapse0x1d240f00(); - input += synapse0x1d240f40(); - input += synapse0x1d240f80(); - return input; -} - -double luNNEE::neuron0x1d243c80() { - double input = input0x1d243c80(); - return (input * 1)+0; -} - -double luNNEE::synapse0x1d19f840() { - return (neuron0x1d23f500()*-0.92939); -} - -double luNNEE::synapse0x1d248100() { - return (neuron0x1d23f840()*0.320184); -} - -double luNNEE::synapse0x1d2412e0() { - return (neuron0x1d23fb80()*0.932357); -} - -double luNNEE::synapse0x1d241320() { - return (neuron0x1d23fec0()*-0.374119); -} - -double luNNEE::synapse0x1d241360() { - return (neuron0x1d240200()*-0.384557); -} - -double luNNEE::synapse0x1d2413a0() { - return (neuron0x1d240540()*0.753054); -} - -double luNNEE::synapse0x1d2413e0() { - return (neuron0x1d240880()*-0.36931); -} - -double luNNEE::synapse0x1d241420() { - return (neuron0x1d240bc0()*0.984306); -} - -double luNNEE::synapse0x1d2417a0() { - return (neuron0x1d23f500()*0.990952); -} - -double luNNEE::synapse0x1d2417e0() { - return (neuron0x1d23f840()*0.323254); -} - -double luNNEE::synapse0x1d241820() { - return (neuron0x1d23fb80()*0.242277); -} - -double luNNEE::synapse0x1d241860() { - return (neuron0x1d23fec0()*0.1361); -} - -double luNNEE::synapse0x1d2418a0() { - return (neuron0x1d240200()*0.19794); -} - -double luNNEE::synapse0x1d2418e0() { - return (neuron0x1d240540()*0.200274); -} - -double luNNEE::synapse0x1d241920() { - return (neuron0x1d240880()*-0.177756); -} - -double luNNEE::synapse0x1d241960() { - return (neuron0x1d240bc0()*0.210928); -} - -double luNNEE::synapse0x1d241ce0() { - return (neuron0x1d23f500()*0.663276); -} - -double luNNEE::synapse0x1d16dde0() { - return (neuron0x1d23f840()*0.198227); -} - -double luNNEE::synapse0x1d16de20() { - return (neuron0x1d23fb80()*-0.526768); -} - -double luNNEE::synapse0x1d241e30() { - return (neuron0x1d23fec0()*-0.59923); -} - -double luNNEE::synapse0x1d241e70() { - return (neuron0x1d240200()*0.152005); -} - -double luNNEE::synapse0x1d241eb0() { - return (neuron0x1d240540()*0.419226); -} - -double luNNEE::synapse0x1d241ef0() { - return (neuron0x1d240880()*-0.106808); -} - -double luNNEE::synapse0x1d241f30() { - return (neuron0x1d240bc0()*0.340483); -} - -double luNNEE::synapse0x1d2422b0() { - return (neuron0x1d23f500()*-1.26401); -} - -double luNNEE::synapse0x1d2422f0() { - return (neuron0x1d23f840()*-0.435347); -} - -double luNNEE::synapse0x1d242330() { - return (neuron0x1d23fb80()*-0.0244965); -} - -double luNNEE::synapse0x1d242370() { - return (neuron0x1d23fec0()*-0.726778); -} - -double luNNEE::synapse0x1d2423b0() { - return (neuron0x1d240200()*-0.0550666); -} - -double luNNEE::synapse0x1d2423f0() { - return (neuron0x1d240540()*-0.274861); -} - -double luNNEE::synapse0x1d242430() { - return (neuron0x1d240880()*-0.723293); -} - -double luNNEE::synapse0x1d242470() { - return (neuron0x1d240bc0()*-1.18553); -} - -double luNNEE::synapse0x1d2427f0() { - return (neuron0x1d23f500()*-1.09586); -} - -double luNNEE::synapse0x1d23f430() { - return (neuron0x1d23f840()*0.60971); -} - -double luNNEE::synapse0x1d248140() { - return (neuron0x1d23fb80()*-0.31137); -} - -double luNNEE::synapse0x1d18a150() { - return (neuron0x1d23fec0()*-0.711958); -} - -double luNNEE::synapse0x1d241d20() { - return (neuron0x1d240200()*0.487486); -} - -double luNNEE::synapse0x1d241d60() { - return (neuron0x1d240540()*0.0659214); -} - -double luNNEE::synapse0x1d241da0() { - return (neuron0x1d240880()*0.157566); -} - -double luNNEE::synapse0x1d241de0() { - return (neuron0x1d240bc0()*0.172181); -} - -double luNNEE::synapse0x1d242b70() { - return (neuron0x1d23f500()*0.535937); -} - -double luNNEE::synapse0x1d242bb0() { - return (neuron0x1d23f840()*-0.0465596); -} - -double luNNEE::synapse0x1d242bf0() { - return (neuron0x1d23fb80()*0.643086); -} - -double luNNEE::synapse0x1d242c30() { - return (neuron0x1d23fec0()*1.17476); -} - -double luNNEE::synapse0x1d242c70() { - return (neuron0x1d240200()*0.288662); -} - -double luNNEE::synapse0x1d242cb0() { - return (neuron0x1d240540()*-0.641959); -} - -double luNNEE::synapse0x1d242cf0() { - return (neuron0x1d240880()*0.537438); -} - -double luNNEE::synapse0x1d242d30() { - return (neuron0x1d240bc0()*-2.73611); -} - -double luNNEE::synapse0x1d2430b0() { - return (neuron0x1d23f500()*-0.366689); -} - -double luNNEE::synapse0x1d2430f0() { - return (neuron0x1d23f840()*-0.183007); -} - -double luNNEE::synapse0x1d243130() { - return (neuron0x1d23fb80()*-0.380738); -} - -double luNNEE::synapse0x1d243170() { - return (neuron0x1d23fec0()*-0.00161081); -} - -double luNNEE::synapse0x1d2431b0() { - return (neuron0x1d240200()*-0.18148); -} - -double luNNEE::synapse0x1d2431f0() { - return (neuron0x1d240540()*-0.557646); -} - -double luNNEE::synapse0x1d243230() { - return (neuron0x1d240880()*0.042859); -} - -double luNNEE::synapse0x1d243270() { - return (neuron0x1d240bc0()*-0.349465); -} - -double luNNEE::synapse0x1d2435f0() { - return (neuron0x1d23f500()*1.49823); -} - -double luNNEE::synapse0x1d243630() { - return (neuron0x1d23f840()*-1.15228); -} - -double luNNEE::synapse0x1d243670() { - return (neuron0x1d23fb80()*0.381668); -} - -double luNNEE::synapse0x1d2436b0() { - return (neuron0x1d23fec0()*0.363835); -} - -double luNNEE::synapse0x1d2436f0() { - return (neuron0x1d240200()*-1.34539); -} - -double luNNEE::synapse0x1d243730() { - return (neuron0x1d240540()*0.563932); -} - -double luNNEE::synapse0x1d243770() { - return (neuron0x1d240880()*-0.418145); -} - -double luNNEE::synapse0x1d2437b0() { - return (neuron0x1d240bc0()*0.480876); -} - -double luNNEE::synapse0x1d16ba40() { - return (neuron0x1d23f500()*-0.606071); -} - -double luNNEE::synapse0x1d16ba80() { - return (neuron0x1d23f840()*-1.29562); -} - -double luNNEE::synapse0x1d186940() { - return (neuron0x1d23fb80()*-1.32919); -} - -double luNNEE::synapse0x1d186980() { - return (neuron0x1d23fec0()*2.38038); -} - -double luNNEE::synapse0x1d1869c0() { - return (neuron0x1d240200()*1.1447); -} - -double luNNEE::synapse0x1d186a00() { - return (neuron0x1d240540()*0.428176); -} - -double luNNEE::synapse0x1d186a40() { - return (neuron0x1d240880()*-0.0504862); -} - -double luNNEE::synapse0x1d186a80() { - return (neuron0x1d240bc0()*-0.429001); -} - -double luNNEE::synapse0x1d244300() { - return (neuron0x1d23f500()*-0.516443); -} - -double luNNEE::synapse0x1d244340() { - return (neuron0x1d23f840()*-0.156578); -} - -double luNNEE::synapse0x1d244380() { - return (neuron0x1d23fb80()*-1.24439); -} - -double luNNEE::synapse0x1d2443c0() { - return (neuron0x1d23fec0()*-0.0514229); -} - -double luNNEE::synapse0x1d244400() { - return (neuron0x1d240200()*0.443304); -} - -double luNNEE::synapse0x1d244440() { - return (neuron0x1d240540()*1.62769); -} - -double luNNEE::synapse0x1d244480() { - return (neuron0x1d240880()*-0.374873); -} - -double luNNEE::synapse0x1d2444c0() { - return (neuron0x1d240bc0()*0.560535); -} - -double luNNEE::synapse0x1d244840() { - return (neuron0x1d241030()*0.767992); -} - -double luNNEE::synapse0x1d244880() { - return (neuron0x1d241460()*0.50302); -} - -double luNNEE::synapse0x1d2448c0() { - return (neuron0x1d2419a0()*-0.472644); -} - -double luNNEE::synapse0x1d244900() { - return (neuron0x1d241f70()*0.806902); -} - -double luNNEE::synapse0x1d244940() { - return (neuron0x1d2424b0()*-1.81099); -} - -double luNNEE::synapse0x1d244980() { - return (neuron0x1d242830()*-0.458441); -} - -double luNNEE::synapse0x1d2449c0() { - return (neuron0x1d242d70()*-1.38208); -} - -double luNNEE::synapse0x1d244a00() { - return (neuron0x1d2432b0()*-0.310336); -} - -double luNNEE::synapse0x1d244a40() { - return (neuron0x1d2437f0()*-0.324322); -} - -double luNNEE::synapse0x1d244a80() { - return (neuron0x1d244050()*0.0540683); -} - -double luNNEE::synapse0x1d244e00() { - return (neuron0x1d241030()*0.786979); -} - -double luNNEE::synapse0x1d244e40() { - return (neuron0x1d241460()*1.0236); -} - -double luNNEE::synapse0x1d244e80() { - return (neuron0x1d2419a0()*-0.8535); -} - -double luNNEE::synapse0x1d244ec0() { - return (neuron0x1d241f70()*-0.215959); -} - -double luNNEE::synapse0x1d244f00() { - return (neuron0x1d2424b0()*-0.854814); -} - -double luNNEE::synapse0x1d244f40() { - return (neuron0x1d242830()*-0.108652); -} - -double luNNEE::synapse0x1d244f80() { - return (neuron0x1d242d70()*-0.943531); -} - -double luNNEE::synapse0x1d244fc0() { - return (neuron0x1d2432b0()*0.509758); -} - -double luNNEE::synapse0x1d245000() { - return (neuron0x1d2437f0()*0.0385086); -} - -double luNNEE::synapse0x1d245040() { - return (neuron0x1d244050()*0.296752); -} - -double luNNEE::synapse0x1d2453c0() { - return (neuron0x1d241030()*0.600361); -} - -double luNNEE::synapse0x1d245400() { - return (neuron0x1d241460()*2.23698); -} - -double luNNEE::synapse0x1d245440() { - return (neuron0x1d2419a0()*-1.06472); -} - -double luNNEE::synapse0x1d245480() { - return (neuron0x1d241f70()*0.0920412); -} - -double luNNEE::synapse0x1d2454c0() { - return (neuron0x1d2424b0()*-0.834027); -} - -double luNNEE::synapse0x1d245500() { - return (neuron0x1d242830()*0.75298); -} - -double luNNEE::synapse0x1d245540() { - return (neuron0x1d242d70()*-0.396142); -} - -double luNNEE::synapse0x1d245580() { - return (neuron0x1d2432b0()*0.892455); -} - -double luNNEE::synapse0x1d2455c0() { - return (neuron0x1d2437f0()*0.968262); -} - -double luNNEE::synapse0x1d245600() { - return (neuron0x1d244050()*-0.709875); -} - -double luNNEE::synapse0x1d245980() { - return (neuron0x1d241030()*-2.51911); -} - -double luNNEE::synapse0x1d2459c0() { - return (neuron0x1d241460()*1.31583); -} - -double luNNEE::synapse0x1d245a00() { - return (neuron0x1d2419a0()*2.66054); -} - -double luNNEE::synapse0x1d245a40() { - return (neuron0x1d241f70()*1.22613); -} - -double luNNEE::synapse0x1d245a80() { - return (neuron0x1d2424b0()*-0.0846529); -} - -double luNNEE::synapse0x1d245ac0() { - return (neuron0x1d242830()*-1.80604); -} - -double luNNEE::synapse0x1d245b00() { - return (neuron0x1d242d70()*1.2746); -} - -double luNNEE::synapse0x1d245b40() { - return (neuron0x1d2432b0()*3.04159); -} - -double luNNEE::synapse0x1d245b80() { - return (neuron0x1d2437f0()*-2.38866); -} - -double luNNEE::synapse0x1d245bc0() { - return (neuron0x1d244050()*2.92037); -} - -double luNNEE::synapse0x1d245f40() { - return (neuron0x1d241030()*0.467129); -} - -double luNNEE::synapse0x1d245f80() { - return (neuron0x1d241460()*0.933566); -} - -double luNNEE::synapse0x1d245fc0() { - return (neuron0x1d2419a0()*-0.411388); -} - -double luNNEE::synapse0x1d246000() { - return (neuron0x1d241f70()*-0.254523); -} - -double luNNEE::synapse0x1d246040() { - return (neuron0x1d2424b0()*-1.34352); -} - -double luNNEE::synapse0x1d246080() { - return (neuron0x1d242830()*0.155716); -} - -double luNNEE::synapse0x1d2460c0() { - return (neuron0x1d242d70()*-0.833839); -} - -double luNNEE::synapse0x1d246100() { - return (neuron0x1d2432b0()*0.113311); -} - -double luNNEE::synapse0x1d246140() { - return (neuron0x1d2437f0()*-0.465655); -} - -double luNNEE::synapse0x1d243c40() { - return (neuron0x1d244050()*0.0637556); -} - -double luNNEE::synapse0x1d243fc0() { - return (neuron0x1d244500()*3.50251); -} - -double luNNEE::synapse0x1d244000() { - return (neuron0x1d244ac0()*2.51474); -} - -double luNNEE::synapse0x1d240f00() { - return (neuron0x1d245080()*2.96117); -} - -double luNNEE::synapse0x1d240f40() { - return (neuron0x1d245640()*-3.30225); -} - -double luNNEE::synapse0x1d240f80() { - return (neuron0x1d245c00()*2.72949); -} - -double rdNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.99102)/1.1492; - input1 = (in1 - 2.40353)/1.40003; - input2 = (in2 - 2.41121)/1.41004; - input3 = (in3 - 2.42657)/1.40629; - input4 = (in4 - 2.42619)/1.40466; - input5 = (in5 - 1.33856)/1.28698; - input6 = (in6 - 1.33367)/1.29347; - input7 = (in7 - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x1ff97d40(); - default: - return 0.; - } -} - -double rdNNEE::Value(int index, double* input) { - input0 = (input[0] - 4.99102)/1.1492; - input1 = (input[1] - 2.40353)/1.40003; - input2 = (input[2] - 2.41121)/1.41004; - input3 = (input[3] - 2.42657)/1.40629; - input4 = (input[4] - 2.42619)/1.40466; - input5 = (input[5] - 1.33856)/1.28698; - input6 = (input[6] - 1.33367)/1.29347; - input7 = (input[7] - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x1ff97d40(); - default: - return 0.; - } -} - -double rdNNEE::neuron0x1ff935c0() { - return input0; -} - -double rdNNEE::neuron0x1ff93900() { - return input1; -} - -double rdNNEE::neuron0x1ff93c40() { - return input2; -} - -double rdNNEE::neuron0x1ff93f80() { - return input3; -} - -double rdNNEE::neuron0x1ff942c0() { - return input4; -} - -double rdNNEE::neuron0x1ff94600() { - return input5; -} - -double rdNNEE::neuron0x1ff94940() { - return input6; -} - -double rdNNEE::neuron0x1ff94c80() { - return input7; -} - -double rdNNEE::input0x1ff950f0() { - double input = 0.825175; - input += synapse0x1fef3900(); - input += synapse0x1ff9c1c0(); - input += synapse0x1ff953a0(); - input += synapse0x1ff953e0(); - input += synapse0x1ff95420(); - input += synapse0x1ff95460(); - input += synapse0x1ff954a0(); - input += synapse0x1ff954e0(); - return input; -} - -double rdNNEE::neuron0x1ff950f0() { - double input = input0x1ff950f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff95520() { - double input = 2.54534; - input += synapse0x1ff95860(); - input += synapse0x1ff958a0(); - input += synapse0x1ff958e0(); - input += synapse0x1ff95920(); - input += synapse0x1ff95960(); - input += synapse0x1ff959a0(); - input += synapse0x1ff959e0(); - input += synapse0x1ff95a20(); - return input; -} - -double rdNNEE::neuron0x1ff95520() { - double input = input0x1ff95520(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff95a60() { - double input = 2.28817; - input += synapse0x1ff95da0(); - input += synapse0x1fec1ea0(); - input += synapse0x1fec1ee0(); - input += synapse0x1ff95ef0(); - input += synapse0x1ff95f30(); - input += synapse0x1ff95f70(); - input += synapse0x1ff95fb0(); - input += synapse0x1ff95ff0(); - return input; -} - -double rdNNEE::neuron0x1ff95a60() { - double input = input0x1ff95a60(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff96030() { - double input = -0.815879; - input += synapse0x1ff96370(); - input += synapse0x1ff963b0(); - input += synapse0x1ff963f0(); - input += synapse0x1ff96430(); - input += synapse0x1ff96470(); - input += synapse0x1ff964b0(); - input += synapse0x1ff964f0(); - input += synapse0x1ff96530(); - return input; -} - -double rdNNEE::neuron0x1ff96030() { - double input = input0x1ff96030(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff96570() { - double input = -1.58742; - input += synapse0x1ff968b0(); - input += synapse0x1ff934f0(); - input += synapse0x1ff9c200(); - input += synapse0x1fede210(); - input += synapse0x1ff95de0(); - input += synapse0x1ff95e20(); - input += synapse0x1ff95e60(); - input += synapse0x1ff95ea0(); - return input; -} - -double rdNNEE::neuron0x1ff96570() { - double input = input0x1ff96570(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff968f0() { - double input = 1.38619; - input += synapse0x1ff96c30(); - input += synapse0x1ff96c70(); - input += synapse0x1ff96cb0(); - input += synapse0x1ff96cf0(); - input += synapse0x1ff96d30(); - input += synapse0x1ff96d70(); - input += synapse0x1ff96db0(); - input += synapse0x1ff96df0(); - return input; -} - -double rdNNEE::neuron0x1ff968f0() { - double input = input0x1ff968f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff96e30() { - double input = 0.892159; - input += synapse0x1ff97170(); - input += synapse0x1ff971b0(); - input += synapse0x1ff971f0(); - input += synapse0x1ff97230(); - input += synapse0x1ff97270(); - input += synapse0x1ff972b0(); - input += synapse0x1ff972f0(); - input += synapse0x1ff97330(); - return input; -} - -double rdNNEE::neuron0x1ff96e30() { - double input = input0x1ff96e30(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff97370() { - double input = 0.996943; - input += synapse0x1ff976b0(); - input += synapse0x1ff976f0(); - input += synapse0x1ff97730(); - input += synapse0x1ff97770(); - input += synapse0x1ff977b0(); - input += synapse0x1ff977f0(); - input += synapse0x1ff97830(); - input += synapse0x1ff97870(); - return input; -} - -double rdNNEE::neuron0x1ff97370() { - double input = input0x1ff97370(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff978b0() { - double input = -0.282028; - input += synapse0x1febfb00(); - input += synapse0x1febfb40(); - input += synapse0x1fedaa00(); - input += synapse0x1fedaa40(); - input += synapse0x1fedaa80(); - input += synapse0x1fedaac0(); - input += synapse0x1fedab00(); - input += synapse0x1fedab40(); - return input; -} - -double rdNNEE::neuron0x1ff978b0() { - double input = input0x1ff978b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff98110() { - double input = 1.65324; - input += synapse0x1ff983c0(); - input += synapse0x1ff98400(); - input += synapse0x1ff98440(); - input += synapse0x1ff98480(); - input += synapse0x1ff984c0(); - input += synapse0x1ff98500(); - input += synapse0x1ff98540(); - input += synapse0x1ff98580(); - return input; -} - -double rdNNEE::neuron0x1ff98110() { - double input = input0x1ff98110(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff985c0() { - double input = 0.239174; - input += synapse0x1ff98900(); - input += synapse0x1ff98940(); - input += synapse0x1ff98980(); - input += synapse0x1ff989c0(); - input += synapse0x1ff98a00(); - input += synapse0x1ff98a40(); - input += synapse0x1ff98a80(); - input += synapse0x1ff98ac0(); - input += synapse0x1ff98b00(); - input += synapse0x1ff98b40(); - return input; -} - -double rdNNEE::neuron0x1ff985c0() { - double input = input0x1ff985c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff98b80() { - double input = 0.843606; - input += synapse0x1ff98ec0(); - input += synapse0x1ff98f00(); - input += synapse0x1ff98f40(); - input += synapse0x1ff98f80(); - input += synapse0x1ff98fc0(); - input += synapse0x1ff99000(); - input += synapse0x1ff99040(); - input += synapse0x1ff99080(); - input += synapse0x1ff990c0(); - input += synapse0x1ff99100(); - return input; -} - -double rdNNEE::neuron0x1ff98b80() { - double input = input0x1ff98b80(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff99140() { - double input = -0.0990648; - input += synapse0x1ff99480(); - input += synapse0x1ff994c0(); - input += synapse0x1ff99500(); - input += synapse0x1ff99540(); - input += synapse0x1ff99580(); - input += synapse0x1ff995c0(); - input += synapse0x1ff99600(); - input += synapse0x1ff99640(); - input += synapse0x1ff99680(); - input += synapse0x1ff996c0(); - return input; -} - -double rdNNEE::neuron0x1ff99140() { - double input = input0x1ff99140(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff99700() { - double input = -0.896219; - input += synapse0x1ff99a40(); - input += synapse0x1ff99a80(); - input += synapse0x1ff99ac0(); - input += synapse0x1ff99b00(); - input += synapse0x1ff99b40(); - input += synapse0x1ff99b80(); - input += synapse0x1ff99bc0(); - input += synapse0x1ff99c00(); - input += synapse0x1ff99c40(); - input += synapse0x1ff99c80(); - return input; -} - -double rdNNEE::neuron0x1ff99700() { - double input = input0x1ff99700(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff99cc0() { - double input = -0.436962; - input += synapse0x1ff9a000(); - input += synapse0x1ff9a040(); - input += synapse0x1ff9a080(); - input += synapse0x1ff9a0c0(); - input += synapse0x1ff9a100(); - input += synapse0x1ff9a140(); - input += synapse0x1ff9a180(); - input += synapse0x1ff9a1c0(); - input += synapse0x1ff9a200(); - input += synapse0x1ff97d00(); - return input; -} - -double rdNNEE::neuron0x1ff99cc0() { - double input = input0x1ff99cc0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rdNNEE::input0x1ff97d40() { - double input = -1.43615; - input += synapse0x1ff98080(); - input += synapse0x1ff980c0(); - input += synapse0x1ff94fc0(); - input += synapse0x1ff95000(); - input += synapse0x1ff95040(); - return input; -} - -double rdNNEE::neuron0x1ff97d40() { - double input = input0x1ff97d40(); - return (input * 1)+0; -} - -double rdNNEE::synapse0x1fef3900() { - return (neuron0x1ff935c0()*1.00654); -} - -double rdNNEE::synapse0x1ff9c1c0() { - return (neuron0x1ff93900()*-0.782609); -} - -double rdNNEE::synapse0x1ff953a0() { - return (neuron0x1ff93c40()*0.0940371); -} - -double rdNNEE::synapse0x1ff953e0() { - return (neuron0x1ff93f80()*0.262207); -} - -double rdNNEE::synapse0x1ff95420() { - return (neuron0x1ff942c0()*-0.589799); -} - -double rdNNEE::synapse0x1ff95460() { - return (neuron0x1ff94600()*0.336342); -} - -double rdNNEE::synapse0x1ff954a0() { - return (neuron0x1ff94940()*-0.00159879); -} - -double rdNNEE::synapse0x1ff954e0() { - return (neuron0x1ff94c80()*0.510516); -} - -double rdNNEE::synapse0x1ff95860() { - return (neuron0x1ff935c0()*-0.839079); -} - -double rdNNEE::synapse0x1ff958a0() { - return (neuron0x1ff93900()*0.113118); -} - -double rdNNEE::synapse0x1ff958e0() { - return (neuron0x1ff93c40()*0.283235); -} - -double rdNNEE::synapse0x1ff95920() { - return (neuron0x1ff93f80()*-0.0827286); -} - -double rdNNEE::synapse0x1ff95960() { - return (neuron0x1ff942c0()*-0.673746); -} - -double rdNNEE::synapse0x1ff959a0() { - return (neuron0x1ff94600()*-0.160767); -} - -double rdNNEE::synapse0x1ff959e0() { - return (neuron0x1ff94940()*1.17374); -} - -double rdNNEE::synapse0x1ff95a20() { - return (neuron0x1ff94c80()*-0.451086); -} - -double rdNNEE::synapse0x1ff95da0() { - return (neuron0x1ff935c0()*-1.78628); -} - -double rdNNEE::synapse0x1fec1ea0() { - return (neuron0x1ff93900()*3.14715); -} - -double rdNNEE::synapse0x1fec1ee0() { - return (neuron0x1ff93c40()*1.2482); -} - -double rdNNEE::synapse0x1ff95ef0() { - return (neuron0x1ff93f80()*-1.06716); -} - -double rdNNEE::synapse0x1ff95f30() { - return (neuron0x1ff942c0()*-0.920541); -} - -double rdNNEE::synapse0x1ff95f70() { - return (neuron0x1ff94600()*0.611627); -} - -double rdNNEE::synapse0x1ff95fb0() { - return (neuron0x1ff94940()*0.0321043); -} - -double rdNNEE::synapse0x1ff95ff0() { - return (neuron0x1ff94c80()*-0.424328); -} - -double rdNNEE::synapse0x1ff96370() { - return (neuron0x1ff935c0()*-0.934525); -} - -double rdNNEE::synapse0x1ff963b0() { - return (neuron0x1ff93900()*0.227701); -} - -double rdNNEE::synapse0x1ff963f0() { - return (neuron0x1ff93c40()*-0.145405); -} - -double rdNNEE::synapse0x1ff96430() { - return (neuron0x1ff93f80()*-0.202652); -} - -double rdNNEE::synapse0x1ff96470() { - return (neuron0x1ff942c0()*0.0565631); -} - -double rdNNEE::synapse0x1ff964b0() { - return (neuron0x1ff94600()*-0.414642); -} - -double rdNNEE::synapse0x1ff964f0() { - return (neuron0x1ff94940()*-0.018005); -} - -double rdNNEE::synapse0x1ff96530() { - return (neuron0x1ff94c80()*-0.513357); -} - -double rdNNEE::synapse0x1ff968b0() { - return (neuron0x1ff935c0()*0.336392); -} - -double rdNNEE::synapse0x1ff934f0() { - return (neuron0x1ff93900()*0.326511); -} - -double rdNNEE::synapse0x1ff9c200() { - return (neuron0x1ff93c40()*0.0746277); -} - -double rdNNEE::synapse0x1fede210() { - return (neuron0x1ff93f80()*0.0145317); -} - -double rdNNEE::synapse0x1ff95de0() { - return (neuron0x1ff942c0()*0.181203); -} - -double rdNNEE::synapse0x1ff95e20() { - return (neuron0x1ff94600()*-0.0232318); -} - -double rdNNEE::synapse0x1ff95e60() { - return (neuron0x1ff94940()*0.401596); -} - -double rdNNEE::synapse0x1ff95ea0() { - return (neuron0x1ff94c80()*0.301376); -} - -double rdNNEE::synapse0x1ff96c30() { - return (neuron0x1ff935c0()*-0.24831); -} - -double rdNNEE::synapse0x1ff96c70() { - return (neuron0x1ff93900()*-0.709084); -} - -double rdNNEE::synapse0x1ff96cb0() { - return (neuron0x1ff93c40()*-0.498667); -} - -double rdNNEE::synapse0x1ff96cf0() { - return (neuron0x1ff93f80()*0.417819); -} - -double rdNNEE::synapse0x1ff96d30() { - return (neuron0x1ff942c0()*0.255772); -} - -double rdNNEE::synapse0x1ff96d70() { - return (neuron0x1ff94600()*0.652771); -} - -double rdNNEE::synapse0x1ff96db0() { - return (neuron0x1ff94940()*-0.791629); -} - -double rdNNEE::synapse0x1ff96df0() { - return (neuron0x1ff94c80()*0.908048); -} - -double rdNNEE::synapse0x1ff97170() { - return (neuron0x1ff935c0()*0.924764); -} - -double rdNNEE::synapse0x1ff971b0() { - return (neuron0x1ff93900()*0.683953); -} - -double rdNNEE::synapse0x1ff971f0() { - return (neuron0x1ff93c40()*-0.0863026); -} - -double rdNNEE::synapse0x1ff97230() { - return (neuron0x1ff93f80()*-0.619365); -} - -double rdNNEE::synapse0x1ff97270() { - return (neuron0x1ff942c0()*0.15908); -} - -double rdNNEE::synapse0x1ff972b0() { - return (neuron0x1ff94600()*-0.532884); -} - -double rdNNEE::synapse0x1ff972f0() { - return (neuron0x1ff94940()*0.658398); -} - -double rdNNEE::synapse0x1ff97330() { - return (neuron0x1ff94c80()*-1.49995); -} - -double rdNNEE::synapse0x1ff976b0() { - return (neuron0x1ff935c0()*-0.174238); -} - -double rdNNEE::synapse0x1ff976f0() { - return (neuron0x1ff93900()*-0.073891); -} - -double rdNNEE::synapse0x1ff97730() { - return (neuron0x1ff93c40()*-0.455685); -} - -double rdNNEE::synapse0x1ff97770() { - return (neuron0x1ff93f80()*0.505203); -} - -double rdNNEE::synapse0x1ff977b0() { - return (neuron0x1ff942c0()*1.64713); -} - -double rdNNEE::synapse0x1ff977f0() { - return (neuron0x1ff94600()*-1.3679); -} - -double rdNNEE::synapse0x1ff97830() { - return (neuron0x1ff94940()*0.281); -} - -double rdNNEE::synapse0x1ff97870() { - return (neuron0x1ff94c80()*-0.179998); -} - -double rdNNEE::synapse0x1febfb00() { - return (neuron0x1ff935c0()*1.21172); -} - -double rdNNEE::synapse0x1febfb40() { - return (neuron0x1ff93900()*-0.153712); -} - -double rdNNEE::synapse0x1fedaa00() { - return (neuron0x1ff93c40()*-0.677341); -} - -double rdNNEE::synapse0x1fedaa40() { - return (neuron0x1ff93f80()*-0.723119); -} - -double rdNNEE::synapse0x1fedaa80() { - return (neuron0x1ff942c0()*-0.0591842); -} - -double rdNNEE::synapse0x1fedaac0() { - return (neuron0x1ff94600()*0.923111); -} - -double rdNNEE::synapse0x1fedab00() { - return (neuron0x1ff94940()*-1.03907); -} - -double rdNNEE::synapse0x1fedab40() { - return (neuron0x1ff94c80()*0.706416); -} - -double rdNNEE::synapse0x1ff983c0() { - return (neuron0x1ff935c0()*-0.228062); -} - -double rdNNEE::synapse0x1ff98400() { - return (neuron0x1ff93900()*-0.864466); -} - -double rdNNEE::synapse0x1ff98440() { - return (neuron0x1ff93c40()*0.0626024); -} - -double rdNNEE::synapse0x1ff98480() { - return (neuron0x1ff93f80()*0.287105); -} - -double rdNNEE::synapse0x1ff984c0() { - return (neuron0x1ff942c0()*0.0330635); -} - -double rdNNEE::synapse0x1ff98500() { - return (neuron0x1ff94600()*-0.305153); -} - -double rdNNEE::synapse0x1ff98540() { - return (neuron0x1ff94940()*0.21622); -} - -double rdNNEE::synapse0x1ff98580() { - return (neuron0x1ff94c80()*-0.19366); -} - -double rdNNEE::synapse0x1ff98900() { - return (neuron0x1ff950f0()*-0.127884); -} - -double rdNNEE::synapse0x1ff98940() { - return (neuron0x1ff95520()*-1.04592); -} - -double rdNNEE::synapse0x1ff98980() { - return (neuron0x1ff95a60()*-0.199728); -} - -double rdNNEE::synapse0x1ff989c0() { - return (neuron0x1ff96030()*-0.00266199); -} - -double rdNNEE::synapse0x1ff98a00() { - return (neuron0x1ff96570()*0.74619); -} - -double rdNNEE::synapse0x1ff98a40() { - return (neuron0x1ff968f0()*0.115496); -} - -double rdNNEE::synapse0x1ff98a80() { - return (neuron0x1ff96e30()*0.582991); -} - -double rdNNEE::synapse0x1ff98ac0() { - return (neuron0x1ff97370()*0.619113); -} - -double rdNNEE::synapse0x1ff98b00() { - return (neuron0x1ff978b0()*-0.627176); -} - -double rdNNEE::synapse0x1ff98b40() { - return (neuron0x1ff98110()*-0.768379); -} - -double rdNNEE::synapse0x1ff98ec0() { - return (neuron0x1ff950f0()*0.266785); -} - -double rdNNEE::synapse0x1ff98f00() { - return (neuron0x1ff95520()*-1.03515); -} - -double rdNNEE::synapse0x1ff98f40() { - return (neuron0x1ff95a60()*-0.364548); -} - -double rdNNEE::synapse0x1ff98f80() { - return (neuron0x1ff96030()*-1.10946); -} - -double rdNNEE::synapse0x1ff98fc0() { - return (neuron0x1ff96570()*0.631055); -} - -double rdNNEE::synapse0x1ff99000() { - return (neuron0x1ff968f0()*0.719271); -} - -double rdNNEE::synapse0x1ff99040() { - return (neuron0x1ff96e30()*1.00781); -} - -double rdNNEE::synapse0x1ff99080() { - return (neuron0x1ff97370()*-0.160315); -} - -double rdNNEE::synapse0x1ff990c0() { - return (neuron0x1ff978b0()*-0.25212); -} - -double rdNNEE::synapse0x1ff99100() { - return (neuron0x1ff98110()*-0.704644); -} - -double rdNNEE::synapse0x1ff99480() { - return (neuron0x1ff950f0()*-1.80907); -} - -double rdNNEE::synapse0x1ff994c0() { - return (neuron0x1ff95520()*-0.751556); -} - -double rdNNEE::synapse0x1ff99500() { - return (neuron0x1ff95a60()*1.10668); -} - -double rdNNEE::synapse0x1ff99540() { - return (neuron0x1ff96030()*-1.35127); -} - -double rdNNEE::synapse0x1ff99580() { - return (neuron0x1ff96570()*0.815284); -} - -double rdNNEE::synapse0x1ff995c0() { - return (neuron0x1ff968f0()*1.85946); -} - -double rdNNEE::synapse0x1ff99600() { - return (neuron0x1ff96e30()*0.0871906); -} - -double rdNNEE::synapse0x1ff99640() { - return (neuron0x1ff97370()*1.30664); -} - -double rdNNEE::synapse0x1ff99680() { - return (neuron0x1ff978b0()*1.14415); -} - -double rdNNEE::synapse0x1ff996c0() { - return (neuron0x1ff98110()*-0.52077); -} - -double rdNNEE::synapse0x1ff99a40() { - return (neuron0x1ff950f0()*-1.95843); -} - -double rdNNEE::synapse0x1ff99a80() { - return (neuron0x1ff95520()*-0.838962); -} - -double rdNNEE::synapse0x1ff99ac0() { - return (neuron0x1ff95a60()*1.49395); -} - -double rdNNEE::synapse0x1ff99b00() { - return (neuron0x1ff96030()*0.022963); -} - -double rdNNEE::synapse0x1ff99b40() { - return (neuron0x1ff96570()*0.038856); -} - -double rdNNEE::synapse0x1ff99b80() { - return (neuron0x1ff968f0()*-0.257157); -} - -double rdNNEE::synapse0x1ff99bc0() { - return (neuron0x1ff96e30()*1.54999); -} - -double rdNNEE::synapse0x1ff99c00() { - return (neuron0x1ff97370()*2.12141); -} - -double rdNNEE::synapse0x1ff99c40() { - return (neuron0x1ff978b0()*-2.59816); -} - -double rdNNEE::synapse0x1ff99c80() { - return (neuron0x1ff98110()*-1.38224); -} - -double rdNNEE::synapse0x1ff9a000() { - return (neuron0x1ff950f0()*0.189974); -} - -double rdNNEE::synapse0x1ff9a040() { - return (neuron0x1ff95520()*0.481018); -} - -double rdNNEE::synapse0x1ff9a080() { - return (neuron0x1ff95a60()*-0.0162486); -} - -double rdNNEE::synapse0x1ff9a0c0() { - return (neuron0x1ff96030()*0.941632); -} - -double rdNNEE::synapse0x1ff9a100() { - return (neuron0x1ff96570()*-1.21962); -} - -double rdNNEE::synapse0x1ff9a140() { - return (neuron0x1ff968f0()*-0.509644); -} - -double rdNNEE::synapse0x1ff9a180() { - return (neuron0x1ff96e30()*-0.308659); -} - -double rdNNEE::synapse0x1ff9a1c0() { - return (neuron0x1ff97370()*0.61483); -} - -double rdNNEE::synapse0x1ff9a200() { - return (neuron0x1ff978b0()*0.715472); -} - -double rdNNEE::synapse0x1ff97d00() { - return (neuron0x1ff98110()*0.422625); -} - -double rdNNEE::synapse0x1ff98080() { - return (neuron0x1ff985c0()*1.95961); -} - -double rdNNEE::synapse0x1ff980c0() { - return (neuron0x1ff98b80()*2.21297); -} - -double rdNNEE::synapse0x1ff94fc0() { - return (neuron0x1ff99140()*3.56681); -} - -double rdNNEE::synapse0x1ff95000() { - return (neuron0x1ff99700()*3.34891); -} - -double rdNNEE::synapse0x1ff95040() { - return (neuron0x1ff99cc0()*-3.23415); -} - -double rrNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.99102)/1.1492; - input1 = (in1 - 2.41121)/1.41004; - input2 = (in2 - 2.42657)/1.40629; - input3 = (in3 - 2.42619)/1.40466; - input4 = (in4 - 1.33856)/1.28698; - input5 = (in5 - 1.33177)/1.28879; - input6 = (in6 - 1.33367)/1.29347; - input7 = (in7 - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x672db80(); - default: - return 0.; - } -} - -double rrNNEE::Value(int index, double* input) { - input0 = (input[0] - 4.99102)/1.1492; - input1 = (input[1] - 2.41121)/1.41004; - input2 = (input[2] - 2.42657)/1.40629; - input3 = (input[3] - 2.42619)/1.40466; - input4 = (input[4] - 1.33856)/1.28698; - input5 = (input[5] - 1.33177)/1.28879; - input6 = (input[6] - 1.33367)/1.29347; - input7 = (input[7] - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x672db80(); - default: - return 0.; - } -} - -double rrNNEE::neuron0x6729400() { - return input0; -} - -double rrNNEE::neuron0x6729740() { - return input1; -} - -double rrNNEE::neuron0x6729a80() { - return input2; -} - -double rrNNEE::neuron0x6729dc0() { - return input3; -} - -double rrNNEE::neuron0x672a100() { - return input4; -} - -double rrNNEE::neuron0x672a440() { - return input5; -} - -double rrNNEE::neuron0x672a780() { - return input6; -} - -double rrNNEE::neuron0x672aac0() { - return input7; -} - -double rrNNEE::input0x672af30() { - double input = 0.653896; - input += synapse0x6689740(); - input += synapse0x6732000(); - input += synapse0x672b1e0(); - input += synapse0x672b220(); - input += synapse0x672b260(); - input += synapse0x672b2a0(); - input += synapse0x672b2e0(); - input += synapse0x672b320(); - return input; -} - -double rrNNEE::neuron0x672af30() { - double input = input0x672af30(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672b360() { - double input = 0.707726; - input += synapse0x672b6a0(); - input += synapse0x672b6e0(); - input += synapse0x672b720(); - input += synapse0x672b760(); - input += synapse0x672b7a0(); - input += synapse0x672b7e0(); - input += synapse0x672b820(); - input += synapse0x672b860(); - return input; -} - -double rrNNEE::neuron0x672b360() { - double input = input0x672b360(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672b8a0() { - double input = -0.441893; - input += synapse0x672bbe0(); - input += synapse0x6657ce0(); - input += synapse0x6657d20(); - input += synapse0x672bd30(); - input += synapse0x672bd70(); - input += synapse0x672bdb0(); - input += synapse0x672bdf0(); - input += synapse0x672be30(); - return input; -} - -double rrNNEE::neuron0x672b8a0() { - double input = input0x672b8a0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672be70() { - double input = -0.634536; - input += synapse0x672c1b0(); - input += synapse0x672c1f0(); - input += synapse0x672c230(); - input += synapse0x672c270(); - input += synapse0x672c2b0(); - input += synapse0x672c2f0(); - input += synapse0x672c330(); - input += synapse0x672c370(); - return input; -} - -double rrNNEE::neuron0x672be70() { - double input = input0x672be70(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672c3b0() { - double input = 0.53862; - input += synapse0x672c6f0(); - input += synapse0x6729330(); - input += synapse0x6732040(); - input += synapse0x6674050(); - input += synapse0x672bc20(); - input += synapse0x672bc60(); - input += synapse0x672bca0(); - input += synapse0x672bce0(); - return input; -} - -double rrNNEE::neuron0x672c3b0() { - double input = input0x672c3b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672c730() { - double input = -1.38965; - input += synapse0x672ca70(); - input += synapse0x672cab0(); - input += synapse0x672caf0(); - input += synapse0x672cb30(); - input += synapse0x672cb70(); - input += synapse0x672cbb0(); - input += synapse0x672cbf0(); - input += synapse0x672cc30(); - return input; -} - -double rrNNEE::neuron0x672c730() { - double input = input0x672c730(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672cc70() { - double input = -2.69757; - input += synapse0x672cfb0(); - input += synapse0x672cff0(); - input += synapse0x672d030(); - input += synapse0x672d070(); - input += synapse0x672d0b0(); - input += synapse0x672d0f0(); - input += synapse0x672d130(); - input += synapse0x672d170(); - return input; -} - -double rrNNEE::neuron0x672cc70() { - double input = input0x672cc70(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672d1b0() { - double input = 0.552602; - input += synapse0x672d4f0(); - input += synapse0x672d530(); - input += synapse0x672d570(); - input += synapse0x672d5b0(); - input += synapse0x672d5f0(); - input += synapse0x672d630(); - input += synapse0x672d670(); - input += synapse0x672d6b0(); - return input; -} - -double rrNNEE::neuron0x672d1b0() { - double input = input0x672d1b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672d6f0() { - double input = -0.289258; - input += synapse0x6655940(); - input += synapse0x6655980(); - input += synapse0x6670840(); - input += synapse0x6670880(); - input += synapse0x66708c0(); - input += synapse0x6670900(); - input += synapse0x6670940(); - input += synapse0x6670980(); - return input; -} - -double rrNNEE::neuron0x672d6f0() { - double input = input0x672d6f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672df50() { - double input = 0.0539445; - input += synapse0x672e200(); - input += synapse0x672e240(); - input += synapse0x672e280(); - input += synapse0x672e2c0(); - input += synapse0x672e300(); - input += synapse0x672e340(); - input += synapse0x672e380(); - input += synapse0x672e3c0(); - return input; -} - -double rrNNEE::neuron0x672df50() { - double input = input0x672df50(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672e400() { - double input = 0.422267; - input += synapse0x672e740(); - input += synapse0x672e780(); - input += synapse0x672e7c0(); - input += synapse0x672e800(); - input += synapse0x672e840(); - input += synapse0x672e880(); - input += synapse0x672e8c0(); - input += synapse0x672e900(); - input += synapse0x672e940(); - input += synapse0x672e980(); - return input; -} - -double rrNNEE::neuron0x672e400() { - double input = input0x672e400(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672e9c0() { - double input = -0.298858; - input += synapse0x672ed00(); - input += synapse0x672ed40(); - input += synapse0x672ed80(); - input += synapse0x672edc0(); - input += synapse0x672ee00(); - input += synapse0x672ee40(); - input += synapse0x672ee80(); - input += synapse0x672eec0(); - input += synapse0x672ef00(); - input += synapse0x672ef40(); - return input; -} - -double rrNNEE::neuron0x672e9c0() { - double input = input0x672e9c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672ef80() { - double input = 0.87923; - input += synapse0x672f2c0(); - input += synapse0x672f300(); - input += synapse0x672f340(); - input += synapse0x672f380(); - input += synapse0x672f3c0(); - input += synapse0x672f400(); - input += synapse0x672f440(); - input += synapse0x672f480(); - input += synapse0x672f4c0(); - input += synapse0x672f500(); - return input; -} - -double rrNNEE::neuron0x672ef80() { - double input = input0x672ef80(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672f540() { - double input = -1.51041; - input += synapse0x672f880(); - input += synapse0x672f8c0(); - input += synapse0x672f900(); - input += synapse0x672f940(); - input += synapse0x672f980(); - input += synapse0x672f9c0(); - input += synapse0x672fa00(); - input += synapse0x672fa40(); - input += synapse0x672fa80(); - input += synapse0x672fac0(); - return input; -} - -double rrNNEE::neuron0x672f540() { - double input = input0x672f540(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672fb00() { - double input = -3.09485; - input += synapse0x672fe40(); - input += synapse0x672fe80(); - input += synapse0x672fec0(); - input += synapse0x672ff00(); - input += synapse0x672ff40(); - input += synapse0x672ff80(); - input += synapse0x672ffc0(); - input += synapse0x6730000(); - input += synapse0x6730040(); - input += synapse0x672db40(); - return input; -} - -double rrNNEE::neuron0x672fb00() { - double input = input0x672fb00(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double rrNNEE::input0x672db80() { - double input = 3.93219; - input += synapse0x672dec0(); - input += synapse0x672df00(); - input += synapse0x672ae00(); - input += synapse0x672ae40(); - input += synapse0x672ae80(); - return input; -} - -double rrNNEE::neuron0x672db80() { - double input = input0x672db80(); - return (input * 1)+0; -} - -double rrNNEE::synapse0x6689740() { - return (neuron0x6729400()*0.719572); -} - -double rrNNEE::synapse0x6732000() { - return (neuron0x6729740()*-0.0692008); -} - -double rrNNEE::synapse0x672b1e0() { - return (neuron0x6729a80()*-1.18787); -} - -double rrNNEE::synapse0x672b220() { - return (neuron0x6729dc0()*0.707363); -} - -double rrNNEE::synapse0x672b260() { - return (neuron0x672a100()*1.16964); -} - -double rrNNEE::synapse0x672b2a0() { - return (neuron0x672a440()*-1.01254); -} - -double rrNNEE::synapse0x672b2e0() { - return (neuron0x672a780()*0.129117); -} - -double rrNNEE::synapse0x672b320() { - return (neuron0x672aac0()*-0.166791); -} - -double rrNNEE::synapse0x672b6a0() { - return (neuron0x6729400()*-0.529282); -} - -double rrNNEE::synapse0x672b6e0() { - return (neuron0x6729740()*0.732823); -} - -double rrNNEE::synapse0x672b720() { - return (neuron0x6729a80()*-0.361648); -} - -double rrNNEE::synapse0x672b760() { - return (neuron0x6729dc0()*-0.610316); -} - -double rrNNEE::synapse0x672b7a0() { - return (neuron0x672a100()*0.188769); -} - -double rrNNEE::synapse0x672b7e0() { - return (neuron0x672a440()*0.542069); -} - -double rrNNEE::synapse0x672b820() { - return (neuron0x672a780()*-0.600285); -} - -double rrNNEE::synapse0x672b860() { - return (neuron0x672aac0()*-0.0701344); -} - -double rrNNEE::synapse0x672bbe0() { - return (neuron0x6729400()*1.54523); -} - -double rrNNEE::synapse0x6657ce0() { - return (neuron0x6729740()*-0.498099); -} - -double rrNNEE::synapse0x6657d20() { - return (neuron0x6729a80()*-0.726753); -} - -double rrNNEE::synapse0x672bd30() { - return (neuron0x6729dc0()*-0.842911); -} - -double rrNNEE::synapse0x672bd70() { - return (neuron0x672a100()*-0.469895); -} - -double rrNNEE::synapse0x672bdb0() { - return (neuron0x672a440()*-0.377609); -} - -double rrNNEE::synapse0x672bdf0() { - return (neuron0x672a780()*0.813695); -} - -double rrNNEE::synapse0x672be30() { - return (neuron0x672aac0()*0.636629); -} - -double rrNNEE::synapse0x672c1b0() { - return (neuron0x6729400()*1.65108); -} - -double rrNNEE::synapse0x672c1f0() { - return (neuron0x6729740()*-0.190199); -} - -double rrNNEE::synapse0x672c230() { - return (neuron0x6729a80()*0.982778); -} - -double rrNNEE::synapse0x672c270() { - return (neuron0x6729dc0()*0.711544); -} - -double rrNNEE::synapse0x672c2b0() { - return (neuron0x672a100()*-3.26145); -} - -double rrNNEE::synapse0x672c2f0() { - return (neuron0x672a440()*0.162657); -} - -double rrNNEE::synapse0x672c330() { - return (neuron0x672a780()*-0.089699); -} - -double rrNNEE::synapse0x672c370() { - return (neuron0x672aac0()*-0.851981); -} - -double rrNNEE::synapse0x672c6f0() { - return (neuron0x6729400()*0.772435); -} - -double rrNNEE::synapse0x6729330() { - return (neuron0x6729740()*0.152775); -} - -double rrNNEE::synapse0x6732040() { - return (neuron0x6729a80()*0.723079); -} - -double rrNNEE::synapse0x6674050() { - return (neuron0x6729dc0()*-0.917971); -} - -double rrNNEE::synapse0x672bc20() { - return (neuron0x672a100()*-1.09432); -} - -double rrNNEE::synapse0x672bc60() { - return (neuron0x672a440()*0.928471); -} - -double rrNNEE::synapse0x672bca0() { - return (neuron0x672a780()*-0.358788); -} - -double rrNNEE::synapse0x672bce0() { - return (neuron0x672aac0()*-0.0812723); -} - -double rrNNEE::synapse0x672ca70() { - return (neuron0x6729400()*0.374882); -} - -double rrNNEE::synapse0x672cab0() { - return (neuron0x6729740()*-1.11654); -} - -double rrNNEE::synapse0x672caf0() { - return (neuron0x6729a80()*0.847504); -} - -double rrNNEE::synapse0x672cb30() { - return (neuron0x6729dc0()*0.602074); -} - -double rrNNEE::synapse0x672cb70() { - return (neuron0x672a100()*-0.28634); -} - -double rrNNEE::synapse0x672cbb0() { - return (neuron0x672a440()*-0.371769); -} - -double rrNNEE::synapse0x672cbf0() { - return (neuron0x672a780()*-0.900869); -} - -double rrNNEE::synapse0x672cc30() { - return (neuron0x672aac0()*1.50983); -} - -double rrNNEE::synapse0x672cfb0() { - return (neuron0x6729400()*0.370821); -} - -double rrNNEE::synapse0x672cff0() { - return (neuron0x6729740()*1.07235); -} - -double rrNNEE::synapse0x672d030() { - return (neuron0x6729a80()*-0.367159); -} - -double rrNNEE::synapse0x672d070() { - return (neuron0x6729dc0()*-0.68921); -} - -double rrNNEE::synapse0x672d0b0() { - return (neuron0x672a100()*1.15195); -} - -double rrNNEE::synapse0x672d0f0() { - return (neuron0x672a440()*1.46823); -} - -double rrNNEE::synapse0x672d130() { - return (neuron0x672a780()*0.0745679); -} - -double rrNNEE::synapse0x672d170() { - return (neuron0x672aac0()*-0.00508042); -} - -double rrNNEE::synapse0x672d4f0() { - return (neuron0x6729400()*-1.81515); -} - -double rrNNEE::synapse0x672d530() { - return (neuron0x6729740()*0.478004); -} - -double rrNNEE::synapse0x672d570() { - return (neuron0x6729a80()*-0.609589); -} - -double rrNNEE::synapse0x672d5b0() { - return (neuron0x6729dc0()*-1.08779); -} - -double rrNNEE::synapse0x672d5f0() { - return (neuron0x672a100()*-0.318204); -} - -double rrNNEE::synapse0x672d630() { - return (neuron0x672a440()*3.54867); -} - -double rrNNEE::synapse0x672d670() { - return (neuron0x672a780()*0.79003); -} - -double rrNNEE::synapse0x672d6b0() { - return (neuron0x672aac0()*0.0066591); -} - -double rrNNEE::synapse0x6655940() { - return (neuron0x6729400()*-0.603721); -} - -double rrNNEE::synapse0x6655980() { - return (neuron0x6729740()*-0.0150205); -} - -double rrNNEE::synapse0x6670840() { - return (neuron0x6729a80()*0.0899062); -} - -double rrNNEE::synapse0x6670880() { - return (neuron0x6729dc0()*-2.32862); -} - -double rrNNEE::synapse0x66708c0() { - return (neuron0x672a100()*0.392175); -} - -double rrNNEE::synapse0x6670900() { - return (neuron0x672a440()*2.26292); -} - -double rrNNEE::synapse0x6670940() { - return (neuron0x672a780()*-0.117487); -} - -double rrNNEE::synapse0x6670980() { - return (neuron0x672aac0()*0.0187756); -} - -double rrNNEE::synapse0x672e200() { - return (neuron0x6729400()*0.0326351); -} - -double rrNNEE::synapse0x672e240() { - return (neuron0x6729740()*0.0883082); -} - -double rrNNEE::synapse0x672e280() { - return (neuron0x6729a80()*-2.62164); -} - -double rrNNEE::synapse0x672e2c0() { - return (neuron0x6729dc0()*-0.626323); -} - -double rrNNEE::synapse0x672e300() { - return (neuron0x672a100()*1.77677); -} - -double rrNNEE::synapse0x672e340() { - return (neuron0x672a440()*0.771757); -} - -double rrNNEE::synapse0x672e380() { - return (neuron0x672a780()*0.0133546); -} - -double rrNNEE::synapse0x672e3c0() { - return (neuron0x672aac0()*-0.108335); -} - -double rrNNEE::synapse0x672e740() { - return (neuron0x672af30()*-1.46721); -} - -double rrNNEE::synapse0x672e780() { - return (neuron0x672b360()*1.19058); -} - -double rrNNEE::synapse0x672e7c0() { - return (neuron0x672b8a0()*-0.719918); -} - -double rrNNEE::synapse0x672e800() { - return (neuron0x672be70()*-0.0205937); -} - -double rrNNEE::synapse0x672e840() { - return (neuron0x672c3b0()*-1.98777); -} - -double rrNNEE::synapse0x672e880() { - return (neuron0x672c730()*-0.0982577); -} - -double rrNNEE::synapse0x672e8c0() { - return (neuron0x672cc70()*-1.46517); -} - -double rrNNEE::synapse0x672e900() { - return (neuron0x672d1b0()*0.113774); -} - -double rrNNEE::synapse0x672e940() { - return (neuron0x672d6f0()*0.045319); -} - -double rrNNEE::synapse0x672e980() { - return (neuron0x672df50()*0.421127); -} - -double rrNNEE::synapse0x672ed00() { - return (neuron0x672af30()*-0.974081); -} - -double rrNNEE::synapse0x672ed40() { - return (neuron0x672b360()*-0.351462); -} - -double rrNNEE::synapse0x672ed80() { - return (neuron0x672b8a0()*-0.342592); -} - -double rrNNEE::synapse0x672edc0() { - return (neuron0x672be70()*0.225037); -} - -double rrNNEE::synapse0x672ee00() { - return (neuron0x672c3b0()*-0.192674); -} - -double rrNNEE::synapse0x672ee40() { - return (neuron0x672c730()*-0.82117); -} - -double rrNNEE::synapse0x672ee80() { - return (neuron0x672cc70()*-0.175556); -} - -double rrNNEE::synapse0x672eec0() { - return (neuron0x672d1b0()*0.0352347); -} - -double rrNNEE::synapse0x672ef00() { - return (neuron0x672d6f0()*0.155098); -} - -double rrNNEE::synapse0x672ef40() { - return (neuron0x672df50()*0.465587); -} - -double rrNNEE::synapse0x672f2c0() { - return (neuron0x672af30()*-1.93436); -} - -double rrNNEE::synapse0x672f300() { - return (neuron0x672b360()*1.73157); -} - -double rrNNEE::synapse0x672f340() { - return (neuron0x672b8a0()*1.47908); -} - -double rrNNEE::synapse0x672f380() { - return (neuron0x672be70()*1.01792); -} - -double rrNNEE::synapse0x672f3c0() { - return (neuron0x672c3b0()*-2.70061); -} - -double rrNNEE::synapse0x672f400() { - return (neuron0x672c730()*-0.351462); -} - -double rrNNEE::synapse0x672f440() { - return (neuron0x672cc70()*0.330296); -} - -double rrNNEE::synapse0x672f480() { - return (neuron0x672d1b0()*-0.941561); -} - -double rrNNEE::synapse0x672f4c0() { - return (neuron0x672d6f0()*-0.0761283); -} - -double rrNNEE::synapse0x672f500() { - return (neuron0x672df50()*-0.32878); -} - -double rrNNEE::synapse0x672f880() { - return (neuron0x672af30()*0.700144); -} - -double rrNNEE::synapse0x672f8c0() { - return (neuron0x672b360()*-0.962227); -} - -double rrNNEE::synapse0x672f900() { - return (neuron0x672b8a0()*-2.48208); -} - -double rrNNEE::synapse0x672f940() { - return (neuron0x672be70()*-1.33986); -} - -double rrNNEE::synapse0x672f980() { - return (neuron0x672c3b0()*-1.63243); -} - -double rrNNEE::synapse0x672f9c0() { - return (neuron0x672c730()*0.559641); -} - -double rrNNEE::synapse0x672fa00() { - return (neuron0x672cc70()*-0.537616); -} - -double rrNNEE::synapse0x672fa40() { - return (neuron0x672d1b0()*1.76524); -} - -double rrNNEE::synapse0x672fa80() { - return (neuron0x672d6f0()*2.37791); -} - -double rrNNEE::synapse0x672fac0() { - return (neuron0x672df50()*1.21161); -} - -double rrNNEE::synapse0x672fe40() { - return (neuron0x672af30()*0.775653); -} - -double rrNNEE::synapse0x672fe80() { - return (neuron0x672b360()*-2.31679); -} - -double rrNNEE::synapse0x672fec0() { - return (neuron0x672b8a0()*-0.314825); -} - -double rrNNEE::synapse0x672ff00() { - return (neuron0x672be70()*0.281125); -} - -double rrNNEE::synapse0x672ff40() { - return (neuron0x672c3b0()*1.0574); -} - -double rrNNEE::synapse0x672ff80() { - return (neuron0x672c730()*0.183422); -} - -double rrNNEE::synapse0x672ffc0() { - return (neuron0x672cc70()*0.923959); -} - -double rrNNEE::synapse0x6730000() { - return (neuron0x672d1b0()*-0.495954); -} - -double rrNNEE::synapse0x6730040() { - return (neuron0x672d6f0()*1.13259); -} - -double rrNNEE::synapse0x672db40() { - return (neuron0x672df50()*1.30696); -} - -double rrNNEE::synapse0x672dec0() { - return (neuron0x672e400()*-3.12656); -} - -double rrNNEE::synapse0x672df00() { - return (neuron0x672e9c0()*-1.07836); -} - -double rrNNEE::synapse0x672ae00() { - return (neuron0x672ef80()*-4.12287); -} - -double rrNNEE::synapse0x672ae40() { - return (neuron0x672f540()*2.16816); -} - -double rrNNEE::synapse0x672ae80() { - return (neuron0x672fb00()*4.26021); -} - -double ruNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.99102)/1.1492; - input1 = (in1 - 2.40353)/1.40003; - input2 = (in2 - 2.41121)/1.41004; - input3 = (in3 - 2.42657)/1.40629; - input4 = (in4 - 2.42619)/1.40466; - input5 = (in5 - 1.33177)/1.28879; - input6 = (in6 - 1.33367)/1.29347; - input7 = (in7 - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0xa82cc40(); - default: - return 0.; - } -} - -double ruNNEE::Value(int index, double* input) { - input0 = (input[0] - 4.99102)/1.1492; - input1 = (input[1] - 2.40353)/1.40003; - input2 = (input[2] - 2.41121)/1.41004; - input3 = (input[3] - 2.42657)/1.40629; - input4 = (input[4] - 2.42619)/1.40466; - input5 = (input[5] - 1.33177)/1.28879; - input6 = (input[6] - 1.33367)/1.29347; - input7 = (input[7] - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0xa82cc40(); - default: - return 0.; - } -} - -double ruNNEE::neuron0xa8284c0() { - return input0; -} - -double ruNNEE::neuron0xa828800() { - return input1; -} - -double ruNNEE::neuron0xa828b40() { - return input2; -} - -double ruNNEE::neuron0xa828e80() { - return input3; -} - -double ruNNEE::neuron0xa8291c0() { - return input4; -} - -double ruNNEE::neuron0xa829500() { - return input5; -} - -double ruNNEE::neuron0xa829840() { - return input6; -} - -double ruNNEE::neuron0xa829b80() { - return input7; -} - -double ruNNEE::input0xa829ff0() { - double input = -0.739082; - input += synapse0xa788800(); - input += synapse0xa8310c0(); - input += synapse0xa82a2a0(); - input += synapse0xa82a2e0(); - input += synapse0xa82a320(); - input += synapse0xa82a360(); - input += synapse0xa82a3a0(); - input += synapse0xa82a3e0(); - return input; -} - -double ruNNEE::neuron0xa829ff0() { - double input = input0xa829ff0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82a420() { - double input = -0.228431; - input += synapse0xa82a760(); - input += synapse0xa82a7a0(); - input += synapse0xa82a7e0(); - input += synapse0xa82a820(); - input += synapse0xa82a860(); - input += synapse0xa82a8a0(); - input += synapse0xa82a8e0(); - input += synapse0xa82a920(); - return input; -} - -double ruNNEE::neuron0xa82a420() { - double input = input0xa82a420(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82a960() { - double input = -2.50648; - input += synapse0xa82aca0(); - input += synapse0xa756da0(); - input += synapse0xa756de0(); - input += synapse0xa82adf0(); - input += synapse0xa82ae30(); - input += synapse0xa82ae70(); - input += synapse0xa82aeb0(); - input += synapse0xa82aef0(); - return input; -} - -double ruNNEE::neuron0xa82a960() { - double input = input0xa82a960(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82af30() { - double input = 2.40472; - input += synapse0xa82b270(); - input += synapse0xa82b2b0(); - input += synapse0xa82b2f0(); - input += synapse0xa82b330(); - input += synapse0xa82b370(); - input += synapse0xa82b3b0(); - input += synapse0xa82b3f0(); - input += synapse0xa82b430(); - return input; -} - -double ruNNEE::neuron0xa82af30() { - double input = input0xa82af30(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82b470() { - double input = -2.81377; - input += synapse0xa82b7b0(); - input += synapse0xa8283f0(); - input += synapse0xa831100(); - input += synapse0xa773110(); - input += synapse0xa82ace0(); - input += synapse0xa82ad20(); - input += synapse0xa82ad60(); - input += synapse0xa82ada0(); - return input; -} - -double ruNNEE::neuron0xa82b470() { - double input = input0xa82b470(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82b7f0() { - double input = 0.360115; - input += synapse0xa82bb30(); - input += synapse0xa82bb70(); - input += synapse0xa82bbb0(); - input += synapse0xa82bbf0(); - input += synapse0xa82bc30(); - input += synapse0xa82bc70(); - input += synapse0xa82bcb0(); - input += synapse0xa82bcf0(); - return input; -} - -double ruNNEE::neuron0xa82b7f0() { - double input = input0xa82b7f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82bd30() { - double input = -1.41676; - input += synapse0xa82c070(); - input += synapse0xa82c0b0(); - input += synapse0xa82c0f0(); - input += synapse0xa82c130(); - input += synapse0xa82c170(); - input += synapse0xa82c1b0(); - input += synapse0xa82c1f0(); - input += synapse0xa82c230(); - return input; -} - -double ruNNEE::neuron0xa82bd30() { - double input = input0xa82bd30(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82c270() { - double input = 0.979543; - input += synapse0xa82c5b0(); - input += synapse0xa82c5f0(); - input += synapse0xa82c630(); - input += synapse0xa82c670(); - input += synapse0xa82c6b0(); - input += synapse0xa82c6f0(); - input += synapse0xa82c730(); - input += synapse0xa82c770(); - return input; -} - -double ruNNEE::neuron0xa82c270() { - double input = input0xa82c270(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82c7b0() { - double input = 2.28198; - input += synapse0xa754a00(); - input += synapse0xa754a40(); - input += synapse0xa76f900(); - input += synapse0xa76f940(); - input += synapse0xa76f980(); - input += synapse0xa76f9c0(); - input += synapse0xa76fa00(); - input += synapse0xa76fa40(); - return input; -} - -double ruNNEE::neuron0xa82c7b0() { - double input = input0xa82c7b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82d010() { - double input = -2.40913; - input += synapse0xa82d2c0(); - input += synapse0xa82d300(); - input += synapse0xa82d340(); - input += synapse0xa82d380(); - input += synapse0xa82d3c0(); - input += synapse0xa82d400(); - input += synapse0xa82d440(); - input += synapse0xa82d480(); - return input; -} - -double ruNNEE::neuron0xa82d010() { - double input = input0xa82d010(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82d4c0() { - double input = 0.0880209; - input += synapse0xa82d800(); - input += synapse0xa82d840(); - input += synapse0xa82d880(); - input += synapse0xa82d8c0(); - input += synapse0xa82d900(); - input += synapse0xa82d940(); - input += synapse0xa82d980(); - input += synapse0xa82d9c0(); - input += synapse0xa82da00(); - input += synapse0xa82da40(); - return input; -} - -double ruNNEE::neuron0xa82d4c0() { - double input = input0xa82d4c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82da80() { - double input = 0.645116; - input += synapse0xa82ddc0(); - input += synapse0xa82de00(); - input += synapse0xa82de40(); - input += synapse0xa82de80(); - input += synapse0xa82dec0(); - input += synapse0xa82df00(); - input += synapse0xa82df40(); - input += synapse0xa82df80(); - input += synapse0xa82dfc0(); - input += synapse0xa82e000(); - return input; -} - -double ruNNEE::neuron0xa82da80() { - double input = input0xa82da80(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82e040() { - double input = 0.00539517; - input += synapse0xa82e380(); - input += synapse0xa82e3c0(); - input += synapse0xa82e400(); - input += synapse0xa82e440(); - input += synapse0xa82e480(); - input += synapse0xa82e4c0(); - input += synapse0xa82e500(); - input += synapse0xa82e540(); - input += synapse0xa82e580(); - input += synapse0xa82e5c0(); - return input; -} - -double ruNNEE::neuron0xa82e040() { - double input = input0xa82e040(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82e600() { - double input = 0.810706; - input += synapse0xa82e940(); - input += synapse0xa82e980(); - input += synapse0xa82e9c0(); - input += synapse0xa82ea00(); - input += synapse0xa82ea40(); - input += synapse0xa82ea80(); - input += synapse0xa82eac0(); - input += synapse0xa82eb00(); - input += synapse0xa82eb40(); - input += synapse0xa82eb80(); - return input; -} - -double ruNNEE::neuron0xa82e600() { - double input = input0xa82e600(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82ebc0() { - double input = -0.83505; - input += synapse0xa82ef00(); - input += synapse0xa82ef40(); - input += synapse0xa82ef80(); - input += synapse0xa82efc0(); - input += synapse0xa82f000(); - input += synapse0xa82f040(); - input += synapse0xa82f080(); - input += synapse0xa82f0c0(); - input += synapse0xa82f100(); - input += synapse0xa82cc00(); - return input; -} - -double ruNNEE::neuron0xa82ebc0() { - double input = input0xa82ebc0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double ruNNEE::input0xa82cc40() { - double input = 0.0469036; - input += synapse0xa82cf80(); - input += synapse0xa82cfc0(); - input += synapse0xa829ec0(); - input += synapse0xa829f00(); - input += synapse0xa829f40(); - return input; -} - -double ruNNEE::neuron0xa82cc40() { - double input = input0xa82cc40(); - return (input * 1)+0; -} - -double ruNNEE::synapse0xa788800() { - return (neuron0xa8284c0()*-1.47017); -} - -double ruNNEE::synapse0xa8310c0() { - return (neuron0xa828800()*0.300555); -} - -double ruNNEE::synapse0xa82a2a0() { - return (neuron0xa828b40()*-0.153933); -} - -double ruNNEE::synapse0xa82a2e0() { - return (neuron0xa828e80()*0.287892); -} - -double ruNNEE::synapse0xa82a320() { - return (neuron0xa8291c0()*0.0337064); -} - -double ruNNEE::synapse0xa82a360() { - return (neuron0xa829500()*0.235817); -} - -double ruNNEE::synapse0xa82a3a0() { - return (neuron0xa829840()*0.123549); -} - -double ruNNEE::synapse0xa82a3e0() { - return (neuron0xa829b80()*-0.124928); -} - -double ruNNEE::synapse0xa82a760() { - return (neuron0xa8284c0()*0.274245); -} - -double ruNNEE::synapse0xa82a7a0() { - return (neuron0xa828800()*-1.08182); -} - -double ruNNEE::synapse0xa82a7e0() { - return (neuron0xa828b40()*-0.82647); -} - -double ruNNEE::synapse0xa82a820() { - return (neuron0xa828e80()*-1.00043); -} - -double ruNNEE::synapse0xa82a860() { - return (neuron0xa8291c0()*0.143352); -} - -double ruNNEE::synapse0xa82a8a0() { - return (neuron0xa829500()*0.345801); -} - -double ruNNEE::synapse0xa82a8e0() { - return (neuron0xa829840()*2.88779); -} - -double ruNNEE::synapse0xa82a920() { - return (neuron0xa829b80()*-0.550332); -} - -double ruNNEE::synapse0xa82aca0() { - return (neuron0xa8284c0()*1.06424); -} - -double ruNNEE::synapse0xa756da0() { - return (neuron0xa828800()*-2.4593); -} - -double ruNNEE::synapse0xa756de0() { - return (neuron0xa828b40()*-0.716967); -} - -double ruNNEE::synapse0xa82adf0() { - return (neuron0xa828e80()*0.821676); -} - -double ruNNEE::synapse0xa82ae30() { - return (neuron0xa8291c0()*0.888099); -} - -double ruNNEE::synapse0xa82ae70() { - return (neuron0xa829500()*-0.430376); -} - -double ruNNEE::synapse0xa82aeb0() { - return (neuron0xa829840()*-0.0471971); -} - -double ruNNEE::synapse0xa82aef0() { - return (neuron0xa829b80()*0.214872); -} - -double ruNNEE::synapse0xa82b270() { - return (neuron0xa8284c0()*-0.175604); -} - -double ruNNEE::synapse0xa82b2b0() { - return (neuron0xa828800()*-0.391058); -} - -double ruNNEE::synapse0xa82b2f0() { - return (neuron0xa828b40()*-0.0195448); -} - -double ruNNEE::synapse0xa82b330() { - return (neuron0xa828e80()*-0.409259); -} - -double ruNNEE::synapse0xa82b370() { - return (neuron0xa8291c0()*-0.290356); -} - -double ruNNEE::synapse0xa82b3b0() { - return (neuron0xa829500()*0.0849884); -} - -double ruNNEE::synapse0xa82b3f0() { - return (neuron0xa829840()*-0.286946); -} - -double ruNNEE::synapse0xa82b430() { - return (neuron0xa829b80()*0.0658396); -} - -double ruNNEE::synapse0xa82b7b0() { - return (neuron0xa8284c0()*1.86726); -} - -double ruNNEE::synapse0xa8283f0() { - return (neuron0xa828800()*0.673606); -} - -double ruNNEE::synapse0xa831100() { - return (neuron0xa828b40()*1.28299); -} - -double ruNNEE::synapse0xa773110() { - return (neuron0xa828e80()*-3.07066); -} - -double ruNNEE::synapse0xa82ace0() { - return (neuron0xa8291c0()*-1.19893); -} - -double ruNNEE::synapse0xa82ad20() { - return (neuron0xa829500()*0.0879598); -} - -double ruNNEE::synapse0xa82ad60() { - return (neuron0xa829840()*-1.15324); -} - -double ruNNEE::synapse0xa82ada0() { - return (neuron0xa829b80()*0.282287); -} - -double ruNNEE::synapse0xa82bb30() { - return (neuron0xa8284c0()*-0.798174); -} - -double ruNNEE::synapse0xa82bb70() { - return (neuron0xa828800()*-0.23108); -} - -double ruNNEE::synapse0xa82bbb0() { - return (neuron0xa828b40()*-0.0903257); -} - -double ruNNEE::synapse0xa82bbf0() { - return (neuron0xa828e80()*-0.330533); -} - -double ruNNEE::synapse0xa82bc30() { - return (neuron0xa8291c0()*0.0800251); -} - -double ruNNEE::synapse0xa82bc70() { - return (neuron0xa829500()*-0.0635542); -} - -double ruNNEE::synapse0xa82bcb0() { - return (neuron0xa829840()*-0.0161712); -} - -double ruNNEE::synapse0xa82bcf0() { - return (neuron0xa829b80()*-0.270878); -} - -double ruNNEE::synapse0xa82c070() { - return (neuron0xa8284c0()*1.50949); -} - -double ruNNEE::synapse0xa82c0b0() { - return (neuron0xa828800()*0.0766836); -} - -double ruNNEE::synapse0xa82c0f0() { - return (neuron0xa828b40()*-1.30968); -} - -double ruNNEE::synapse0xa82c130() { - return (neuron0xa828e80()*0.193006); -} - -double ruNNEE::synapse0xa82c170() { - return (neuron0xa8291c0()*-1.36285); -} - -double ruNNEE::synapse0xa82c1b0() { - return (neuron0xa829500()*0.951778); -} - -double ruNNEE::synapse0xa82c1f0() { - return (neuron0xa829840()*0.71593); -} - -double ruNNEE::synapse0xa82c230() { - return (neuron0xa829b80()*-0.586066); -} - -double ruNNEE::synapse0xa82c5b0() { - return (neuron0xa8284c0()*1.28256); -} - -double ruNNEE::synapse0xa82c5f0() { - return (neuron0xa828800()*0.534974); -} - -double ruNNEE::synapse0xa82c630() { - return (neuron0xa828b40()*-0.443663); -} - -double ruNNEE::synapse0xa82c670() { - return (neuron0xa828e80()*0.850094); -} - -double ruNNEE::synapse0xa82c6b0() { - return (neuron0xa8291c0()*-0.180367); -} - -double ruNNEE::synapse0xa82c6f0() { - return (neuron0xa829500()*-2.35516); -} - -double ruNNEE::synapse0xa82c730() { - return (neuron0xa829840()*-0.806304); -} - -double ruNNEE::synapse0xa82c770() { - return (neuron0xa829b80()*0.573719); -} - -double ruNNEE::synapse0xa754a00() { - return (neuron0xa8284c0()*1.13865); -} - -double ruNNEE::synapse0xa754a40() { - return (neuron0xa828800()*0.327888); -} - -double ruNNEE::synapse0xa76f900() { - return (neuron0xa828b40()*0.0724785); -} - -double ruNNEE::synapse0xa76f940() { - return (neuron0xa828e80()*0.382394); -} - -double ruNNEE::synapse0xa76f980() { - return (neuron0xa8291c0()*-0.00753103); -} - -double ruNNEE::synapse0xa76f9c0() { - return (neuron0xa829500()*-0.190601); -} - -double ruNNEE::synapse0xa76fa00() { - return (neuron0xa829840()*-0.234588); -} - -double ruNNEE::synapse0xa76fa40() { - return (neuron0xa829b80()*-0.00238543); -} - -double ruNNEE::synapse0xa82d2c0() { - return (neuron0xa8284c0()*0.859022); -} - -double ruNNEE::synapse0xa82d300() { - return (neuron0xa828800()*0.239251); -} - -double ruNNEE::synapse0xa82d340() { - return (neuron0xa828b40()*-0.627504); -} - -double ruNNEE::synapse0xa82d380() { - return (neuron0xa828e80()*0.230238); -} - -double ruNNEE::synapse0xa82d3c0() { - return (neuron0xa8291c0()*-0.417699); -} - -double ruNNEE::synapse0xa82d400() { - return (neuron0xa829500()*0.0416927); -} - -double ruNNEE::synapse0xa82d440() { - return (neuron0xa829840()*0.320059); -} - -double ruNNEE::synapse0xa82d480() { - return (neuron0xa829b80()*-0.367003); -} - -double ruNNEE::synapse0xa82d800() { - return (neuron0xa829ff0()*0.182052); -} - -double ruNNEE::synapse0xa82d840() { - return (neuron0xa82a420()*-0.139437); -} - -double ruNNEE::synapse0xa82d880() { - return (neuron0xa82a960()*-0.598619); -} - -double ruNNEE::synapse0xa82d8c0() { - return (neuron0xa82af30()*-1.35137); -} - -double ruNNEE::synapse0xa82d900() { - return (neuron0xa82b470()*-0.272138); -} - -double ruNNEE::synapse0xa82d940() { - return (neuron0xa82b7f0()*-1.22362); -} - -double ruNNEE::synapse0xa82d980() { - return (neuron0xa82bd30()*0.34401); -} - -double ruNNEE::synapse0xa82d9c0() { - return (neuron0xa82c270()*-0.533939); -} - -double ruNNEE::synapse0xa82da00() { - return (neuron0xa82c7b0()*0.477494); -} - -double ruNNEE::synapse0xa82da40() { - return (neuron0xa82d010()*1.42208); -} - -double ruNNEE::synapse0xa82ddc0() { - return (neuron0xa829ff0()*0.0972746); -} - -double ruNNEE::synapse0xa82de00() { - return (neuron0xa82a420()*1.17598); -} - -double ruNNEE::synapse0xa82de40() { - return (neuron0xa82a960()*-0.752091); -} - -double ruNNEE::synapse0xa82de80() { - return (neuron0xa82af30()*-0.744279); -} - -double ruNNEE::synapse0xa82dec0() { - return (neuron0xa82b470()*-0.120409); -} - -double ruNNEE::synapse0xa82df00() { - return (neuron0xa82b7f0()*-0.209274); -} - -double ruNNEE::synapse0xa82df40() { - return (neuron0xa82bd30()*1.09003); -} - -double ruNNEE::synapse0xa82df80() { - return (neuron0xa82c270()*0.333017); -} - -double ruNNEE::synapse0xa82dfc0() { - return (neuron0xa82c7b0()*2.06864); -} - -double ruNNEE::synapse0xa82e000() { - return (neuron0xa82d010()*1.36074); -} - -double ruNNEE::synapse0xa82e380() { - return (neuron0xa829ff0()*0.383234); -} - -double ruNNEE::synapse0xa82e3c0() { - return (neuron0xa82a420()*0.722152); -} - -double ruNNEE::synapse0xa82e400() { - return (neuron0xa82a960()*0.993275); -} - -double ruNNEE::synapse0xa82e440() { - return (neuron0xa82af30()*-0.812513); -} - -double ruNNEE::synapse0xa82e480() { - return (neuron0xa82b470()*0.429425); -} - -double ruNNEE::synapse0xa82e4c0() { - return (neuron0xa82b7f0()*-1.53475); -} - -double ruNNEE::synapse0xa82e500() { - return (neuron0xa82bd30()*-0.122715); -} - -double ruNNEE::synapse0xa82e540() { - return (neuron0xa82c270()*-0.938325); -} - -double ruNNEE::synapse0xa82e580() { - return (neuron0xa82c7b0()*1.7371); -} - -double ruNNEE::synapse0xa82e5c0() { - return (neuron0xa82d010()*2.06163); -} - -double ruNNEE::synapse0xa82e940() { - return (neuron0xa829ff0()*0.454973); -} - -double ruNNEE::synapse0xa82e980() { - return (neuron0xa82a420()*-1.40592); -} - -double ruNNEE::synapse0xa82e9c0() { - return (neuron0xa82a960()*-1.58567); -} - -double ruNNEE::synapse0xa82ea00() { - return (neuron0xa82af30()*-0.880453); -} - -double ruNNEE::synapse0xa82ea40() { - return (neuron0xa82b470()*-0.359768); -} - -double ruNNEE::synapse0xa82ea80() { - return (neuron0xa82b7f0()*-0.733199); -} - -double ruNNEE::synapse0xa82eac0() { - return (neuron0xa82bd30()*0.688791); -} - -double ruNNEE::synapse0xa82eb00() { - return (neuron0xa82c270()*0.6616); -} - -double ruNNEE::synapse0xa82eb40() { - return (neuron0xa82c7b0()*0.878811); -} - -double ruNNEE::synapse0xa82eb80() { - return (neuron0xa82d010()*1.86126); -} - -double ruNNEE::synapse0xa82ef00() { - return (neuron0xa829ff0()*-1.51421); -} - -double ruNNEE::synapse0xa82ef40() { - return (neuron0xa82a420()*1.22434); -} - -double ruNNEE::synapse0xa82ef80() { - return (neuron0xa82a960()*1.51179); -} - -double ruNNEE::synapse0xa82efc0() { - return (neuron0xa82af30()*1.54355); -} - -double ruNNEE::synapse0xa82f000() { - return (neuron0xa82b470()*1.36086); -} - -double ruNNEE::synapse0xa82f040() { - return (neuron0xa82b7f0()*0.500821); -} - -double ruNNEE::synapse0xa82f080() { - return (neuron0xa82bd30()*1.77085); -} - -double ruNNEE::synapse0xa82f0c0() { - return (neuron0xa82c270()*-1.79602); -} - -double ruNNEE::synapse0xa82f100() { - return (neuron0xa82c7b0()*1.15052); -} - -double ruNNEE::synapse0xa82cc00() { - return (neuron0xa82d010()*-1.15544); -} - -double ruNNEE::synapse0xa82cf80() { - return (neuron0xa82d4c0()*1.74873); -} - -double ruNNEE::synapse0xa82cfc0() { - return (neuron0xa82da80()*2.23277); -} - -double ruNNEE::synapse0xa829ec0() { - return (neuron0xa82e040()*3.82441); -} - -double ruNNEE::synapse0xa829f00() { - return (neuron0xa82e600()*1.89862); -} - -double ruNNEE::synapse0xa829f40() { - return (neuron0xa82ebc0()*-5.32595); -} - -double uuNNEE::Value(int index,double in0,double in1,double in2,double in3,double in4,double in5,double in6,double in7) { - input0 = (in0 - 4.99102)/1.1492; - input1 = (in1 - 2.40353)/1.40003; - input2 = (in2 - 2.41121)/1.41004; - input3 = (in3 - 2.42619)/1.40466; - input4 = (in4 - 1.33856)/1.28698; - input5 = (in5 - 1.33177)/1.28879; - input6 = (in6 - 1.33367)/1.29347; - input7 = (in7 - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x1e0e4b40(); - default: - return 0.; - } -} - -double uuNNEE::Value(int index, double* input) { - input0 = (input[0] - 4.99102)/1.1492; - input1 = (input[1] - 2.40353)/1.40003; - input2 = (input[2] - 2.41121)/1.41004; - input3 = (input[3] - 2.42619)/1.40466; - input4 = (input[4] - 1.33856)/1.28698; - input5 = (input[5] - 1.33177)/1.28879; - input6 = (input[6] - 1.33367)/1.29347; - input7 = (input[7] - 1.34123)/1.29317; - switch(index) { - case 0: - return neuron0x1e0e4b40(); - default: - return 0.; - } -} - -double uuNNEE::neuron0x1e0e03c0() { - return input0; -} - -double uuNNEE::neuron0x1e0e0700() { - return input1; -} - -double uuNNEE::neuron0x1e0e0a40() { - return input2; -} - -double uuNNEE::neuron0x1e0e0d80() { - return input3; -} - -double uuNNEE::neuron0x1e0e10c0() { - return input4; -} - -double uuNNEE::neuron0x1e0e1400() { - return input5; -} - -double uuNNEE::neuron0x1e0e1740() { - return input6; -} - -double uuNNEE::neuron0x1e0e1a80() { - return input7; -} - -double uuNNEE::input0x1e0e1ef0() { - double input = 0.132124; - input += synapse0x1e040700(); - input += synapse0x1e0e8fc0(); - input += synapse0x1e0e21a0(); - input += synapse0x1e0e21e0(); - input += synapse0x1e0e2220(); - input += synapse0x1e0e2260(); - input += synapse0x1e0e22a0(); - input += synapse0x1e0e22e0(); - return input; -} - -double uuNNEE::neuron0x1e0e1ef0() { - double input = input0x1e0e1ef0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e2320() { - double input = -1.56833; - input += synapse0x1e0e2660(); - input += synapse0x1e0e26a0(); - input += synapse0x1e0e26e0(); - input += synapse0x1e0e2720(); - input += synapse0x1e0e2760(); - input += synapse0x1e0e27a0(); - input += synapse0x1e0e27e0(); - input += synapse0x1e0e2820(); - return input; -} - -double uuNNEE::neuron0x1e0e2320() { - double input = input0x1e0e2320(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e2860() { - double input = 2.47862; - input += synapse0x1e0e2ba0(); - input += synapse0x1e00eca0(); - input += synapse0x1e00ece0(); - input += synapse0x1e0e2cf0(); - input += synapse0x1e0e2d30(); - input += synapse0x1e0e2d70(); - input += synapse0x1e0e2db0(); - input += synapse0x1e0e2df0(); - return input; -} - -double uuNNEE::neuron0x1e0e2860() { - double input = input0x1e0e2860(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e2e30() { - double input = -0.411867; - input += synapse0x1e0e3170(); - input += synapse0x1e0e31b0(); - input += synapse0x1e0e31f0(); - input += synapse0x1e0e3230(); - input += synapse0x1e0e3270(); - input += synapse0x1e0e32b0(); - input += synapse0x1e0e32f0(); - input += synapse0x1e0e3330(); - return input; -} - -double uuNNEE::neuron0x1e0e2e30() { - double input = input0x1e0e2e30(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e3370() { - double input = -0.466911; - input += synapse0x1e0e36b0(); - input += synapse0x1e0e02f0(); - input += synapse0x1e0e9000(); - input += synapse0x1e02b010(); - input += synapse0x1e0e2be0(); - input += synapse0x1e0e2c20(); - input += synapse0x1e0e2c60(); - input += synapse0x1e0e2ca0(); - return input; -} - -double uuNNEE::neuron0x1e0e3370() { - double input = input0x1e0e3370(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e36f0() { - double input = 1.76238; - input += synapse0x1e0e3a30(); - input += synapse0x1e0e3a70(); - input += synapse0x1e0e3ab0(); - input += synapse0x1e0e3af0(); - input += synapse0x1e0e3b30(); - input += synapse0x1e0e3b70(); - input += synapse0x1e0e3bb0(); - input += synapse0x1e0e3bf0(); - return input; -} - -double uuNNEE::neuron0x1e0e36f0() { - double input = input0x1e0e36f0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e3c30() { - double input = 0.269915; - input += synapse0x1e0e3f70(); - input += synapse0x1e0e3fb0(); - input += synapse0x1e0e3ff0(); - input += synapse0x1e0e4030(); - input += synapse0x1e0e4070(); - input += synapse0x1e0e40b0(); - input += synapse0x1e0e40f0(); - input += synapse0x1e0e4130(); - return input; -} - -double uuNNEE::neuron0x1e0e3c30() { - double input = input0x1e0e3c30(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e4170() { - double input = -1.28328; - input += synapse0x1e0e44b0(); - input += synapse0x1e0e44f0(); - input += synapse0x1e0e4530(); - input += synapse0x1e0e4570(); - input += synapse0x1e0e45b0(); - input += synapse0x1e0e45f0(); - input += synapse0x1e0e4630(); - input += synapse0x1e0e4670(); - return input; -} - -double uuNNEE::neuron0x1e0e4170() { - double input = input0x1e0e4170(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e46b0() { - double input = 0.991379; - input += synapse0x1e00c900(); - input += synapse0x1e00c940(); - input += synapse0x1e027800(); - input += synapse0x1e027840(); - input += synapse0x1e027880(); - input += synapse0x1e0278c0(); - input += synapse0x1e027900(); - input += synapse0x1e027940(); - return input; -} - -double uuNNEE::neuron0x1e0e46b0() { - double input = input0x1e0e46b0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e4f10() { - double input = -0.40117; - input += synapse0x1e0e51c0(); - input += synapse0x1e0e5200(); - input += synapse0x1e0e5240(); - input += synapse0x1e0e5280(); - input += synapse0x1e0e52c0(); - input += synapse0x1e0e5300(); - input += synapse0x1e0e5340(); - input += synapse0x1e0e5380(); - return input; -} - -double uuNNEE::neuron0x1e0e4f10() { - double input = input0x1e0e4f10(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e53c0() { - double input = -2.43098; - input += synapse0x1e0e5700(); - input += synapse0x1e0e5740(); - input += synapse0x1e0e5780(); - input += synapse0x1e0e57c0(); - input += synapse0x1e0e5800(); - input += synapse0x1e0e5840(); - input += synapse0x1e0e5880(); - input += synapse0x1e0e58c0(); - input += synapse0x1e0e5900(); - input += synapse0x1e0e5940(); - return input; -} - -double uuNNEE::neuron0x1e0e53c0() { - double input = input0x1e0e53c0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e5980() { - double input = -0.49089; - input += synapse0x1e0e5cc0(); - input += synapse0x1e0e5d00(); - input += synapse0x1e0e5d40(); - input += synapse0x1e0e5d80(); - input += synapse0x1e0e5dc0(); - input += synapse0x1e0e5e00(); - input += synapse0x1e0e5e40(); - input += synapse0x1e0e5e80(); - input += synapse0x1e0e5ec0(); - input += synapse0x1e0e5f00(); - return input; -} - -double uuNNEE::neuron0x1e0e5980() { - double input = input0x1e0e5980(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e5f40() { - double input = -1.40155; - input += synapse0x1e0e6280(); - input += synapse0x1e0e62c0(); - input += synapse0x1e0e6300(); - input += synapse0x1e0e6340(); - input += synapse0x1e0e6380(); - input += synapse0x1e0e63c0(); - input += synapse0x1e0e6400(); - input += synapse0x1e0e6440(); - input += synapse0x1e0e6480(); - input += synapse0x1e0e64c0(); - return input; -} - -double uuNNEE::neuron0x1e0e5f40() { - double input = input0x1e0e5f40(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e6500() { - double input = 0.856813; - input += synapse0x1e0e6840(); - input += synapse0x1e0e6880(); - input += synapse0x1e0e68c0(); - input += synapse0x1e0e6900(); - input += synapse0x1e0e6940(); - input += synapse0x1e0e6980(); - input += synapse0x1e0e69c0(); - input += synapse0x1e0e6a00(); - input += synapse0x1e0e6a40(); - input += synapse0x1e0e6a80(); - return input; -} - -double uuNNEE::neuron0x1e0e6500() { - double input = input0x1e0e6500(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e6ac0() { - double input = -2.19246; - input += synapse0x1e0e6e00(); - input += synapse0x1e0e6e40(); - input += synapse0x1e0e6e80(); - input += synapse0x1e0e6ec0(); - input += synapse0x1e0e6f00(); - input += synapse0x1e0e6f40(); - input += synapse0x1e0e6f80(); - input += synapse0x1e0e6fc0(); - input += synapse0x1e0e7000(); - input += synapse0x1e0e4b00(); - return input; -} - -double uuNNEE::neuron0x1e0e6ac0() { - double input = input0x1e0e6ac0(); - return ((input < -709. ? 0. : (1/(1+exp(-input)))) * 1)+0; -} - -double uuNNEE::input0x1e0e4b40() { - double input = 1.19185; - input += synapse0x1e0e4e80(); - input += synapse0x1e0e4ec0(); - input += synapse0x1e0e1dc0(); - input += synapse0x1e0e1e00(); - input += synapse0x1e0e1e40(); - return input; -} - -double uuNNEE::neuron0x1e0e4b40() { - double input = input0x1e0e4b40(); - return (input * 1)+0; -} - -double uuNNEE::synapse0x1e040700() { - return (neuron0x1e0e03c0()*-1.62498); -} - -double uuNNEE::synapse0x1e0e8fc0() { - return (neuron0x1e0e0700()*-1.12984); -} - -double uuNNEE::synapse0x1e0e21a0() { - return (neuron0x1e0e0a40()*-1.65077); -} - -double uuNNEE::synapse0x1e0e21e0() { - return (neuron0x1e0e0d80()*1.10939); -} - -double uuNNEE::synapse0x1e0e2220() { - return (neuron0x1e0e10c0()*-0.662375); -} - -double uuNNEE::synapse0x1e0e2260() { - return (neuron0x1e0e1400()*0.722792); -} - -double uuNNEE::synapse0x1e0e22a0() { - return (neuron0x1e0e1740()*2.60651); -} - -double uuNNEE::synapse0x1e0e22e0() { - return (neuron0x1e0e1a80()*0.205855); -} - -double uuNNEE::synapse0x1e0e2660() { - return (neuron0x1e0e03c0()*0.867588); -} - -double uuNNEE::synapse0x1e0e26a0() { - return (neuron0x1e0e0700()*0.986362); -} - -double uuNNEE::synapse0x1e0e26e0() { - return (neuron0x1e0e0a40()*0.215262); -} - -double uuNNEE::synapse0x1e0e2720() { - return (neuron0x1e0e0d80()*-0.367279); -} - -double uuNNEE::synapse0x1e0e2760() { - return (neuron0x1e0e10c0()*-1.55761); -} - -double uuNNEE::synapse0x1e0e27a0() { - return (neuron0x1e0e1400()*-0.685611); -} - -double uuNNEE::synapse0x1e0e27e0() { - return (neuron0x1e0e1740()*0.331329); -} - -double uuNNEE::synapse0x1e0e2820() { - return (neuron0x1e0e1a80()*0.810081); -} - -double uuNNEE::synapse0x1e0e2ba0() { - return (neuron0x1e0e03c0()*1.3436); -} - -double uuNNEE::synapse0x1e00eca0() { - return (neuron0x1e0e0700()*0.733122); -} - -double uuNNEE::synapse0x1e00ece0() { - return (neuron0x1e0e0a40()*-0.413899); -} - -double uuNNEE::synapse0x1e0e2cf0() { - return (neuron0x1e0e0d80()*0.705015); -} - -double uuNNEE::synapse0x1e0e2d30() { - return (neuron0x1e0e10c0()*-0.95841); -} - -double uuNNEE::synapse0x1e0e2d70() { - return (neuron0x1e0e1400()*-0.2698); -} - -double uuNNEE::synapse0x1e0e2db0() { - return (neuron0x1e0e1740()*0.00991537); -} - -double uuNNEE::synapse0x1e0e2df0() { - return (neuron0x1e0e1a80()*-0.176317); -} - -double uuNNEE::synapse0x1e0e3170() { - return (neuron0x1e0e03c0()*0.605556); -} - -double uuNNEE::synapse0x1e0e31b0() { - return (neuron0x1e0e0700()*-0.0700405); -} - -double uuNNEE::synapse0x1e0e31f0() { - return (neuron0x1e0e0a40()*0.643331); -} - -double uuNNEE::synapse0x1e0e3230() { - return (neuron0x1e0e0d80()*0.0630598); -} - -double uuNNEE::synapse0x1e0e3270() { - return (neuron0x1e0e10c0()*0.649561); -} - -double uuNNEE::synapse0x1e0e32b0() { - return (neuron0x1e0e1400()*0.157865); -} - -double uuNNEE::synapse0x1e0e32f0() { - return (neuron0x1e0e1740()*-0.780671); -} - -double uuNNEE::synapse0x1e0e3330() { - return (neuron0x1e0e1a80()*-0.252903); -} - -double uuNNEE::synapse0x1e0e36b0() { - return (neuron0x1e0e03c0()*-0.913091); -} - -double uuNNEE::synapse0x1e0e02f0() { - return (neuron0x1e0e0700()*-0.177423); -} - -double uuNNEE::synapse0x1e0e9000() { - return (neuron0x1e0e0a40()*2.24212); -} - -double uuNNEE::synapse0x1e02b010() { - return (neuron0x1e0e0d80()*0.458241); -} - -double uuNNEE::synapse0x1e0e2be0() { - return (neuron0x1e0e10c0()*0.57807); -} - -double uuNNEE::synapse0x1e0e2c20() { - return (neuron0x1e0e1400()*-0.0153282); -} - -double uuNNEE::synapse0x1e0e2c60() { - return (neuron0x1e0e1740()*-1.62724); -} - -double uuNNEE::synapse0x1e0e2ca0() { - return (neuron0x1e0e1a80()*-0.128059); -} - -double uuNNEE::synapse0x1e0e3a30() { - return (neuron0x1e0e03c0()*0.307401); -} - -double uuNNEE::synapse0x1e0e3a70() { - return (neuron0x1e0e0700()*-0.0846233); -} - -double uuNNEE::synapse0x1e0e3ab0() { - return (neuron0x1e0e0a40()*-0.796274); -} - -double uuNNEE::synapse0x1e0e3af0() { - return (neuron0x1e0e0d80()*1.84915); -} - -double uuNNEE::synapse0x1e0e3b30() { - return (neuron0x1e0e10c0()*-0.293791); -} - -double uuNNEE::synapse0x1e0e3b70() { - return (neuron0x1e0e1400()*-0.535142); -} - -double uuNNEE::synapse0x1e0e3bb0() { - return (neuron0x1e0e1740()*0.282696); -} - -double uuNNEE::synapse0x1e0e3bf0() { - return (neuron0x1e0e1a80()*-0.43494); -} - -double uuNNEE::synapse0x1e0e3f70() { - return (neuron0x1e0e03c0()*0.641573); -} - -double uuNNEE::synapse0x1e0e3fb0() { - return (neuron0x1e0e0700()*-2.2047); -} - -double uuNNEE::synapse0x1e0e3ff0() { - return (neuron0x1e0e0a40()*0.411344); -} - -double uuNNEE::synapse0x1e0e4030() { - return (neuron0x1e0e0d80()*-0.259468); -} - -double uuNNEE::synapse0x1e0e4070() { - return (neuron0x1e0e10c0()*1.80947); -} - -double uuNNEE::synapse0x1e0e40b0() { - return (neuron0x1e0e1400()*0.0964665); -} - -double uuNNEE::synapse0x1e0e40f0() { - return (neuron0x1e0e1740()*-0.646553); -} - -double uuNNEE::synapse0x1e0e4130() { - return (neuron0x1e0e1a80()*-0.194568); -} - -double uuNNEE::synapse0x1e0e44b0() { - return (neuron0x1e0e03c0()*-0.865571); -} - -double uuNNEE::synapse0x1e0e44f0() { - return (neuron0x1e0e0700()*0.308825); -} - -double uuNNEE::synapse0x1e0e4530() { - return (neuron0x1e0e0a40()*0.0972404); -} - -double uuNNEE::synapse0x1e0e4570() { - return (neuron0x1e0e0d80()*0.747192); -} - -double uuNNEE::synapse0x1e0e45b0() { - return (neuron0x1e0e10c0()*0.259783); -} - -double uuNNEE::synapse0x1e0e45f0() { - return (neuron0x1e0e1400()*0.262404); -} - -double uuNNEE::synapse0x1e0e4630() { - return (neuron0x1e0e1740()*1.1773); -} - -double uuNNEE::synapse0x1e0e4670() { - return (neuron0x1e0e1a80()*0.0180551); -} - -double uuNNEE::synapse0x1e00c900() { - return (neuron0x1e0e03c0()*-1.36178); -} - -double uuNNEE::synapse0x1e00c940() { - return (neuron0x1e0e0700()*0.469672); -} - -double uuNNEE::synapse0x1e027800() { - return (neuron0x1e0e0a40()*-0.517745); -} - -double uuNNEE::synapse0x1e027840() { - return (neuron0x1e0e0d80()*0.132974); -} - -double uuNNEE::synapse0x1e027880() { - return (neuron0x1e0e10c0()*-0.203739); -} - -double uuNNEE::synapse0x1e0278c0() { - return (neuron0x1e0e1400()*-0.44837); -} - -double uuNNEE::synapse0x1e027900() { - return (neuron0x1e0e1740()*2.97524); -} - -double uuNNEE::synapse0x1e027940() { - return (neuron0x1e0e1a80()*-0.316517); -} - -double uuNNEE::synapse0x1e0e51c0() { - return (neuron0x1e0e03c0()*1.82517); -} - -double uuNNEE::synapse0x1e0e5200() { - return (neuron0x1e0e0700()*0.414161); -} - -double uuNNEE::synapse0x1e0e5240() { - return (neuron0x1e0e0a40()*0.251126); -} - -double uuNNEE::synapse0x1e0e5280() { - return (neuron0x1e0e0d80()*-0.507721); -} - -double uuNNEE::synapse0x1e0e52c0() { - return (neuron0x1e0e10c0()*-2.57603); -} - -double uuNNEE::synapse0x1e0e5300() { - return (neuron0x1e0e1400()*0.286574); -} - -double uuNNEE::synapse0x1e0e5340() { - return (neuron0x1e0e1740()*-0.149589); -} - -double uuNNEE::synapse0x1e0e5380() { - return (neuron0x1e0e1a80()*0.0424992); -} - -double uuNNEE::synapse0x1e0e5700() { - return (neuron0x1e0e1ef0()*-0.728981); -} - -double uuNNEE::synapse0x1e0e5740() { - return (neuron0x1e0e2320()*-0.217835); -} - -double uuNNEE::synapse0x1e0e5780() { - return (neuron0x1e0e2860()*2.14288); -} - -double uuNNEE::synapse0x1e0e57c0() { - return (neuron0x1e0e2e30()*0.843815); -} - -double uuNNEE::synapse0x1e0e5800() { - return (neuron0x1e0e3370()*-1.88617); -} - -double uuNNEE::synapse0x1e0e5840() { - return (neuron0x1e0e36f0()*-1.95356); -} - -double uuNNEE::synapse0x1e0e5880() { - return (neuron0x1e0e3c30()*0.139252); -} - -double uuNNEE::synapse0x1e0e58c0() { - return (neuron0x1e0e4170()*1.47315); -} - -double uuNNEE::synapse0x1e0e5900() { - return (neuron0x1e0e46b0()*0.554027); -} - -double uuNNEE::synapse0x1e0e5940() { - return (neuron0x1e0e4f10()*0.17062); -} - -double uuNNEE::synapse0x1e0e5cc0() { - return (neuron0x1e0e1ef0()*0.448036); -} - -double uuNNEE::synapse0x1e0e5d00() { - return (neuron0x1e0e2320()*-0.254115); -} - -double uuNNEE::synapse0x1e0e5d40() { - return (neuron0x1e0e2860()*-0.00580066); -} - -double uuNNEE::synapse0x1e0e5d80() { - return (neuron0x1e0e2e30()*-1.69415); -} - -double uuNNEE::synapse0x1e0e5dc0() { - return (neuron0x1e0e3370()*0.854384); -} - -double uuNNEE::synapse0x1e0e5e00() { - return (neuron0x1e0e36f0()*0.979013); -} - -double uuNNEE::synapse0x1e0e5e40() { - return (neuron0x1e0e3c30()*-0.992856); -} - -double uuNNEE::synapse0x1e0e5e80() { - return (neuron0x1e0e4170()*-0.753223); -} - -double uuNNEE::synapse0x1e0e5ec0() { - return (neuron0x1e0e46b0()*-2.07683); -} - -double uuNNEE::synapse0x1e0e5f00() { - return (neuron0x1e0e4f10()*0.716962); -} - -double uuNNEE::synapse0x1e0e6280() { - return (neuron0x1e0e1ef0()*0.475778); -} - -double uuNNEE::synapse0x1e0e62c0() { - return (neuron0x1e0e2320()*0.272449); -} - -double uuNNEE::synapse0x1e0e6300() { - return (neuron0x1e0e2860()*1.24325); -} - -double uuNNEE::synapse0x1e0e6340() { - return (neuron0x1e0e2e30()*1.14387); -} - -double uuNNEE::synapse0x1e0e6380() { - return (neuron0x1e0e3370()*-1.03597); -} - -double uuNNEE::synapse0x1e0e63c0() { - return (neuron0x1e0e36f0()*-0.808608); -} - -double uuNNEE::synapse0x1e0e6400() { - return (neuron0x1e0e3c30()*-0.67539); -} - -double uuNNEE::synapse0x1e0e6440() { - return (neuron0x1e0e4170()*1.19305); -} - -double uuNNEE::synapse0x1e0e6480() { - return (neuron0x1e0e46b0()*0.303352); -} - -double uuNNEE::synapse0x1e0e64c0() { - return (neuron0x1e0e4f10()*1.16241); -} - -double uuNNEE::synapse0x1e0e6840() { - return (neuron0x1e0e1ef0()*-0.398235); -} - -double uuNNEE::synapse0x1e0e6880() { - return (neuron0x1e0e2320()*-1.07879); -} - -double uuNNEE::synapse0x1e0e68c0() { - return (neuron0x1e0e2860()*-1.88175); -} - -double uuNNEE::synapse0x1e0e6900() { - return (neuron0x1e0e2e30()*-1.7548); -} - -double uuNNEE::synapse0x1e0e6940() { - return (neuron0x1e0e3370()*-0.585679); -} - -double uuNNEE::synapse0x1e0e6980() { - return (neuron0x1e0e36f0()*0.328479); -} - -double uuNNEE::synapse0x1e0e69c0() { - return (neuron0x1e0e3c30()*-1.09065); -} - -double uuNNEE::synapse0x1e0e6a00() { - return (neuron0x1e0e4170()*1.3457); -} - -double uuNNEE::synapse0x1e0e6a40() { - return (neuron0x1e0e46b0()*1.02988); -} - -double uuNNEE::synapse0x1e0e6a80() { - return (neuron0x1e0e4f10()*1.23338); -} - -double uuNNEE::synapse0x1e0e6e00() { - return (neuron0x1e0e1ef0()*1.19672); -} - -double uuNNEE::synapse0x1e0e6e40() { - return (neuron0x1e0e2320()*0.632228); -} - -double uuNNEE::synapse0x1e0e6e80() { - return (neuron0x1e0e2860()*-0.546108); -} - -double uuNNEE::synapse0x1e0e6ec0() { - return (neuron0x1e0e2e30()*-0.471203); -} - -double uuNNEE::synapse0x1e0e6f00() { - return (neuron0x1e0e3370()*-1.06115); -} - -double uuNNEE::synapse0x1e0e6f40() { - return (neuron0x1e0e36f0()*-0.790267); -} - -double uuNNEE::synapse0x1e0e6f80() { - return (neuron0x1e0e3c30()*2.03872); -} - -double uuNNEE::synapse0x1e0e6fc0() { - return (neuron0x1e0e4170()*0.339001); -} - -double uuNNEE::synapse0x1e0e7000() { - return (neuron0x1e0e46b0()*2.30874); -} - -double uuNNEE::synapse0x1e0e4b00() { - return (neuron0x1e0e4f10()*-2.70062); -} - -double uuNNEE::synapse0x1e0e4e80() { - return (neuron0x1e0e53c0()*3.61326); -} - -double uuNNEE::synapse0x1e0e4ec0() { - return (neuron0x1e0e5980()*-2.48462); -} - -double uuNNEE::synapse0x1e0e1dc0() { - return (neuron0x1e0e5f40()*3.14274); -} - -double uuNNEE::synapse0x1e0e1e00() { - return (neuron0x1e0e6500()*-4.10291); -} - -double uuNNEE::synapse0x1e0e1e40() { - return (neuron0x1e0e6ac0()*3.40931); -} - - From 42c3ab3703ef78f6d6b516980dd7775b9156bfbf Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Sun, 30 Mar 2014 06:42:48 +0200 Subject: [PATCH 05/11] Merge EB/EE classes in RecoLocalCalo/EcalDeadChannelRecoveryAlgos/ . --- .../interface/CrystalMatrixProbabilityEE.h | 68 -- .../interface/DeadChannelNNContext.h | 48 -- .../interface/EBDeadChannelRecoveryAlgos.h | 46 -- .../interface/EEDeadChannelRecoveryAlgos.h | 45 -- .../interface/EcalCrystalMatrixProbality.h | 20 + .../interface/EcalDeadChannelRecoveryAlgos.h | 21 + .../interface/EcalDeadChannelRecoveryNN.h | 61 ++ .../src/DeadChannelNNContext.cc | 122 ---- .../src/EBDeadChannelRecoveryAlgos.cc | 343 ---------- .../src/EEDeadChannelRecoveryAlgos.cc | 339 ---------- .../EcalCrystalMatrixProbality.cc} | 83 ++- .../src/EcalDeadChannelRecoveryAlgos.cc | 36 ++ .../src/EcalDeadChannelRecoveryNN.cc | 596 ++++++++++++++++++ .../EBDeadChannelRecoveryProducers.h | 4 +- .../EEDeadChannelRecoveryProducers.h | 4 +- .../src/EBDeadChannelRecoveryProducers.cc | 2 +- .../src/EEDeadChannelRecoveryProducers.cc | 3 +- .../plugins/EcalRecHitWorkerRecover.cc | 46 +- .../plugins/EcalRecHitWorkerRecover.h | 7 +- 19 files changed, 833 insertions(+), 1061 deletions(-) delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEE.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalCrystalMatrixProbality.h create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc rename RecoLocalCalo/EcalDeadChannelRecoveryAlgos/{interface/CrystalMatrixProbabilityEB.h => src/EcalCrystalMatrixProbality.cc} (51%) create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEE.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEE.h deleted file mode 100644 index 9c89bf51bbab8..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEE.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CrystalMatrixProbabilityEE_CC -#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CrystalMatrixProbabilityEE_CC - -// -// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) -// Created: Mon Feb 04 10:45:16 EET 2013 -// - -#include "TMath.h" - -double EECentral(double x){ - - double vEECentral = 0.0 ; - - if ( x <= 0.195 ) { vEECentral = 0.0 ; } - else if ( 0.195 < x && x <= 0.440 ) { vEECentral = (-30295.4+562760*x-4.04967e+06*x*x+1.40276e+07*x*x*x-2.33108e+07*x*x*x*x+1.50243e+07*x*x*x*x*x)/9.44506089594767786e+02 ; } - else if ( 0.440 < x && x <= 0.840 ) { vEECentral = (-34683.3+274011*x-749408*x*x+895482*x*x*x-396108*x*x*x*x)/9.44506089594767786e+02 ; } - else if ( 0.840 < x && x <= 0.875 ) { vEECentral = (4.7355575e+06-1.6268056e+07*x+1.8629316e+07*x*x-7.1113915e+06*x*x*x)/9.44506089594767786e+02 ; } - else if ( 0.875 < x ) { vEECentral = 0.0 ; } - else { vEECentral = 0.0 ; } - - return vEECentral ; - -} - -double EEDiagonal(double x){ - - double vEEDiagonal = 0.0 ; - - if ( 0.000 < x && x <= 0.015 ) { vEEDiagonal = TMath::Landau(x,8.25505e-03,3.10387e-03,1)*1.68601977536835489e+03/1.86234137068993937e+03 ; } - else if ( 0.015 < x && x <= 0.150 ) { vEEDiagonal = TMath::Landau(x,-5.58560e-04,2.44735e-03,1)*4.88463235185936264e+03/1.86234137068993937e+03 ; } - else if ( 0.150 < x && x <= 0.400 ) { vEEDiagonal = (7416.66-114653*x+763877*x*x-2.57767e+06*x*x*x+4.28872e+06*x*x*x*x-2.79218e+06*x*x*x*x*x)/1.86234137068993937e+03 ; } - else if ( 0.400 < x ) { vEEDiagonal = 0.0 ; } - else { vEEDiagonal = 0.0 ; } - - return vEEDiagonal ; - -} - -double EEUpDown(double x){ - - double vEEUpDown = 0.0 ; - - if ( 0.000 < x && x <= 0.015 ) { vEEUpDown = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; } - else if ( 0.015 < x && x <= 0.100 ) { vEEUpDown = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; } - else if ( 0.100 < x && x <= 0.450 ) { vEEUpDown = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; } - else if ( 0.450 < x ) { vEEUpDown = 0.0 ; } - else { vEEUpDown = 0.0 ; } - - return vEEUpDown ; - -} - -double EEReftRight(double x){ - - double vEEReftRight = 0.0 ; - - if ( 0.000 < x && x <= 0.015 ) { vEEReftRight = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; } - else if ( 0.015 < x && x <= 0.100 ) { vEEReftRight = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; } - else if ( 0.100 < x && x <= 0.450 ) { vEEReftRight = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; } - else if ( 0.450 < x ) { vEEReftRight = 0.0 ; } - else { vEEReftRight = 0.0 ; } - - return vEEReftRight ; - -} - -#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h deleted file mode 100644 index 5e34578e9788f..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_DeadChannelNNContext_H -#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_DeadChannelNNContext_H - -#include -#include - -#include - -class DeadChannelNNContext { - // Arrangement within the M3x3Input matrix - // - // M3x3 - // ----------------------------------- - // - // - // LU UU RU 04 01 07 - // LL CC RR or 03 00 06 - // LD DD RD 05 02 08 - - public: - DeadChannelNNContext(); - ~DeadChannelNNContext(); - - // Enumeration to switch from custom names within the 3x3 matrix. - enum CellID { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 }; - - // Double value_ee(CellID missing, Double_t inputs[8]); - // Double value_eb(CellID missing, Double_t inputs[8]); - - double estimateEnergyEB(double *M3x3Input, double epsilon=0.0000001); - double estimateEnergyEE(double *M3x3Input, double epsilon=0.0000001); - - private: - struct MultiLayerPerceptronContext { - Double_t tmp[9]; - TTree *tree; - TMultiLayerPerceptron *mlp; - }; - - MultiLayerPerceptronContext ctx_eb[9]; - MultiLayerPerceptronContext ctx_ee[9]; - - void load(); - void load_file(MultiLayerPerceptronContext& ctx, std::string fn); - double estimateEnergy(MultiLayerPerceptronContext *ctx, double *M3x3Input, double epsilon); -}; - -#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h deleted file mode 100644 index 80095895bad22..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EBDeadChannelRecoveryAlgos_HH -#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EBDeadChannelRecoveryAlgos_HH - -/** \class EBDeadChannelRecoveryAlgos - * - * \author Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) - */ - - -// Geometry -#include "Geometry/Records/interface/IdealGeometryRecord.h" -#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" -#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" -#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" -#include "Geometry/CaloTopology/interface/EcalEndcapHardcodedTopology.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" -#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" -#include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" - -// Reconstruction Classes -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/EcalDetId/interface/EBDetId.h" -#include - -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" - -class EBDeadChannelRecoveryAlgos { - public: - - void setCaloTopology(const CaloTopology *theCaloTopology); - EcalRecHit correct(const EBDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut, bool* AccFlag); - - private: - - const CaloTopology * calotopo; - double MakeNxNMatrice_RelMC(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelMC, bool* AccFlag); - double MakeNxNMatrice_RelDC(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelDC, bool* AccFlag); - - DeadChannelNNContext nn; -}; -#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h deleted file mode 100644 index cab8e797b9ff2..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EEDeadChannelRecoveryAlgos_HH -#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EEDeadChannelRecoveryAlgos_HH - -/** \class EEDeadChannelRecoveryAlgos - * - * \author Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) - */ - - -// Geometry -#include "Geometry/Records/interface/IdealGeometryRecord.h" -#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" -#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" -#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" -#include "Geometry/CaloTopology/interface/EcalEndcapHardcodedTopology.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" -#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" -#include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" - -// Reconstruction Classes -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/EcalDetId/interface/EEDetId.h" -#include - -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" - -class EEDeadChannelRecoveryAlgos { - public: - void setCaloTopology(const CaloTopology *theCaloTopology); - EcalRecHit correct(const EEDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut, bool* AccFlag); - - private: - - const CaloTopology * calotopo; - double MakeNxNMatrice_RelMC(EEDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelMC, bool* AccFlag); - double MakeNxNMatrice_RelDC(EEDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelDC, bool* AccFlag); - - DeadChannelNNContext nn; -}; -#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalCrystalMatrixProbality.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalCrystalMatrixProbality.h new file mode 100644 index 0000000000000..f01bf6dd24f3e --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalCrystalMatrixProbality.h @@ -0,0 +1,20 @@ +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalCrystalMatrixProbability_CC +#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalCrystalMatrixProbability_CC + +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Mon Feb 04 10:45:16 EET 2013 +// + +#include "TMath.h" + +template +class EcalCrystalMatrixProbality { + public: + static double Central(double x); + static double Diagonal(double x); + static double UpDown(double x); + static double ReftRight(double x); +}; + +#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h new file mode 100644 index 0000000000000..def90e03e915a --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h @@ -0,0 +1,21 @@ +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalDeadChannelRecoveryAlgos_HH +#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_ECalDeadChannelRecoveryAlgos_HH + +// Reconstruction Classes +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" +#include "DataFormats/EcalDetId/interface/EBDetId.h" +#include + +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h" + +template +class EcalDeadChannelRecoveryAlgos { + public: + void setCaloTopology(const CaloTopology *topology); + EcalRecHit correct(const DetIdT id, const EcalRecHitCollection& hit_collection, std::string algo, double Sum8Cut, bool *AccFlag); + + private: + EcalDeadChannelRecoveryNN nn; +}; +#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h new file mode 100644 index 0000000000000..2267b6edf4327 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h @@ -0,0 +1,61 @@ +#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalDeadChannelRecoveryNN_H +#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalDeadChannelRecoveryNN_H + +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" + +#include "DataFormats/EcalDetId/interface/EBDetId.h" +#include "DataFormats/EcalDetId/interface/EEDetId.h" + +#include "Geometry/CaloTopology/interface/CaloTopology.h" +#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" + +#include +#include + +#include +#include + +template +class EcalDeadChannelRecoveryNN { + // Arrangement within the M3x3Input matrix + // + // M3x3 + // ----------------------------------- + // + // + // LU UU RU 04 01 07 + // LL CC RR or 03 00 06 + // LD DD RD 05 02 08 + + public: + EcalDeadChannelRecoveryNN(); + ~EcalDeadChannelRecoveryNN(); + + // Enumeration to switch from custom names within the 3x3 matrix. + enum CellID { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 }; + + void setCaloTopology(const CaloTopology *topo); + double recover(const DetIdT id, const EcalRecHitCollection& hit_collection, double Sum8Cut, bool *AcceptFlag); + + private: + struct MultiLayerPerceptronContext { + Double_t tmp[9]; + TTree *tree; + TMultiLayerPerceptron *mlp; + }; + + const CaloTopology * calotopo_; + MultiLayerPerceptronContext ctx_[9]; + + void load(); + void load_file(MultiLayerPerceptronContext& ctx, std::string fn); + +public: + double estimateEnergy(double *M3x3Input, double epsilon=0.0000001); + + double makeNxNMatrice_RelMC(DetIdT itID, const EcalRecHitCollection& hit_collection, double *MNxN_RelMC, bool* AccFlag); + double makeNxNMatrice_RelDC(DetIdT itID, const EcalRecHitCollection& hit_collection, double *MNxN_RelDC, bool* AccFlag); +}; + +#endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc deleted file mode 100644 index 191d72f39b3b3..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/DeadChannelNNContext.cc +++ /dev/null @@ -1,122 +0,0 @@ -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/DeadChannelNNContext.h" -#include "FWCore/ParameterSet/interface/FileInPath.h" - -#include -#include - -DeadChannelNNContext::DeadChannelNNContext() { - for (int id = 0; id < 9; ++id) { - ctx_eb[id].mlp = NULL; - ctx_ee[id].mlp = NULL; - } - - this->load(); -} - -DeadChannelNNContext::~DeadChannelNNContext() { - for (int id = 0; id < 9; ++id) { - if (ctx_eb[id].mlp) { - // @TODO segfaults for an uknown reason - // delete ctx[id].mlp; - // delete ctx[id].tree; - } - - if (ctx_ee[id].mlp) { - // @TODO segfaults for an uknown reason - // delete ctx[id].mlp; - // delete ctx[id].tree; - } - } -} - -void DeadChannelNNContext::load_file(MultiLayerPerceptronContext& ctx, std::string fn) { - std::string path = edm::FileInPath(fn).fullPath(); - - TTree *t = new TTree("t", "dummy MLP tree"); - t->SetDirectory(0); - - t->Branch("z1", &(ctx.tmp[0]), "z1/D"); - t->Branch("z2", &(ctx.tmp[1]), "z2/D"); - t->Branch("z3", &(ctx.tmp[2]), "z3/D"); - t->Branch("z4", &(ctx.tmp[3]), "z4/D"); - t->Branch("z5", &(ctx.tmp[4]), "z5/D"); - t->Branch("z6", &(ctx.tmp[5]), "z6/D"); - t->Branch("z7", &(ctx.tmp[6]), "z7/D"); - t->Branch("z8", &(ctx.tmp[7]), "z8/D"); - t->Branch("zf", &(ctx.tmp[8]), "zf/D"); - - ctx.tree = t; - ctx.mlp = - new TMultiLayerPerceptron("@z1,@z2,@z3,@z4,@z5,@z6,@z7,@z8:10:5:zf", t); - ctx.mlp->LoadWeights(path.c_str()); -} - -void DeadChannelNNContext::load() { - std::string p = "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/"; - - this->load_file(ctx_eb[CellID::CC], p + "EB_ccNNWeights.txt"); - this->load_file(ctx_eb[CellID::RR], p + "EB_rrNNWeights.txt"); - this->load_file(ctx_eb[CellID::LL], p + "EB_llNNWeights.txt"); - this->load_file(ctx_eb[CellID::UU], p + "EB_uuNNWeights.txt"); - this->load_file(ctx_eb[CellID::DD], p + "EB_ddNNWeights.txt"); - this->load_file(ctx_eb[CellID::RU], p + "EB_ruNNWeights.txt"); - this->load_file(ctx_eb[CellID::RD], p + "EB_rdNNWeights.txt"); - this->load_file(ctx_eb[CellID::LU], p + "EB_luNNWeights.txt"); - this->load_file(ctx_eb[CellID::LD], p + "EB_ldNNWeights.txt"); - - this->load_file(ctx_ee[CellID::CC], p + "EE_ccNNWeights.txt"); - this->load_file(ctx_ee[CellID::RR], p + "EE_rrNNWeights.txt"); - this->load_file(ctx_ee[CellID::LL], p + "EE_llNNWeights.txt"); - this->load_file(ctx_ee[CellID::UU], p + "EE_uuNNWeights.txt"); - this->load_file(ctx_ee[CellID::DD], p + "EE_ddNNWeights.txt"); - this->load_file(ctx_ee[CellID::RU], p + "EE_ruNNWeights.txt"); - this->load_file(ctx_ee[CellID::RD], p + "EE_rdNNWeights.txt"); - this->load_file(ctx_ee[CellID::LU], p + "EE_luNNWeights.txt"); - this->load_file(ctx_ee[CellID::LD], p + "EE_ldNNWeights.txt"); -} - -double DeadChannelNNContext::estimateEnergy(MultiLayerPerceptronContext *cts, double *M3x3Input, double epsilon) { - int missing[9]; - int missing_index = 0; - - for (int i = 0; i < 9; i++) { - if (TMath::Abs(M3x3Input[i]) < epsilon) { - missing[missing_index++] = i; - } else { - // Generally the "dead" cells are allowed to have negative energies (since they will be estimated by the ANN anyway). - // But all the remaining "live" ones must have positive values otherwise the logarithm fails. - - if (M3x3Input[i] < 0.0) { return -2000000.0; } - } - } - - // Currently EXACTLY ONE AND ONLY ONE dead cell is corrected. Return -1000000.0 if zero DC's detected and -101.0 if more than one DC's exist. - int idxDC = -1 ; - if (missing_index == 0) { return -1000000.0; } // Zero DC's were detected - if (missing_index > 1) { return -1000001.0; } // More than one DC's detected. - if (missing_index == 1) { idxDC = missing[0]; } - - // Arrange inputs into an array of 8, excluding the dead cell; - int input_order[9] = { CC, RR, LL, UU, DD, RU, RD, LU, LD }; - int input_index = 0; - Double_t input[8]; - - for (int id : input_order) { - if (id == idxDC) - continue; - - input[input_index++] = TMath::Log(M3x3Input[id]); - } - - // Select the case to apply the appropriate NN and return the result. - M3x3Input[idxDC] = TMath::Exp(cts[idxDC].mlp->Evaluate(0, input)); - return M3x3Input[idxDC]; -} - -double DeadChannelNNContext::estimateEnergyEB(double *M3x3Input, double epsilon) { - return estimateEnergy(this->ctx_eb, M3x3Input, epsilon); -} - -double DeadChannelNNContext::estimateEnergyEE(double *M3x3Input, double epsilon) { - return estimateEnergy(this->ctx_ee, M3x3Input, epsilon); -} diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc deleted file mode 100644 index eedce5c481fcf..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc +++ /dev/null @@ -1,343 +0,0 @@ -// -*- C++ -*- -// -// Package: EcalDeadChannelRecoveryAlgos -// Class: EBDeadChannelRecoveryAlgos -// -/**\class EBDeadChannelRecoveryAlgos EBDeadChannelRecoveryAlgos.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EBDeadChannelRecoveryAlgos.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) -// Created: Wed Nov 21 11:24:39 EET 2012 -// -// Nov 21 2012: First version of the code. Based on the old "EcalDeadChannelRecoveryAlgos.cc" code -// Feb 14 2013: Implementation of the criterion to select the "correct" max. cont. crystal. -// - - -// Geometry -#include "Geometry/Records/interface/IdealGeometryRecord.h" -#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" -#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" -#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" -#include "Geometry/CaloTopology/interface/EcalEndcapHardcodedTopology.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" -#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" -#include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" -//#include "Geometry/Vector/interface/GlobalPoint.h" - -// Reconstruction Classes -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/EcalDetId/interface/EBDetId.h" - -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEB.h" - -#include -using namespace cms; -using namespace std; - -void EBDeadChannelRecoveryAlgos::setCaloTopology(const CaloTopology *theCaloTopology) -{ - // now do what ever initialization is needed - calotopo = theCaloTopology; -} - - -// -// member functions -// - -// ------------ method called to for each event ------------ -EcalRecHit EBDeadChannelRecoveryAlgos::correct(const EBDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut, bool* AcceptFlag) -{ - // Enumeration to switch from custom names within the 3x3 matrix. - enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; - - double NewEnergy = 0.0; - - double NewEnergy_RelMC = 0.0; - double NewEnergy_RelDC = 0.0; - - double MNxN_RelMC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; - double MNxN_RelDC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; - - double sum8 = 0.0; - - double sum8_RelMC = MakeNxNMatrice_RelMC(Id,hit_collection,MNxN_RelMC,AcceptFlag); - double sum8_RelDC = MakeNxNMatrice_RelDC(Id,hit_collection,MNxN_RelDC,AcceptFlag); - - std::cout << "MC: " << sum8_RelMC << " DC: " << sum8_RelDC << std::endl; - // Only if "AcceptFlag" is true call the ANN - if ( *AcceptFlag ) { - if (algo_=="NeuralNetworks") { - std::cout << "hi" << std::endl; - if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { - - NewEnergy_RelMC = this->nn.estimateEnergyEB(MNxN_RelMC); - NewEnergy_RelDC = this->nn.estimateEnergyEB(MNxN_RelDC); - - // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus - // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. - // - double SumMNxN_RelMC = MNxN_RelMC[LU] + MNxN_RelMC[UU] + MNxN_RelMC[RU] + - MNxN_RelMC[LL] + MNxN_RelMC[CC] + MNxN_RelMC[RR] + - MNxN_RelMC[LD] + MNxN_RelMC[DD] + MNxN_RelMC[RD] ; - - double frMNxN_RelMC[9]; for (int i=0; i<9; i++) { frMNxN_RelMC[i] = MNxN_RelMC[i] / SumMNxN_RelMC ; } - - double prMNxN_RelMC = EBDiagonal( frMNxN_RelMC[LU] ) * EBUpDown( frMNxN_RelMC[UU] ) * EBDiagonal( frMNxN_RelMC[RU] ) * - EBReftRight( frMNxN_RelMC[LL] ) * EBCentral( frMNxN_RelMC[CC] ) * EBReftRight( frMNxN_RelMC[RR] ) * - EBDiagonal( frMNxN_RelMC[LD] ) * EBUpDown( frMNxN_RelMC[DD] ) * EBDiagonal( frMNxN_RelMC[RD] ) ; - - double SumMNxN_RelDC = MNxN_RelDC[LU] + MNxN_RelDC[UU] + MNxN_RelDC[RU] + - MNxN_RelDC[LL] + MNxN_RelDC[CC] + MNxN_RelDC[RR] + - MNxN_RelDC[LD] + MNxN_RelDC[DD] + MNxN_RelDC[RD] ; - - double frMNxN_RelDC[9]; for (int i=0; i<9; i++) { frMNxN_RelDC[i] = MNxN_RelDC[i] / SumMNxN_RelDC ; } - - double prMNxN_RelDC = EBDiagonal( frMNxN_RelDC[LU] ) * EBUpDown( frMNxN_RelDC[UU] ) * EBDiagonal( frMNxN_RelDC[RU] ) * - EBReftRight( frMNxN_RelDC[LL] ) * EBCentral( frMNxN_RelDC[CC] ) * EBReftRight( frMNxN_RelDC[RR] ) * - EBDiagonal( frMNxN_RelDC[LD] ) * EBUpDown( frMNxN_RelDC[DD] ) * EBDiagonal( frMNxN_RelDC[RD] ) ; - - if ( prMNxN_RelDC > prMNxN_RelMC ) { NewEnergy = NewEnergy_RelDC ; sum8 = sum8_RelDC ; } - if ( prMNxN_RelDC <= prMNxN_RelMC ) { NewEnergy = NewEnergy_RelMC ; sum8 = sum8_RelMC ; } - - - // If the return value of "CorrectDeadChannelsNN" is one of the followin negative values then - // it corresponds to an error condition. See "CorrectDeadChannelsNN.cc" for possible values. - if ( NewEnergy == -1000000.0 || - NewEnergy == -1000001.0 || - NewEnergy == -2000000.0 || - NewEnergy == -3000000.0 || - NewEnergy == -3000001.0 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } - } - } - } - - // Protect against non physical high values - // From the distribution of (max.cont.xtal / Sum8) we get as limit 5 (hard) and 10 (softer) - // Choose 10 as highest possible energy to be assigned to the dead channel under any scenario. - uint32_t flag = 0; - - std::cout << "New energy: " << NewEnergy << std::endl; - if ( NewEnergy > 10.0 * sum8 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } - - EcalRecHit NewHit(Id,NewEnergy,0, flag); - - return NewHit; - -} - - -// ------------ MakeNxNMatrice_RelMC ------------ -double EBDeadChannelRecoveryAlgos::MakeNxNMatrice_RelMC(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { - - // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain - // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). - // Get this 5x5 and locate the Max.Contain.Crystal within. - const CaloSubdetectorTopology* topology=calotopo->getSubdetectorTopology(DetId::Ecal,EcalBarrel); - - std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" - - EBDetId EBCellMax ; // Create a null EBDetId - double EnergyMax = 0.0; - - // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy - // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. - std::vector::const_iterator theCells; - - for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { - - EBDetId EBCell = EBDetId(*theCells); - - if (!EBCell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EBCell); - - if ( goS_it != hit_collection->end() && goS_it->energy() >= EnergyMax ) { - - EnergyMax = goS_it->energy(); - EBCellMax = EBCell; - - } - - } else { - - continue; - - } - - } - - // No Max.Cont.Crystal found, return back with no changes. - if ( EBCellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } - - // If the Max.Cont.Crystal found is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. - if ( EBCellMax.ieta() == 85 || EBCellMax.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } - - // Take the Max.Cont.Crystal as reference and get the 3x3 around it. - std::vector NxNaroundMaxCont = topology->getWindow(EBCellMax,3,3); - - // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal - bool dcIn3x3 = false ; - - std::vector::const_iterator testCell; - - for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { - - EBDetId EBtestCell = EBDetId(*testCell); - - if ( itID == EBtestCell ) { dcIn3x3 = true ; } - - } - - // If the "dead" crystal is outside the 3x3 then do nothing. - if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } - - // Define the ieta and iphi steps (zero, plus, minus) - int ietaZ = EBCellMax.ieta() ; - int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; - int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; - - int iphiZ = EBCellMax.iphi() ; - int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; - int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; - - enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; - - for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix - // to be passed to the ANN for prediction. - std::vector::const_iterator itCells; - - for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { - - EBDetId EBitCell = EBDetId(*itCells); - - if (!EBitCell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EBitCell); - - if ( goS_it != hit_collection->end() ) { - - if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelMC[RU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[RR] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelMC[RD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelMC[UU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[CC] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelMC[DD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelMC[LU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[LL] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelMC[LD] = goS_it->energy(); } - - else { *AcceptFlag=false ; return 0.0 ;} - - } - - } else { - - continue; - - } - - } - - // Get the sum of 8 - double ESUMis = 0.0 ; - - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } - - *AcceptFlag=true ; - - return ESUMis; -} - - -// ------------ MakeNxNMatrice_RelDC ------------ -double EBDeadChannelRecoveryAlgos::MakeNxNMatrice_RelDC(EBDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelDC, bool* AcceptFlag) { - - // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. - // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate - // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. - const CaloSubdetectorTopology* topology=calotopo->getSubdetectorTopology(DetId::Ecal,EcalBarrel); - - // If the "dead" crystal is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. - if ( itID.ieta() == 85 || itID.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } - - // Take the "dead" crystal as reference and get the 3x3 around it. - std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); - - // Define the ieta and iphi steps (zero, plus, minus) - int ietaZ = itID.ieta() ; - int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; - int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; - - int iphiZ = itID.iphi() ; - int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; - int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; - - enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; - - for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix - // to be passed to the ANN for prediction. - std::vector::const_iterator itCells; - - for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { - - EBDetId EBitCell = EBDetId(*itCells); - - if (!EBitCell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EBitCell); - - if ( goS_it != hit_collection->end() ) { - - if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelDC[RU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[RR] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelDC[RD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelDC[UU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[CC] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelDC[DD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelDC[LU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[LL] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelDC[LD] = goS_it->energy(); } - - else { *AcceptFlag=false ; return 0.0 ;} - - } - - } else { - - continue; - - } - - } - - // Get the sum of 8 - double ESUMis = 0.0 ; - - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } - - *AcceptFlag=true ; - - return ESUMis; -} - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc deleted file mode 100644 index 6bf745625941d..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc +++ /dev/null @@ -1,339 +0,0 @@ -// -*- C++ -*- -// -// Package: EcalDeadChannelRecoveryAlgos -// Class: EEDeadChannelRecoveryAlgos -// -/**\class EEDeadChannelRecoveryAlgos EEDeadChannelRecoveryAlgos.cc RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EEDeadChannelRecoveryAlgos.cc - - Description: - - Implementation: - -*/ -// -// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) -// Created: Wed Nov 21 11:24:39 EET 2012 -// -// Nov 21 2012: First version of the code. Based on the old "EcalDeadChannelRecoveryAlgos.cc" code -// Feb 14 2013: Implementation of the criterion to select the "correct" max. cont. crystal. -// - -// Geometry -#include "Geometry/Records/interface/IdealGeometryRecord.h" -#include "Geometry/CaloEventSetup/interface/CaloTopologyRecord.h" -#include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloCellGeometry.h" -#include "Geometry/CaloGeometry/interface/CaloGeometry.h" -#include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" -#include "Geometry/CaloTopology/interface/EcalEndcapTopology.h" -#include "Geometry/CaloTopology/interface/EcalBarrelHardcodedTopology.h" -#include "Geometry/CaloTopology/interface/EcalEndcapHardcodedTopology.h" -#include "Geometry/CaloTopology/interface/CaloTopology.h" -#include "Geometry/CaloTopology/interface/CaloSubdetectorTopology.h" -#include "RecoEcal/EgammaCoreTools/interface/PositionCalc.h" -//#include "Geometry/Vector/interface/GlobalPoint.h" - -// Reconstruction Classes -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/EcalDetId/interface/EEDetId.h" - -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEE.h" - -#include -using namespace cms; -using namespace std; - - -void EEDeadChannelRecoveryAlgos::setCaloTopology(const CaloTopology *theCaloTopology) -{ - // now do what ever initialization is needed - calotopo = theCaloTopology; -} - -// -// member functions -// - -// ------------ method called to for each event ------------ -EcalRecHit EEDeadChannelRecoveryAlgos::correct(const EEDetId Id, const EcalRecHitCollection* hit_collection, std::string algo_, double Sum8Cut, bool* AcceptFlag) -{ - // Enumeration to switch from custom names within the 3x3 matrix. - enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; - - double NewEnergy = 0.0; - - double NewEnergy_RelMC = 0.0; - double NewEnergy_RelDC = 0.0; - - double MNxN_RelMC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; - double MNxN_RelDC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; - - double sum8 = 0.0; - - double sum8_RelMC = MakeNxNMatrice_RelMC(Id, hit_collection,MNxN_RelMC,AcceptFlag); - double sum8_RelDC = MakeNxNMatrice_RelDC(Id, hit_collection,MNxN_RelDC,AcceptFlag); - - // Only if "AcceptFlag" is true call the ANN - if ( *AcceptFlag ) { - if (algo_=="NeuralNetworks") { - if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { - NewEnergy_RelMC = this->nn.estimateEnergyEE(MNxN_RelMC); - NewEnergy_RelDC = this->nn.estimateEnergyEE(MNxN_RelDC); - - // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus - // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. - // - double SumMNxN_RelMC = MNxN_RelMC[LU] + MNxN_RelMC[UU] + MNxN_RelMC[RU] + - MNxN_RelMC[LL] + MNxN_RelMC[CC] + MNxN_RelMC[RR] + - MNxN_RelMC[LD] + MNxN_RelMC[DD] + MNxN_RelMC[RD] ; - - double frMNxN_RelMC[9]; for (int i=0; i<9; i++) { frMNxN_RelMC[i] = MNxN_RelMC[i] / SumMNxN_RelMC ; } - - double prMNxN_RelMC = EEDiagonal( frMNxN_RelMC[LU] ) * EEUpDown( frMNxN_RelMC[UU] ) * EEDiagonal( frMNxN_RelMC[RU] ) * - EEReftRight( frMNxN_RelMC[LL] ) * EECentral( frMNxN_RelMC[CC] ) * EEReftRight( frMNxN_RelMC[RR] ) * - EEDiagonal( frMNxN_RelMC[LD] ) * EEUpDown( frMNxN_RelMC[DD] ) * EEDiagonal( frMNxN_RelMC[RD] ) ; - - double SumMNxN_RelDC = MNxN_RelDC[LU] + MNxN_RelDC[UU] + MNxN_RelDC[RU] + - MNxN_RelDC[LL] + MNxN_RelDC[CC] + MNxN_RelDC[RR] + - MNxN_RelDC[LD] + MNxN_RelDC[DD] + MNxN_RelDC[RD] ; - - double frMNxN_RelDC[9]; for (int i=0; i<9; i++) { frMNxN_RelDC[i] = MNxN_RelDC[i] / SumMNxN_RelDC ; } - - double prMNxN_RelDC = EEDiagonal( frMNxN_RelDC[LU] ) * EEUpDown( frMNxN_RelDC[UU] ) * EEDiagonal( frMNxN_RelDC[RU] ) * - EEReftRight( frMNxN_RelDC[LL] ) * EECentral( frMNxN_RelDC[CC] ) * EEReftRight( frMNxN_RelDC[RR] ) * - EEDiagonal( frMNxN_RelDC[LD] ) * EEUpDown( frMNxN_RelDC[DD] ) * EEDiagonal( frMNxN_RelDC[RD] ) ; - - if ( prMNxN_RelDC > prMNxN_RelMC ) { NewEnergy = NewEnergy_RelDC ; sum8 = sum8_RelDC ; } - if ( prMNxN_RelDC <= prMNxN_RelMC ) { NewEnergy = NewEnergy_RelMC ; sum8 = sum8_RelMC ; } - - - // If the return value of "CorrectDeadChannelsNN" is one of the followin negative values then - // it corresponds to an error condition. See "CorrectDeadChannelsNN.cc" for possible values. - if ( NewEnergy == -1000000.0 || - NewEnergy == -1000001.0 || - NewEnergy == -2000000.0 || - NewEnergy == -3000000.0 || - NewEnergy == -3000001.0 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } - } - } - } - - // Protect against non physical high values - // From the distribution of (max.cont.xtal / Sum8) we get as limit 5 (hard) and 10 (softer) - // Choose 10 as highest possible energy to be assigned to the dead channel under any scenario. - uint32_t flag = 0; - - if ( NewEnergy > 10.0 * sum8 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } - - EcalRecHit NewHit(Id,NewEnergy,0, flag); - - return NewHit; - -} - - - -// ------------ MakeNxNMatrice_RelMC ------------ -double EEDeadChannelRecoveryAlgos::MakeNxNMatrice_RelMC(EEDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { - - // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain - // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). - // Get this 5x5 and locate the Max.Contain.Crystal within. - const CaloSubdetectorTopology* topology=calotopo->getSubdetectorTopology(DetId::Ecal,EcalEndcap); - - std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" - - EEDetId EECellMax ; // Create a null EEDetId - double EnergyMax = 0.0; - - // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy - // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. - std::vector::const_iterator theCells; - - for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { - - EEDetId EECell = EEDetId(*theCells); - - if (!EECell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EECell); - - if ( goS_it != hit_collection->end() && goS_it->energy() >= EnergyMax ) { - - EnergyMax = goS_it->energy(); - EECellMax = EECell; - - } - - } else { - - continue; - - } - - } - - // No Max.Cont.Crystal found, return back with no changes. - if ( EECellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } - - // If the Max.Cont.Crystal found is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. - if ( EEDetId::isNextToRingBoundary(EECellMax) ) { *AcceptFlag=false ; return 0.0 ; } - - // Take the Max.Cont.Crystal as reference and get the 3x3 around it. - std::vector NxNaroundMaxCont = topology->getWindow(EECellMax,3,3); - - // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal - bool dcIn3x3 = false ; - - std::vector::const_iterator testCell; - - for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { - - EEDetId EEtestCell = EEDetId(*testCell); - - if ( itID == EEtestCell ) { dcIn3x3 = true ; } - - } - - // If the "dead" crystal is outside the 3x3 then do nothing. - if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } - - // Define the ix and iy steps (zero, plus, minus) - int ixZ = EECellMax.ix() ; - int ixP = ixZ + 1 ; - int ixN = ixZ - 1 ; - - int iyZ = EECellMax.iy() ; - int iyP = iyZ + 1 ; - int iyN = iyZ - 1 ; - - enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; - - for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix - // to be passed to the ANN for prediction. - std::vector::const_iterator itCells; - - for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { - - EEDetId EEitCell = EEDetId(*itCells); - - if (!EEitCell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EEitCell); - - if ( goS_it != hit_collection->end() ) { - - if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelMC[RU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelMC[RR] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelMC[RD] = goS_it->energy(); } - - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelMC[UU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelMC[CC] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelMC[DD] = goS_it->energy(); } - - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelMC[LU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelMC[LL] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelMC[LD] = goS_it->energy(); } - - else { *AcceptFlag=false ; return 0.0 ;} - - } - - } else { - - continue; - - } - - } - - // Get the sum of 8 - double ESUMis = 0.0 ; - - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } - - *AcceptFlag=true ; - - return ESUMis; -} - - -// ------------ MakeNxNMatrice_RelDC ------------ -double EEDeadChannelRecoveryAlgos::MakeNxNMatrice_RelDC(EEDetId itID,const EcalRecHitCollection* hit_collection, double *MNxN_RelDC, bool* AcceptFlag) { - - // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. - // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate - // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. - const CaloSubdetectorTopology* topology=calotopo->getSubdetectorTopology(DetId::Ecal,EcalEndcap); - - // If the "dead" crystal is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. - if ( EEDetId::isNextToRingBoundary(itID) ) { *AcceptFlag=false ; return 0.0 ; } - - // Take the "dead" crystal as reference and get the 3x3 around it. - std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); - - // Define the ix and iy steps (zero, plus, minus) - int ixZ = itID.ix() ; - int ixP = ixZ + 1 ; - int ixN = ixZ - 1 ; - - int iyZ = itID.iy() ; - int iyP = iyZ + 1 ; - int iyN = iyZ - 1 ; - - enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; - - for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix - // to be passed to the ANN for prediction. - std::vector::const_iterator itCells; - - for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { - - EEDetId EEitCell = EEDetId(*itCells); - - if (!EEitCell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection->find(EEitCell); - - if ( goS_it != hit_collection->end() ) { - - if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelDC[RU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelDC[RR] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelDC[RD] = goS_it->energy(); } - - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelDC[UU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelDC[CC] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelDC[DD] = goS_it->energy(); } - - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelDC[LU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelDC[LL] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelDC[LD] = goS_it->energy(); } - - else { *AcceptFlag=false ; return 0.0 ;} - - } - - } else { - - continue; - - } - - } - - // Get the sum of 8 - double ESUMis = 0.0 ; - - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } - - *AcceptFlag=true ; - - return ESUMis; -} - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEB.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalCrystalMatrixProbality.cc similarity index 51% rename from RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEB.h rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalCrystalMatrixProbality.cc index 57ddbe18953d2..4c073f548b05d 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/CrystalMatrixProbabilityEB.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalCrystalMatrixProbality.cc @@ -1,14 +1,10 @@ -#ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CrystalMatrixProbabilityEB_CC -#define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_CrystalMatrixProbabilityEB_CC +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalCrystalMatrixProbality.h" -// -// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) -// Created: Mon Feb 04 10:45:16 EET 2013 -// +#include "DataFormats/EcalDetId/interface/EBDetId.h" +#include "DataFormats/EcalDetId/interface/EEDetId.h" -#include "TMath.h" - -double EBCentral(double x){ +template <> +double EcalCrystalMatrixProbality::Central(double x) { double vEBCentral = 0.0 ; @@ -24,7 +20,8 @@ double EBCentral(double x){ } -double EBDiagonal(double x){ +template <> +double EcalCrystalMatrixProbality::Diagonal(double x){ double vEBDiagonal = 0.0 ; @@ -38,7 +35,8 @@ double EBDiagonal(double x){ } -double EBUpDown(double x){ +template <> +double EcalCrystalMatrixProbality::UpDown(double x){ double vEBUpDown = 0.0 ; @@ -55,7 +53,8 @@ double EBUpDown(double x){ } -double EBReftRight(double x){ +template <> +double EcalCrystalMatrixProbality::ReftRight(double x){ double vEBReftRight = 0.0 ; @@ -68,7 +67,65 @@ double EBReftRight(double x){ else { vEBReftRight = 0.0 ; } return vEBReftRight ; +} + + +template <> +double EcalCrystalMatrixProbality::Central(double x){ + + double vEECentral = 0.0 ; + + if ( x <= 0.195 ) { vEECentral = 0.0 ; } + else if ( 0.195 < x && x <= 0.440 ) { vEECentral = (-30295.4+562760*x-4.04967e+06*x*x+1.40276e+07*x*x*x-2.33108e+07*x*x*x*x+1.50243e+07*x*x*x*x*x)/9.44506089594767786e+02 ; } + else if ( 0.440 < x && x <= 0.840 ) { vEECentral = (-34683.3+274011*x-749408*x*x+895482*x*x*x-396108*x*x*x*x)/9.44506089594767786e+02 ; } + else if ( 0.840 < x && x <= 0.875 ) { vEECentral = (4.7355575e+06-1.6268056e+07*x+1.8629316e+07*x*x-7.1113915e+06*x*x*x)/9.44506089594767786e+02 ; } + else if ( 0.875 < x ) { vEECentral = 0.0 ; } + else { vEECentral = 0.0 ; } + + return vEECentral ; } -#endif +template <> +double EcalCrystalMatrixProbality::Diagonal(double x){ + + double vEEDiagonal = 0.0 ; + + if ( 0.000 < x && x <= 0.015 ) { vEEDiagonal = TMath::Landau(x,8.25505e-03,3.10387e-03,1)*1.68601977536835489e+03/1.86234137068993937e+03 ; } + else if ( 0.015 < x && x <= 0.150 ) { vEEDiagonal = TMath::Landau(x,-5.58560e-04,2.44735e-03,1)*4.88463235185936264e+03/1.86234137068993937e+03 ; } + else if ( 0.150 < x && x <= 0.400 ) { vEEDiagonal = (7416.66-114653*x+763877*x*x-2.57767e+06*x*x*x+4.28872e+06*x*x*x*x-2.79218e+06*x*x*x*x*x)/1.86234137068993937e+03 ; } + else if ( 0.400 < x ) { vEEDiagonal = 0.0 ; } + else { vEEDiagonal = 0.0 ; } + + return vEEDiagonal ; + +} + +template <> +double EcalCrystalMatrixProbality::UpDown(double x){ + + double vEEUpDown = 0.0 ; + + if ( 0.000 < x && x <= 0.015 ) { vEEUpDown = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; } + else if ( 0.015 < x && x <= 0.100 ) { vEEUpDown = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.100 < x && x <= 0.450 ) { vEEUpDown = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.450 < x ) { vEEUpDown = 0.0 ; } + else { vEEUpDown = 0.0 ; } + + return vEEUpDown ; + +} + +template <> +double EcalCrystalMatrixProbality::ReftRight(double x){ + + double vEEReftRight = 0.0 ; + + if ( 0.000 < x && x <= 0.015 ) { vEEReftRight = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; } + else if ( 0.015 < x && x <= 0.100 ) { vEEReftRight = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.100 < x && x <= 0.450 ) { vEEReftRight = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.450 < x ) { vEEReftRight = 0.0 ; } + else { vEEReftRight = 0.0 ; } + + return vEEReftRight ; +} diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc new file mode 100644 index 0000000000000..f30b99a37fa45 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc @@ -0,0 +1,36 @@ +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// Created: Wed Nov 21 11:24:39 EET 2012 +// +// Nov 21 2012: First version of the code. Based on the old "EcalDeadChannelRecoveryAlgos.cc" code +// Feb 14 2013: Implementation of the criterion to select the "correct" max. cont. crystal. +// + +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + +template +void EcalDeadChannelRecoveryAlgos::setCaloTopology(const CaloTopology *topo) +{ + nn.setCaloTopology(topo); +} + +template +EcalRecHit EcalDeadChannelRecoveryAlgos::correct(const T id, const EcalRecHitCollection& hit_collection, std::string algo, double Sum8Cut, bool *AcceptFlag) +{ + // recover as single dead channel + double NewEnergy = 0.0; + + if (algo == "NeuralNetworks") { + NewEnergy = this->nn.recover(id, hit_collection, Sum8Cut, AcceptFlag); + } else { + edm::LogError("EcalDeadChannelRecoveryAlgos") << "Invalid algorithm for dead channel recovery."; + *AcceptFlag = false; + } + + uint32_t flag = 0; + return EcalRecHit(id, NewEnergy, 0, flag); +} + +template class EcalDeadChannelRecoveryAlgos; +template class EcalDeadChannelRecoveryAlgos; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc new file mode 100644 index 0000000000000..b7fcf2adfc457 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc @@ -0,0 +1,596 @@ +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalCrystalMatrixProbality.h" + +#include "FWCore/ParameterSet/interface/FileInPath.h" + +#include +#include + +template +EcalDeadChannelRecoveryNN::EcalDeadChannelRecoveryNN() { + for (int id = 0; id < 9; ++id) { + ctx_[id].mlp = NULL; + } + + this->load(); +} + +template +EcalDeadChannelRecoveryNN::~EcalDeadChannelRecoveryNN() { + for (int id = 0; id < 9; ++id) { + if (ctx_[id].mlp) { + // @TODO segfaults for an uknown reason + // delete ctx[id].mlp; + // delete ctx[id].tree; + } + } +} + +template +void EcalDeadChannelRecoveryNN::setCaloTopology(const CaloTopology *topo) +{ + calotopo_ = topo; +} + +template +void EcalDeadChannelRecoveryNN::load_file(MultiLayerPerceptronContext& ctx, std::string fn) { + std::string path = edm::FileInPath(fn).fullPath(); + + TTree *t = new TTree("t", "dummy MLP tree"); + t->SetDirectory(0); + + t->Branch("z1", &(ctx.tmp[0]), "z1/D"); + t->Branch("z2", &(ctx.tmp[1]), "z2/D"); + t->Branch("z3", &(ctx.tmp[2]), "z3/D"); + t->Branch("z4", &(ctx.tmp[3]), "z4/D"); + t->Branch("z5", &(ctx.tmp[4]), "z5/D"); + t->Branch("z6", &(ctx.tmp[5]), "z6/D"); + t->Branch("z7", &(ctx.tmp[6]), "z7/D"); + t->Branch("z8", &(ctx.tmp[7]), "z8/D"); + t->Branch("zf", &(ctx.tmp[8]), "zf/D"); + + ctx.tree = t; + ctx.mlp = + new TMultiLayerPerceptron("@z1,@z2,@z3,@z4,@z5,@z6,@z7,@z8:10:5:zf", t); + ctx.mlp->LoadWeights(path.c_str()); +} + +template <> +void EcalDeadChannelRecoveryNN::load() { + std::string p = "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/"; + + this->load_file(ctx_[CellID::CC], p + "EB_ccNNWeights.txt"); + this->load_file(ctx_[CellID::RR], p + "EB_rrNNWeights.txt"); + this->load_file(ctx_[CellID::LL], p + "EB_llNNWeights.txt"); + this->load_file(ctx_[CellID::UU], p + "EB_uuNNWeights.txt"); + this->load_file(ctx_[CellID::DD], p + "EB_ddNNWeights.txt"); + this->load_file(ctx_[CellID::RU], p + "EB_ruNNWeights.txt"); + this->load_file(ctx_[CellID::RD], p + "EB_rdNNWeights.txt"); + this->load_file(ctx_[CellID::LU], p + "EB_luNNWeights.txt"); + this->load_file(ctx_[CellID::LD], p + "EB_ldNNWeights.txt"); +} + +template <> +void EcalDeadChannelRecoveryNN::load() { + std::string p = "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/"; + + this->load_file(ctx_[CellID::CC], p + "EE_ccNNWeights.txt"); + this->load_file(ctx_[CellID::RR], p + "EE_rrNNWeights.txt"); + this->load_file(ctx_[CellID::LL], p + "EE_llNNWeights.txt"); + this->load_file(ctx_[CellID::UU], p + "EE_uuNNWeights.txt"); + this->load_file(ctx_[CellID::DD], p + "EE_ddNNWeights.txt"); + this->load_file(ctx_[CellID::RU], p + "EE_ruNNWeights.txt"); + this->load_file(ctx_[CellID::RD], p + "EE_rdNNWeights.txt"); + this->load_file(ctx_[CellID::LU], p + "EE_luNNWeights.txt"); + this->load_file(ctx_[CellID::LD], p + "EE_ldNNWeights.txt"); +} + +template +double EcalDeadChannelRecoveryNN::recover(const T id, const EcalRecHitCollection& hit_collection, double Sum8Cut, bool *AcceptFlag) +{ + // use the correct probability matrix + typedef class EcalCrystalMatrixProbality P; + + double NewEnergy = 0.0; + + double NewEnergy_RelMC = 0.0; + double NewEnergy_RelDC = 0.0; + + double MNxN_RelMC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; + double MNxN_RelDC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; + + double sum8 = 0.0; + + double sum8_RelMC = makeNxNMatrice_RelMC(id, hit_collection, MNxN_RelMC,AcceptFlag); + double sum8_RelDC = makeNxNMatrice_RelDC(id, hit_collection, MNxN_RelDC,AcceptFlag); + + // Only if "AcceptFlag" is true call the ANN + if ( *AcceptFlag ) { + if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { + NewEnergy_RelMC = estimateEnergy(MNxN_RelMC); + NewEnergy_RelDC = estimateEnergy(MNxN_RelDC); + + // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus + // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. + // + double SumMNxN_RelMC = MNxN_RelMC[LU] + MNxN_RelMC[UU] + MNxN_RelMC[RU] + + MNxN_RelMC[LL] + MNxN_RelMC[CC] + MNxN_RelMC[RR] + + MNxN_RelMC[LD] + MNxN_RelMC[DD] + MNxN_RelMC[RD] ; + + double frMNxN_RelMC[9]; for (int i=0; i<9; i++) { frMNxN_RelMC[i] = MNxN_RelMC[i] / SumMNxN_RelMC ; } + + double prMNxN_RelMC = P::Diagonal( frMNxN_RelMC[LU] ) * P::UpDown( frMNxN_RelMC[UU] ) * P::Diagonal( frMNxN_RelMC[RU] ) * + P::ReftRight( frMNxN_RelMC[LL] ) * P::Central( frMNxN_RelMC[CC] ) * P::ReftRight( frMNxN_RelMC[RR] ) * + P::Diagonal( frMNxN_RelMC[LD] ) * P::UpDown( frMNxN_RelMC[DD] ) * P::Diagonal( frMNxN_RelMC[RD] ) ; + + double SumMNxN_RelDC = MNxN_RelDC[LU] + MNxN_RelDC[UU] + MNxN_RelDC[RU] + + MNxN_RelDC[LL] + MNxN_RelDC[CC] + MNxN_RelDC[RR] + + MNxN_RelDC[LD] + MNxN_RelDC[DD] + MNxN_RelDC[RD] ; + + double frMNxN_RelDC[9]; for (int i=0; i<9; i++) { frMNxN_RelDC[i] = MNxN_RelDC[i] / SumMNxN_RelDC ; } + + double prMNxN_RelDC = P::Diagonal( frMNxN_RelDC[LU] ) * P::UpDown( frMNxN_RelDC[UU] ) * P::Diagonal( frMNxN_RelDC[RU] ) * + P::ReftRight( frMNxN_RelDC[LL] ) * P::Central( frMNxN_RelDC[CC] ) * P::ReftRight( frMNxN_RelDC[RR] ) * + P::Diagonal( frMNxN_RelDC[LD] ) * P::UpDown( frMNxN_RelDC[DD] ) * P::Diagonal( frMNxN_RelDC[RD] ) ; + + if ( prMNxN_RelDC > prMNxN_RelMC ) { NewEnergy = NewEnergy_RelDC ; sum8 = sum8_RelDC ; } + if ( prMNxN_RelDC <= prMNxN_RelMC ) { NewEnergy = NewEnergy_RelMC ; sum8 = sum8_RelMC ; } + + + // If the return value of "CorrectDeadChannelsNN" is one of the followin negative values then + // it corresponds to an error condition. See "CorrectDeadChannelsNN.cc" for possible values. + if ( NewEnergy == -1000000.0 || + NewEnergy == -1000001.0 || + NewEnergy == -2000000.0 || + NewEnergy == -3000000.0 || + NewEnergy == -3000001.0 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } + } + } + + // Protect against non physical high values + // From the distribution of (max.cont.xtal / Sum8) we get as limit 5 (hard) and 10 (softer) + // Choose 10 as highest possible energy to be assigned to the dead channel under any scenario. + if ( NewEnergy > 10.0 * sum8 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } + + return NewEnergy; +} + +template +double EcalDeadChannelRecoveryNN::estimateEnergy(double *M3x3Input, double epsilon) { + int missing[9]; + int missing_index = 0; + + for (int i = 0; i < 9; i++) { + if (TMath::Abs(M3x3Input[i]) < epsilon) { + missing[missing_index++] = i; + } else { + // Generally the "dead" cells are allowed to have negative energies (since they will be estimated by the ANN anyway). + // But all the remaining "live" ones must have positive values otherwise the logarithm fails. + + if (M3x3Input[i] < 0.0) { return -2000000.0; } + } + } + + // Currently EXACTLY ONE AND ONLY ONE dead cell is corrected. Return -1000000.0 if zero DC's detected and -101.0 if more than one DC's exist. + int idxDC = -1 ; + if (missing_index == 0) { return -1000000.0; } // Zero DC's were detected + if (missing_index > 1) { return -1000001.0; } // More than one DC's detected. + if (missing_index == 1) { idxDC = missing[0]; } + + // Arrange inputs into an array of 8, excluding the dead cell; + int input_order[9] = { CC, RR, LL, UU, DD, RU, RD, LU, LD }; + int input_index = 0; + Double_t input[8]; + + for (int id : input_order) { + if (id == idxDC) + continue; + + input[input_index++] = TMath::Log(M3x3Input[id]); + } + + // Select the case to apply the appropriate NN and return the result. + M3x3Input[idxDC] = TMath::Exp(ctx_[idxDC].mlp->Evaluate(0, input)); + return M3x3Input[idxDC]; +} + +template <> +double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelMC(EBDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { + + // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain + // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). + // Get this 5x5 and locate the Max.Contain.Crystal within. + const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalBarrel); + + std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" + + EBDetId EBCellMax ; // Create a null EBDetId + double EnergyMax = 0.0; + + // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy + // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. + std::vector::const_iterator theCells; + + for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { + + EBDetId EBCell = EBDetId(*theCells); + + if (!EBCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBCell); + + if ( goS_it != hit_collection.end() && goS_it->energy() >= EnergyMax ) { + + EnergyMax = goS_it->energy(); + EBCellMax = EBCell; + + } + + } else { + + continue; + + } + + } + + // No Max.Cont.Crystal found, return back with no changes. + if ( EBCellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } + + // If the Max.Cont.Crystal found is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. + if ( EBCellMax.ieta() == 85 || EBCellMax.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the Max.Cont.Crystal as reference and get the 3x3 around it. + std::vector NxNaroundMaxCont = topology->getWindow(EBCellMax,3,3); + + // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal + bool dcIn3x3 = false ; + + std::vector::const_iterator testCell; + + for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { + + EBDetId EBtestCell = EBDetId(*testCell); + + if ( itID == EBtestCell ) { dcIn3x3 = true ; } + + } + + // If the "dead" crystal is outside the 3x3 then do nothing. + if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } + + // Define the ieta and iphi steps (zero, plus, minus) + int ietaZ = EBCellMax.ieta() ; + int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; + int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; + + int iphiZ = EBCellMax.iphi() ; + int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; + int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; + + for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { + + EBDetId EBitCell = EBDetId(*itCells); + + if (!EBitCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBitCell); + + if ( goS_it != hit_collection.end() ) { + + if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelMC[RU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[RR] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelMC[RD] = goS_it->energy(); } + + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelMC[UU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[CC] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelMC[DD] = goS_it->energy(); } + + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelMC[LU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[LL] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelMC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + + } + + } else { + + continue; + + } + + } + + // Get the sum of 8 + double ESUMis = 0.0 ; + + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } + + *AcceptFlag=true ; + + return ESUMis; +} + +template <> +double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelDC(EBDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelDC, bool* AcceptFlag) { + + // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. + // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate + // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. + const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalBarrel); + + // If the "dead" crystal is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. + if ( itID.ieta() == 85 || itID.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the "dead" crystal as reference and get the 3x3 around it. + std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); + + // Define the ieta and iphi steps (zero, plus, minus) + int ietaZ = itID.ieta() ; + int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; + int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; + + int iphiZ = itID.iphi() ; + int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; + int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; + + for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { + + EBDetId EBitCell = EBDetId(*itCells); + + if (!EBitCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBitCell); + + if ( goS_it != hit_collection.end() ) { + + if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelDC[RU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[RR] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelDC[RD] = goS_it->energy(); } + + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelDC[UU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[CC] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelDC[DD] = goS_it->energy(); } + + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelDC[LU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[LL] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelDC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + + } + + } else { + + continue; + + } + + } + + // Get the sum of 8 + double ESUMis = 0.0 ; + + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } + + *AcceptFlag=true ; + + return ESUMis; +} + + +template <> +double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelMC(EEDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { + + // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain + // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). + // Get this 5x5 and locate the Max.Contain.Crystal within. + const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalEndcap); + + std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" + + EEDetId EECellMax ; // Create a null EEDetId + double EnergyMax = 0.0; + + // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy + // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. + std::vector::const_iterator theCells; + + for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { + + EEDetId EECell = EEDetId(*theCells); + + if (!EECell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EECell); + + if ( goS_it != hit_collection.end() && goS_it->energy() >= EnergyMax ) { + + EnergyMax = goS_it->energy(); + EECellMax = EECell; + + } + + } else { + + continue; + + } + + } + + // No Max.Cont.Crystal found, return back with no changes. + if ( EECellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } + + // If the Max.Cont.Crystal found is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. + if ( EEDetId::isNextToRingBoundary(EECellMax) ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the Max.Cont.Crystal as reference and get the 3x3 around it. + std::vector NxNaroundMaxCont = topology->getWindow(EECellMax,3,3); + + // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal + bool dcIn3x3 = false ; + + std::vector::const_iterator testCell; + + for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { + + EEDetId EEtestCell = EEDetId(*testCell); + + if ( itID == EEtestCell ) { dcIn3x3 = true ; } + + } + + // If the "dead" crystal is outside the 3x3 then do nothing. + if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } + + // Define the ix and iy steps (zero, plus, minus) + int ixZ = EECellMax.ix() ; + int ixP = ixZ + 1 ; + int ixN = ixZ - 1 ; + + int iyZ = EECellMax.iy() ; + int iyP = iyZ + 1 ; + int iyN = iyZ - 1 ; + + enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; + + for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { + + EEDetId EEitCell = EEDetId(*itCells); + + if (!EEitCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EEitCell); + + if ( goS_it != hit_collection.end() ) { + + if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelMC[RU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelMC[RR] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelMC[RD] = goS_it->energy(); } + + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelMC[UU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelMC[CC] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelMC[DD] = goS_it->energy(); } + + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelMC[LU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelMC[LL] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelMC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + + } + + } else { + + continue; + + } + + } + + // Get the sum of 8 + double ESUMis = 0.0 ; + + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } + + *AcceptFlag=true ; + + return ESUMis; +} + +template <> +double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelDC(EEDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelDC, bool* AcceptFlag) { + + // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. + // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate + // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. + const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalEndcap); + + // If the "dead" crystal is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. + if ( EEDetId::isNextToRingBoundary(itID) ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the "dead" crystal as reference and get the 3x3 around it. + std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); + + // Define the ix and iy steps (zero, plus, minus) + int ixZ = itID.ix() ; + int ixP = ixZ + 1 ; + int ixN = ixZ - 1 ; + + int iyZ = itID.iy() ; + int iyP = iyZ + 1 ; + int iyN = iyZ - 1 ; + + for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { + + EEDetId EEitCell = EEDetId(*itCells); + + if (!EEitCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EEitCell); + + if ( goS_it != hit_collection.end() ) { + + if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelDC[RU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelDC[RR] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelDC[RD] = goS_it->energy(); } + + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelDC[UU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelDC[CC] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelDC[DD] = goS_it->energy(); } + + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelDC[LU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelDC[LL] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelDC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + + } + + } else { + + continue; + + } + + } + + // Get the sum of 8 + double ESUMis = 0.0 ; + + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } + + *AcceptFlag=true ; + + return ESUMis; +} + + +template class EcalDeadChannelRecoveryNN; +template class EcalDeadChannelRecoveryNN; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h index 3658b872594bb..d8370badf5d39 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h @@ -20,7 +20,7 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h" // // class decleration @@ -47,7 +47,7 @@ class EBDeadChannelRecoveryProducers : public edm::EDProducer { bool CorrectDeadCells_; std::string CorrectionMethod_; - EBDeadChannelRecoveryAlgos ebDeadChannelCorrector; + EcalDeadChannelRecoveryAlgos ebDeadChannelCorrector; }; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h index 86415639face2..33eed2ee2f08e 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h @@ -22,7 +22,7 @@ #include "FWCore/ParameterSet/interface/ParameterSet.h" #include -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h" // // class decleration // @@ -48,7 +48,7 @@ class EEDeadChannelRecoveryProducers : public edm::EDProducer { bool CorrectDeadCells_; std::string CorrectionMethod_; - EEDeadChannelRecoveryAlgos eeDeadChannelCorrector; + EcalDeadChannelRecoveryAlgos eeDeadChannelCorrector; }; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc index 871aa1de42bcb..01b0f977b123a 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc @@ -110,7 +110,7 @@ EBDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& if (it->detid()==*CheckDead) { OverADeadRecHit=true; bool AcceptRecHit=true; - EcalRecHit NewRecHit = ebDeadChannelCorrector.correct(it->detid(),hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); + EcalRecHit NewRecHit = ebDeadChannelCorrector.correct(it->detid(),*hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); // Accept the new rec hit if the flag is true. if( AcceptRecHit ) { redCollection->push_back( NewRecHit ); } else { redCollection->push_back( *it );} diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc index 7395a19e21602..56790a73ea7c0 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc @@ -32,7 +32,6 @@ #include "DataFormats/EcalDetId/interface/EEDetId.h" #include "RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" #include #include @@ -111,7 +110,7 @@ EEDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& if (it->detid()==*CheckDead) { OverADeadRecHit=true; bool AcceptRecHit=true; - EcalRecHit NewRecHit = eeDeadChannelCorrector.correct(it->detid(),hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); + EcalRecHit NewRecHit = eeDeadChannelCorrector.correct(it->detid(),*hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); // Accept the new rec hit if the flag is true. if( AcceptRecHit ) { redCollection->push_back( NewRecHit ); } else { redCollection->push_back( *it );} diff --git a/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.cc b/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.cc index 9ff26081d1965..a7bca8601a685 100644 --- a/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.cc +++ b/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.cc @@ -128,22 +128,34 @@ EcalRecHitWorkerRecover::run( const edm::Event & evt, } if ( flags == EcalRecHitWorkerRecover::EB_single ) { + // recover as single dead channel + ebDeadChannelCorrector.setCaloTopology(caloTopology_.product()); + + // channel recovery. Accepted new RecHit has the flag AcceptRecHit=TRUE + bool AcceptRecHit=true; + EcalRecHit hit = ebDeadChannelCorrector.correct( detId, result, singleRecoveryMethod_, singleRecoveryThreshold_, &AcceptRecHit); + if ( hit.energy() != 0 and AcceptRecHit == true ) { + hit.setFlag( EcalRecHit::kNeighboursRecovered ) ; + } else { + // recovery failed + hit.setFlag( EcalRecHit::kDead ) ; + } + insertRecHit( hit, result ); + + } else if ( flags == EcalRecHitWorkerRecover::EE_single ) { // recover as single dead channel - const EcalRecHitCollection * hit_collection = &result; - ebDeadChannelCorrector.setCaloTopology(caloTopology_.product()); + eeDeadChannelCorrector.setCaloTopology(caloTopology_.product()); // channel recovery. Accepted new RecHit has the flag AcceptRecHit=TRUE bool AcceptRecHit=true; - EcalRecHit hit = ebDeadChannelCorrector.correct( detId, hit_collection, singleRecoveryMethod_, singleRecoveryThreshold_, &AcceptRecHit); - std::cout << "Recovery stuff. EB single " << AcceptRecHit << std::endl; + EcalRecHit hit = eeDeadChannelCorrector.correct( detId, result, singleRecoveryMethod_, singleRecoveryThreshold_, &AcceptRecHit); if ( hit.energy() != 0 and AcceptRecHit == true ) { - hit.setFlag( EcalRecHit::kNeighboursRecovered ) ; + hit.setFlag( EcalRecHit::kNeighboursRecovered ) ; } else { - // recovery failed - hit.setFlag( EcalRecHit::kDead ) ; + // recovery failed + hit.setFlag( EcalRecHit::kDead ) ; } - std::cout << hit << std::endl; insertRecHit( hit, result ); } else if ( flags == EcalRecHitWorkerRecover::EB_VFE ) { @@ -197,24 +209,6 @@ EcalRecHitWorkerRecover::run( const edm::Event & evt, } } } - } else if ( flags == EcalRecHitWorkerRecover::EE_single ) { - std::cout << "Recovery stuff. EE single" << std::endl; - - // recover as single dead channel - const EcalRecHitCollection * hit_collection = &result; - eeDeadChannelCorrector.setCaloTopology(caloTopology_.product()); - - // channel recovery. Accepted new RecHit has the flag AcceptRecHit=TRUE - bool AcceptRecHit=true; - EcalRecHit hit = eeDeadChannelCorrector.correct( detId, hit_collection, singleRecoveryMethod_, singleRecoveryThreshold_, &AcceptRecHit); - if ( hit.energy() != 0 and AcceptRecHit == true ) { - hit.setFlag( EcalRecHit::kNeighboursRecovered ) ; - } else { - // recovery failed - hit.setFlag( EcalRecHit::kDead ) ; - } - insertRecHit( hit, result ); - } else if ( flags == EcalRecHitWorkerRecover::EE_FE ) { // Structure for recovery: // ** SC --> EEDetId constituents (eeC) --> associated Trigger Towers (aTT) --> EEDetId constituents (aTTC) diff --git a/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.h b/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.h index 44c775643688d..f591de2d915b2 100644 --- a/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.h +++ b/RecoLocalCalo/EcalRecProducers/plugins/EcalRecHitWorkerRecover.h @@ -25,8 +25,7 @@ #include "CalibCalorimetry/EcalTPGTools/interface/EcalTPGScale.h" #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EBDeadChannelRecoveryAlgos.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EEDeadChannelRecoveryAlgos.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h" class EcalRecHitWorkerRecover : public EcalRecHitWorkerBaseClass { public: @@ -94,8 +93,8 @@ class EcalRecHitWorkerRecover : public EcalRecHitWorkerBaseClass { EcalTPGScale tpgscale_; - EBDeadChannelRecoveryAlgos ebDeadChannelCorrector; - EEDeadChannelRecoveryAlgos eeDeadChannelCorrector; + EcalDeadChannelRecoveryAlgos ebDeadChannelCorrector; + EcalDeadChannelRecoveryAlgos eeDeadChannelCorrector; }; From 9d3e66886c2b85cfac060d6388187d64df00c5fe Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Sun, 30 Mar 2014 08:21:01 +0200 Subject: [PATCH 06/11] Cosmetical (indentation) fixes in RecoLocalCalo/EcalDeadChannelRecoveryAlgos. --- .../interface/EcalCrystalMatrixProbality.h | 20 +- .../interface/EcalDeadChannelRecoveryAlgos.h | 13 +- .../interface/EcalDeadChannelRecoveryNN.h | 54 +- .../src/EcalCrystalMatrixProbality.cc | 174 ++-- .../src/EcalDeadChannelRecoveryAlgos.cc | 27 +- .../src/EcalDeadChannelRecoveryNN.cc | 837 ++++++++---------- 6 files changed, 532 insertions(+), 593 deletions(-) diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalCrystalMatrixProbality.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalCrystalMatrixProbality.h index f01bf6dd24f3e..eae7d655f81e0 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalCrystalMatrixProbality.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalCrystalMatrixProbality.h @@ -1,20 +1,20 @@ #ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalCrystalMatrixProbability_CC #define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalCrystalMatrixProbability_CC -// -// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle +// Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) // Created: Mon Feb 04 10:45:16 EET 2013 -// +// #include "TMath.h" -template -class EcalCrystalMatrixProbality { - public: - static double Central(double x); - static double Diagonal(double x); - static double UpDown(double x); - static double ReftRight(double x); +template class EcalCrystalMatrixProbality { + public: + static double Central(double x); + static double Diagonal(double x); + static double UpDown(double x); + static double ReftRight(double x); }; #endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h index def90e03e915a..e7d6e375afb6f 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h @@ -1,6 +1,6 @@ #ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalDeadChannelRecoveryAlgos_HH #define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_ECalDeadChannelRecoveryAlgos_HH - + // Reconstruction Classes #include "DataFormats/EcalRecHit/interface/EcalRecHit.h" #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" @@ -9,13 +9,14 @@ #include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h" -template -class EcalDeadChannelRecoveryAlgos { +template class EcalDeadChannelRecoveryAlgos { public: void setCaloTopology(const CaloTopology *topology); - EcalRecHit correct(const DetIdT id, const EcalRecHitCollection& hit_collection, std::string algo, double Sum8Cut, bool *AccFlag); - + EcalRecHit correct(const DetIdT id, + const EcalRecHitCollection &hit_collection, + std::string algo, double Sum8Cut, bool *AccFlag); + private: - EcalDeadChannelRecoveryNN nn; + EcalDeadChannelRecoveryNN nn; }; #endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h index 2267b6edf4327..4ac9a9867501a 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h @@ -16,28 +16,38 @@ #include #include -template -class EcalDeadChannelRecoveryNN { - // Arrangement within the M3x3Input matrix - // - // M3x3 - // ----------------------------------- - // - // - // LU UU RU 04 01 07 - // LL CC RR or 03 00 06 - // LD DD RD 05 02 08 +template class EcalDeadChannelRecoveryNN { + // Arrangement within the M3x3Input matrix + // + // M3x3 + // ----------------------------------- + // + // + // LU UU RU 04 01 07 + // LL CC RR or 03 00 06 + // LD DD RD 05 02 08 public: EcalDeadChannelRecoveryNN(); ~EcalDeadChannelRecoveryNN(); // Enumeration to switch from custom names within the 3x3 matrix. - enum CellID { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 }; + enum CellID { + CC = 0, + UU = 1, + DD = 2, + LL = 3, + LU = 4, + LD = 5, + RR = 6, + RU = 7, + RD = 8 + }; void setCaloTopology(const CaloTopology *topo); - double recover(const DetIdT id, const EcalRecHitCollection& hit_collection, double Sum8Cut, bool *AcceptFlag); - + double recover(const DetIdT id, const EcalRecHitCollection &hit_collection, + double Sum8Cut, bool *AcceptFlag); + private: struct MultiLayerPerceptronContext { Double_t tmp[9]; @@ -45,17 +55,21 @@ class EcalDeadChannelRecoveryNN { TMultiLayerPerceptron *mlp; }; - const CaloTopology * calotopo_; + const CaloTopology *calotopo_; MultiLayerPerceptronContext ctx_[9]; void load(); - void load_file(MultiLayerPerceptronContext& ctx, std::string fn); + void load_file(MultiLayerPerceptronContext &ctx, std::string fn); -public: - double estimateEnergy(double *M3x3Input, double epsilon=0.0000001); + public: + double estimateEnergy(double *M3x3Input, double epsilon = 0.0000001); - double makeNxNMatrice_RelMC(DetIdT itID, const EcalRecHitCollection& hit_collection, double *MNxN_RelMC, bool* AccFlag); - double makeNxNMatrice_RelDC(DetIdT itID, const EcalRecHitCollection& hit_collection, double *MNxN_RelDC, bool* AccFlag); + double makeNxNMatrice_RelMC(DetIdT itID, + const EcalRecHitCollection &hit_collection, + double *MNxN_RelMC, bool *AccFlag); + double makeNxNMatrice_RelDC(DetIdT itID, + const EcalRecHitCollection &hit_collection, + double *MNxN_RelDC, bool *AccFlag); }; #endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalCrystalMatrixProbality.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalCrystalMatrixProbality.cc index 4c073f548b05d..e18fb543728b9 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalCrystalMatrixProbality.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalCrystalMatrixProbality.cc @@ -5,127 +5,113 @@ template <> double EcalCrystalMatrixProbality::Central(double x) { - - double vEBCentral = 0.0 ; - - if ( x <= 0.180 ) { vEBCentral = 0.0 ; } - else if ( 0.180 < x && x <= 0.300 ) { vEBCentral = ( -3267.97+53882*x-298536*x*x+555872*x*x*x)/2.19773067484200601e+03 ; } - else if ( 0.300 < x && x <= 0.450 ) { vEBCentral = ( -35768.3+ 307852*x -892325*x*x +914708*x*x*x)/2.19773067484200601e+03 ; } - else if ( 0.450 < x && x <= 0.780 ) { vEBCentral = ( 28483 -113912*x +184167*x*x -99781.8*x*x*x)/2.19773067484200601e+03 ; } - else if ( 0.780 < x && x <= 0.845 ) { vEBCentral = ( -2.49877e+07 + 9.18933e+07*x -1.12504e+08*x*x + 4.58581e+07*x*x*x)/2.19773067484200601e+03 ; } - else if ( 0.845 < x ) { vEBCentral = 0.0 ; } - else { vEBCentral = 0.0 ; } - - return vEBCentral ; - + double vEBCentral = 0.0 ; + + if ( x <= 0.180 ) { vEBCentral = 0.0 ; } + else if ( 0.180 < x && x <= 0.300 ) { vEBCentral = ( -3267.97+53882*x-298536*x*x+555872*x*x*x)/2.19773067484200601e+03 ; } + else if ( 0.300 < x && x <= 0.450 ) { vEBCentral = ( -35768.3+ 307852*x -892325*x*x +914708*x*x*x)/2.19773067484200601e+03 ; } + else if ( 0.450 < x && x <= 0.780 ) { vEBCentral = ( 28483 -113912*x +184167*x*x -99781.8*x*x*x)/2.19773067484200601e+03 ; } + else if ( 0.780 < x && x <= 0.845 ) { vEBCentral = ( -2.49877e+07 + 9.18933e+07*x -1.12504e+08*x*x + 4.58581e+07*x*x*x)/2.19773067484200601e+03 ; } + else if ( 0.845 < x ) { vEBCentral = 0.0 ; } + else { vEBCentral = 0.0 ; } + + return vEBCentral ; } template <> double EcalCrystalMatrixProbality::Diagonal(double x){ - - double vEBDiagonal = 0.0 ; - - if ( 0.000 < x && x <= 0.010 ) { vEBDiagonal = TMath::Landau(x,7.02750e-03,2.41060e-03,1)*3.96033283438174431e+03/4.39962923475768821e+03 ; } - else if ( 0.010 < x && x <= 0.100 ) { vEBDiagonal = TMath::Landau(x,1.70472e-03,2.47564e-03,1)*8.34898553737588554e+03/4.39962923475768821e+03 ; } - else if ( 0.100 < x && x <= 0.350 ) { vEBDiagonal = (18206.7-326578*x+2.44528e+06*x*x-9.27532e+06*x*x*x+ 1.75264e+07*x*x*x*x-1.30949e+07*x*x*x*x*x)/4.39962923475768821e+03 ; } - else if ( 0.350 < x ) { vEBDiagonal = 0.0 ; } - else { vEBDiagonal = 0.0 ; } - - return vEBDiagonal ; - + double vEBDiagonal = 0.0 ; + + if ( 0.000 < x && x <= 0.010 ) { vEBDiagonal = TMath::Landau(x,7.02750e-03,2.41060e-03,1)*3.96033283438174431e+03/4.39962923475768821e+03 ; } + else if ( 0.010 < x && x <= 0.100 ) { vEBDiagonal = TMath::Landau(x,1.70472e-03,2.47564e-03,1)*8.34898553737588554e+03/4.39962923475768821e+03 ; } + else if ( 0.100 < x && x <= 0.350 ) { vEBDiagonal = (18206.7-326578*x+2.44528e+06*x*x-9.27532e+06*x*x*x+ 1.75264e+07*x*x*x*x-1.30949e+07*x*x*x*x*x)/4.39962923475768821e+03 ; } + else if ( 0.350 < x ) { vEBDiagonal = 0.0 ; } + else { vEBDiagonal = 0.0 ; } + + return vEBDiagonal ; } template <> double EcalCrystalMatrixProbality::UpDown(double x){ - - double vEBUpDown = 0.0 ; - - if ( 0.000 < x && x <= 0.005 ) { vEBUpDown = (28.5332-35350*x+4.28566e+07*x*x-2.02038e+10*x*x*x+ 3.56185e+12*x*x*x*x)/2.20315994559946967e+03 ; } - else if ( 0.005 < x && x <= 0.015 ) { vEBUpDown = TMath::Landau(x, 1.51342e-02, 3.65756e-03,1)*7.04501225670452641e+02/2.20315994559946967e+03 ; } - else if ( 0.015 < x && x <= 0.020 ) { vEBUpDown = TMath::Landau(x, 1.52460e-02, 5.04539e-03 ,1)*9.70980301933632518e+02/2.20315994559946967e+03 ; } - else if ( 0.020 < x && x <= 0.100 ) { vEBUpDown = (62436.8-2.52677e+06*x+4.92704e+07*x*x-4.95769e+08*x*x*x+ 2.48261e+09*x*x*x*x-4.89172e+09*x*x*x*x*x)/2.20315994559946967e+03 ; } - else if ( 0.100 < x && x <= 0.430 ) { vEBUpDown = ( 19976.7 - 265844*x+ 1.80629e+06*x*x -6.40378e+06*x*x*x+ 1.13017e+07*x*x*x*x -7.91581e+06*x*x*x*x*x)/2.20315994559946967e+03 ; } - else if ( 0.430 < x && x <= 0.453 ) { vEBUpDown = ( -3.78481e+06 +2.60128e+07*x -5.9519e+07*x*x +4.53408e+07*x*x*x)/2.20315994559946967e+03 ; } - else if ( 0.453 < x ) { vEBUpDown = 0.0 ; } - else { vEBUpDown = 0.0 ; } - - return vEBUpDown ; - + double vEBUpDown = 0.0 ; + + if ( 0.000 < x && x <= 0.005 ) { vEBUpDown = (28.5332-35350*x+4.28566e+07*x*x-2.02038e+10*x*x*x+ 3.56185e+12*x*x*x*x)/2.20315994559946967e+03 ; } + else if ( 0.005 < x && x <= 0.015 ) { vEBUpDown = TMath::Landau(x, 1.51342e-02, 3.65756e-03,1)*7.04501225670452641e+02/2.20315994559946967e+03 ; } + else if ( 0.015 < x && x <= 0.020 ) { vEBUpDown = TMath::Landau(x, 1.52460e-02, 5.04539e-03 ,1)*9.70980301933632518e+02/2.20315994559946967e+03 ; } + else if ( 0.020 < x && x <= 0.100 ) { vEBUpDown = (62436.8-2.52677e+06*x+4.92704e+07*x*x-4.95769e+08*x*x*x+ 2.48261e+09*x*x*x*x-4.89172e+09*x*x*x*x*x)/2.20315994559946967e+03 ; } + else if ( 0.100 < x && x <= 0.430 ) { vEBUpDown = ( 19976.7 - 265844*x+ 1.80629e+06*x*x -6.40378e+06*x*x*x+ 1.13017e+07*x*x*x*x -7.91581e+06*x*x*x*x*x)/2.20315994559946967e+03 ; } + else if ( 0.430 < x && x <= 0.453 ) { vEBUpDown = ( -3.78481e+06 +2.60128e+07*x -5.9519e+07*x*x +4.53408e+07*x*x*x)/2.20315994559946967e+03 ; } + else if ( 0.453 < x ) { vEBUpDown = 0.0 ; } + else { vEBUpDown = 0.0 ; } + + return vEBUpDown ; } template <> double EcalCrystalMatrixProbality::ReftRight(double x){ - - double vEBReftRight = 0.0 ; - - if ( 0.000 < x && x <= 0.003 ) { vEBReftRight = (102.682+457094*x-4.34553e+08*x*x+2.59638e+11*x*x*x)/2.19081589410447168e+03 ; } - else if ( 0.003 < x && x <= 0.010 ) { vEBReftRight = TMath::Landau(x, 9.56298e-03, 2.59171e-03,1)*1.27769617491053555e+03/2.19081589410447168e+03 ; } - else if ( 0.010 < x && x <= 0.070 ) { vEBReftRight = TMath::Landau(x, -1.11570e-02 , 9.08308e-04 ,1)*3.58026004645168359e+04/2.19081589410447168e+03 ; } - else if ( 0.070 < x && x <= 0.400 ) { vEBReftRight = ( 15362.5 -230546*x +1.57249e+06*x*x -5.47903e+06*x*x*x+9.4296e+06*x*x*x*x -6.3775e+06*x*x*x*x*x)/2.19081589410447168e+03 ; } - else if ( 0.400 < x && x <= 0.440 ) { vEBReftRight = (2.3163882e+06-2.2437252e+07*x+8.1519104e+07*x*x-1.3162869e+08*x*x*x+7.9682168e+07*x*x*x*x)/2.19081589410447168e+03 ; } - else if ( 0.440 < x ) { vEBReftRight = 0.0 ; } - else { vEBReftRight = 0.0 ; } - - return vEBReftRight ; + double vEBReftRight = 0.0 ; + + if ( 0.000 < x && x <= 0.003 ) { vEBReftRight = (102.682+457094*x-4.34553e+08*x*x+2.59638e+11*x*x*x)/2.19081589410447168e+03 ; } + else if ( 0.003 < x && x <= 0.010 ) { vEBReftRight = TMath::Landau(x, 9.56298e-03, 2.59171e-03,1)*1.27769617491053555e+03/2.19081589410447168e+03 ; } + else if ( 0.010 < x && x <= 0.070 ) { vEBReftRight = TMath::Landau(x, -1.11570e-02 , 9.08308e-04 ,1)*3.58026004645168359e+04/2.19081589410447168e+03 ; } + else if ( 0.070 < x && x <= 0.400 ) { vEBReftRight = ( 15362.5 -230546*x +1.57249e+06*x*x -5.47903e+06*x*x*x+9.4296e+06*x*x*x*x -6.3775e+06*x*x*x*x*x)/2.19081589410447168e+03 ; } + else if ( 0.400 < x && x <= 0.440 ) { vEBReftRight = (2.3163882e+06-2.2437252e+07*x+8.1519104e+07*x*x-1.3162869e+08*x*x*x+7.9682168e+07*x*x*x*x)/2.19081589410447168e+03 ; } + else if ( 0.440 < x ) { vEBReftRight = 0.0 ; } + else { vEBReftRight = 0.0 ; } + + return vEBReftRight ; } template <> double EcalCrystalMatrixProbality::Central(double x){ - - double vEECentral = 0.0 ; - - if ( x <= 0.195 ) { vEECentral = 0.0 ; } - else if ( 0.195 < x && x <= 0.440 ) { vEECentral = (-30295.4+562760*x-4.04967e+06*x*x+1.40276e+07*x*x*x-2.33108e+07*x*x*x*x+1.50243e+07*x*x*x*x*x)/9.44506089594767786e+02 ; } - else if ( 0.440 < x && x <= 0.840 ) { vEECentral = (-34683.3+274011*x-749408*x*x+895482*x*x*x-396108*x*x*x*x)/9.44506089594767786e+02 ; } - else if ( 0.840 < x && x <= 0.875 ) { vEECentral = (4.7355575e+06-1.6268056e+07*x+1.8629316e+07*x*x-7.1113915e+06*x*x*x)/9.44506089594767786e+02 ; } - else if ( 0.875 < x ) { vEECentral = 0.0 ; } - else { vEECentral = 0.0 ; } - - return vEECentral ; - + double vEECentral = 0.0 ; + + if ( x <= 0.195 ) { vEECentral = 0.0 ; } + else if ( 0.195 < x && x <= 0.440 ) { vEECentral = (-30295.4+562760*x-4.04967e+06*x*x+1.40276e+07*x*x*x-2.33108e+07*x*x*x*x+1.50243e+07*x*x*x*x*x)/9.44506089594767786e+02 ; } + else if ( 0.440 < x && x <= 0.840 ) { vEECentral = (-34683.3+274011*x-749408*x*x+895482*x*x*x-396108*x*x*x*x)/9.44506089594767786e+02 ; } + else if ( 0.840 < x && x <= 0.875 ) { vEECentral = (4.7355575e+06-1.6268056e+07*x+1.8629316e+07*x*x-7.1113915e+06*x*x*x)/9.44506089594767786e+02 ; } + else if ( 0.875 < x ) { vEECentral = 0.0 ; } + else { vEECentral = 0.0 ; } + + return vEECentral ; } template <> double EcalCrystalMatrixProbality::Diagonal(double x){ - - double vEEDiagonal = 0.0 ; - - if ( 0.000 < x && x <= 0.015 ) { vEEDiagonal = TMath::Landau(x,8.25505e-03,3.10387e-03,1)*1.68601977536835489e+03/1.86234137068993937e+03 ; } - else if ( 0.015 < x && x <= 0.150 ) { vEEDiagonal = TMath::Landau(x,-5.58560e-04,2.44735e-03,1)*4.88463235185936264e+03/1.86234137068993937e+03 ; } - else if ( 0.150 < x && x <= 0.400 ) { vEEDiagonal = (7416.66-114653*x+763877*x*x-2.57767e+06*x*x*x+4.28872e+06*x*x*x*x-2.79218e+06*x*x*x*x*x)/1.86234137068993937e+03 ; } - else if ( 0.400 < x ) { vEEDiagonal = 0.0 ; } - else { vEEDiagonal = 0.0 ; } - - return vEEDiagonal ; - + double vEEDiagonal = 0.0 ; + + if ( 0.000 < x && x <= 0.015 ) { vEEDiagonal = TMath::Landau(x,8.25505e-03,3.10387e-03,1)*1.68601977536835489e+03/1.86234137068993937e+03 ; } + else if ( 0.015 < x && x <= 0.150 ) { vEEDiagonal = TMath::Landau(x,-5.58560e-04,2.44735e-03,1)*4.88463235185936264e+03/1.86234137068993937e+03 ; } + else if ( 0.150 < x && x <= 0.400 ) { vEEDiagonal = (7416.66-114653*x+763877*x*x-2.57767e+06*x*x*x+4.28872e+06*x*x*x*x-2.79218e+06*x*x*x*x*x)/1.86234137068993937e+03 ; } + else if ( 0.400 < x ) { vEEDiagonal = 0.0 ; } + else { vEEDiagonal = 0.0 ; } + + return vEEDiagonal ; } template <> double EcalCrystalMatrixProbality::UpDown(double x){ - - double vEEUpDown = 0.0 ; - - if ( 0.000 < x && x <= 0.015 ) { vEEUpDown = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; } - else if ( 0.015 < x && x <= 0.100 ) { vEEUpDown = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; } - else if ( 0.100 < x && x <= 0.450 ) { vEEUpDown = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; } - else if ( 0.450 < x ) { vEEUpDown = 0.0 ; } - else { vEEUpDown = 0.0 ; } - - return vEEUpDown ; - + double vEEUpDown = 0.0 ; + + if ( 0.000 < x && x <= 0.015 ) { vEEUpDown = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; } + else if ( 0.015 < x && x <= 0.100 ) { vEEUpDown = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.100 < x && x <= 0.450 ) { vEEUpDown = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.450 < x ) { vEEUpDown = 0.0 ; } + else { vEEUpDown = 0.0 ; } + + return vEEUpDown ; } template <> double EcalCrystalMatrixProbality::ReftRight(double x){ - - double vEEReftRight = 0.0 ; - - if ( 0.000 < x && x <= 0.015 ) { vEEReftRight = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; } - else if ( 0.015 < x && x <= 0.100 ) { vEEReftRight = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; } - else if ( 0.100 < x && x <= 0.450 ) { vEEReftRight = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; } - else if ( 0.450 < x ) { vEEReftRight = 0.0 ; } - else { vEEReftRight = 0.0 ; } - - return vEEReftRight ; + double vEEReftRight = 0.0 ; + + if ( 0.000 < x && x <= 0.015 ) { vEEReftRight = TMath::Landau(x,1.34809e-02,3.70278e-03,1)*8.62383670884733533e+02/1.88498009908992071e+03 ; } + else if ( 0.015 < x && x <= 0.100 ) { vEEReftRight = (75877.4-3.18767e+06*x+5.89073e+07*x*x-5.08829e+08*x*x*x+1.67247e+09*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.100 < x && x <= 0.450 ) { vEEReftRight = (12087-123704*x+566586*x*x-1.20111e+06*x*x*x+933789*x*x*x*x)/1.88498009908992071e+03 ; } + else if ( 0.450 < x ) { vEEReftRight = 0.0 ; } + else { vEEReftRight = 0.0 ; } + + return vEEReftRight ; } diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc index f30b99a37fa45..d35a2a249cb9b 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryAlgos.cc @@ -1,30 +1,35 @@ -// -// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) +// +// Original Author: Stilianos Kesisoglou - Institute of Nuclear and Particle +// Physics NCSR Demokritos (Stilianos.Kesisoglou@cern.ch) // Created: Wed Nov 21 11:24:39 EET 2012 -// -// Nov 21 2012: First version of the code. Based on the old "EcalDeadChannelRecoveryAlgos.cc" code -// Feb 14 2013: Implementation of the criterion to select the "correct" max. cont. crystal. +// +// Nov 21 2012: First version of the code. Based on the old +// "EcalDeadChannelRecoveryAlgos.cc" code +// Feb 14 2013: Implementation of the criterion to select the "correct" +// max. cont. crystal. // #include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryAlgos.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" template -void EcalDeadChannelRecoveryAlgos::setCaloTopology(const CaloTopology *topo) -{ - nn.setCaloTopology(topo); +void EcalDeadChannelRecoveryAlgos::setCaloTopology( + const CaloTopology *topo) { + nn.setCaloTopology(topo); } template -EcalRecHit EcalDeadChannelRecoveryAlgos::correct(const T id, const EcalRecHitCollection& hit_collection, std::string algo, double Sum8Cut, bool *AcceptFlag) -{ +EcalRecHit EcalDeadChannelRecoveryAlgos::correct( + const T id, const EcalRecHitCollection &hit_collection, std::string algo, + double Sum8Cut, bool *AcceptFlag) { // recover as single dead channel double NewEnergy = 0.0; if (algo == "NeuralNetworks") { NewEnergy = this->nn.recover(id, hit_collection, Sum8Cut, AcceptFlag); } else { - edm::LogError("EcalDeadChannelRecoveryAlgos") << "Invalid algorithm for dead channel recovery."; + edm::LogError("EcalDeadChannelRecoveryAlgos") + << "Invalid algorithm for dead channel recovery."; *AcceptFlag = false; } diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc index b7fcf2adfc457..775c6704cbf55 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc @@ -88,507 +88,440 @@ void EcalDeadChannelRecoveryNN::load() { template double EcalDeadChannelRecoveryNN::recover(const T id, const EcalRecHitCollection& hit_collection, double Sum8Cut, bool *AcceptFlag) { - // use the correct probability matrix - typedef class EcalCrystalMatrixProbality P; - - double NewEnergy = 0.0; - - double NewEnergy_RelMC = 0.0; - double NewEnergy_RelDC = 0.0; - - double MNxN_RelMC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; - double MNxN_RelDC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; - - double sum8 = 0.0; - - double sum8_RelMC = makeNxNMatrice_RelMC(id, hit_collection, MNxN_RelMC,AcceptFlag); - double sum8_RelDC = makeNxNMatrice_RelDC(id, hit_collection, MNxN_RelDC,AcceptFlag); - - // Only if "AcceptFlag" is true call the ANN - if ( *AcceptFlag ) { - if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { - NewEnergy_RelMC = estimateEnergy(MNxN_RelMC); - NewEnergy_RelDC = estimateEnergy(MNxN_RelDC); - - // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus - // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. - // - double SumMNxN_RelMC = MNxN_RelMC[LU] + MNxN_RelMC[UU] + MNxN_RelMC[RU] + - MNxN_RelMC[LL] + MNxN_RelMC[CC] + MNxN_RelMC[RR] + - MNxN_RelMC[LD] + MNxN_RelMC[DD] + MNxN_RelMC[RD] ; - - double frMNxN_RelMC[9]; for (int i=0; i<9; i++) { frMNxN_RelMC[i] = MNxN_RelMC[i] / SumMNxN_RelMC ; } - - double prMNxN_RelMC = P::Diagonal( frMNxN_RelMC[LU] ) * P::UpDown( frMNxN_RelMC[UU] ) * P::Diagonal( frMNxN_RelMC[RU] ) * - P::ReftRight( frMNxN_RelMC[LL] ) * P::Central( frMNxN_RelMC[CC] ) * P::ReftRight( frMNxN_RelMC[RR] ) * - P::Diagonal( frMNxN_RelMC[LD] ) * P::UpDown( frMNxN_RelMC[DD] ) * P::Diagonal( frMNxN_RelMC[RD] ) ; - - double SumMNxN_RelDC = MNxN_RelDC[LU] + MNxN_RelDC[UU] + MNxN_RelDC[RU] + - MNxN_RelDC[LL] + MNxN_RelDC[CC] + MNxN_RelDC[RR] + - MNxN_RelDC[LD] + MNxN_RelDC[DD] + MNxN_RelDC[RD] ; - - double frMNxN_RelDC[9]; for (int i=0; i<9; i++) { frMNxN_RelDC[i] = MNxN_RelDC[i] / SumMNxN_RelDC ; } - - double prMNxN_RelDC = P::Diagonal( frMNxN_RelDC[LU] ) * P::UpDown( frMNxN_RelDC[UU] ) * P::Diagonal( frMNxN_RelDC[RU] ) * - P::ReftRight( frMNxN_RelDC[LL] ) * P::Central( frMNxN_RelDC[CC] ) * P::ReftRight( frMNxN_RelDC[RR] ) * - P::Diagonal( frMNxN_RelDC[LD] ) * P::UpDown( frMNxN_RelDC[DD] ) * P::Diagonal( frMNxN_RelDC[RD] ) ; - - if ( prMNxN_RelDC > prMNxN_RelMC ) { NewEnergy = NewEnergy_RelDC ; sum8 = sum8_RelDC ; } - if ( prMNxN_RelDC <= prMNxN_RelMC ) { NewEnergy = NewEnergy_RelMC ; sum8 = sum8_RelMC ; } - - - // If the return value of "CorrectDeadChannelsNN" is one of the followin negative values then - // it corresponds to an error condition. See "CorrectDeadChannelsNN.cc" for possible values. - if ( NewEnergy == -1000000.0 || - NewEnergy == -1000001.0 || - NewEnergy == -2000000.0 || - NewEnergy == -3000000.0 || - NewEnergy == -3000001.0 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } - } + // use the correct probability matrix + typedef class EcalCrystalMatrixProbality P; + + double NewEnergy = 0.0; + + double NewEnergy_RelMC = 0.0; + double NewEnergy_RelDC = 0.0; + + double MNxN_RelMC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; + double MNxN_RelDC[9] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 } ; + + double sum8 = 0.0; + + double sum8_RelMC = makeNxNMatrice_RelMC(id, hit_collection, MNxN_RelMC,AcceptFlag); + double sum8_RelDC = makeNxNMatrice_RelDC(id, hit_collection, MNxN_RelDC,AcceptFlag); + + // Only if "AcceptFlag" is true call the ANN + if ( *AcceptFlag ) { + if (sum8_RelDC > Sum8Cut && sum8_RelMC > Sum8Cut) { + NewEnergy_RelMC = estimateEnergy(MNxN_RelMC); + NewEnergy_RelDC = estimateEnergy(MNxN_RelDC); + + // Matrices "MNxN_RelMC" and "MNxN_RelDC" have now the full set of energies, the original ones plus + // whatever "estimates" by the ANN for the "dead" xtal. Use those full matrices and calculate probabilities. + // + double SumMNxN_RelMC = MNxN_RelMC[LU] + MNxN_RelMC[UU] + MNxN_RelMC[RU] + + MNxN_RelMC[LL] + MNxN_RelMC[CC] + MNxN_RelMC[RR] + + MNxN_RelMC[LD] + MNxN_RelMC[DD] + MNxN_RelMC[RD] ; + + double frMNxN_RelMC[9]; for (int i=0; i<9; i++) { frMNxN_RelMC[i] = MNxN_RelMC[i] / SumMNxN_RelMC ; } + + double prMNxN_RelMC = P::Diagonal( frMNxN_RelMC[LU] ) * P::UpDown( frMNxN_RelMC[UU] ) * P::Diagonal( frMNxN_RelMC[RU] ) * + P::ReftRight( frMNxN_RelMC[LL] ) * P::Central( frMNxN_RelMC[CC] ) * P::ReftRight( frMNxN_RelMC[RR] ) * + P::Diagonal( frMNxN_RelMC[LD] ) * P::UpDown( frMNxN_RelMC[DD] ) * P::Diagonal( frMNxN_RelMC[RD] ) ; + + double SumMNxN_RelDC = MNxN_RelDC[LU] + MNxN_RelDC[UU] + MNxN_RelDC[RU] + + MNxN_RelDC[LL] + MNxN_RelDC[CC] + MNxN_RelDC[RR] + + MNxN_RelDC[LD] + MNxN_RelDC[DD] + MNxN_RelDC[RD] ; + + double frMNxN_RelDC[9]; for (int i=0; i<9; i++) { frMNxN_RelDC[i] = MNxN_RelDC[i] / SumMNxN_RelDC ; } + + double prMNxN_RelDC = P::Diagonal( frMNxN_RelDC[LU] ) * P::UpDown( frMNxN_RelDC[UU] ) * P::Diagonal( frMNxN_RelDC[RU] ) * + P::ReftRight( frMNxN_RelDC[LL] ) * P::Central( frMNxN_RelDC[CC] ) * P::ReftRight( frMNxN_RelDC[RR] ) * + P::Diagonal( frMNxN_RelDC[LD] ) * P::UpDown( frMNxN_RelDC[DD] ) * P::Diagonal( frMNxN_RelDC[RD] ) ; + + if ( prMNxN_RelDC > prMNxN_RelMC ) { NewEnergy = NewEnergy_RelDC ; sum8 = sum8_RelDC ; } + if ( prMNxN_RelDC <= prMNxN_RelMC ) { NewEnergy = NewEnergy_RelMC ; sum8 = sum8_RelMC ; } + + + // If the return value of "CorrectDeadChannelsNN" is one of the followin negative values then + // it corresponds to an error condition. See "CorrectDeadChannelsNN.cc" for possible values. + if ( NewEnergy == -1000000.0 || + NewEnergy == -1000001.0 || + NewEnergy == -2000000.0 || + NewEnergy == -3000000.0 || + NewEnergy == -3000001.0 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } } - - // Protect against non physical high values - // From the distribution of (max.cont.xtal / Sum8) we get as limit 5 (hard) and 10 (softer) - // Choose 10 as highest possible energy to be assigned to the dead channel under any scenario. - if ( NewEnergy > 10.0 * sum8 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } - - return NewEnergy; + } + + // Protect against non physical high values + // From the distribution of (max.cont.xtal / Sum8) we get as limit 5 (hard) and 10 (softer) + // Choose 10 as highest possible energy to be assigned to the dead channel under any scenario. + if ( NewEnergy > 10.0 * sum8 ) { *AcceptFlag=false ; NewEnergy = 0.0 ; } + + return NewEnergy; } template double EcalDeadChannelRecoveryNN::estimateEnergy(double *M3x3Input, double epsilon) { - int missing[9]; - int missing_index = 0; - - for (int i = 0; i < 9; i++) { - if (TMath::Abs(M3x3Input[i]) < epsilon) { - missing[missing_index++] = i; - } else { - // Generally the "dead" cells are allowed to have negative energies (since they will be estimated by the ANN anyway). - // But all the remaining "live" ones must have positive values otherwise the logarithm fails. - - if (M3x3Input[i] < 0.0) { return -2000000.0; } - } + int missing[9]; + int missing_index = 0; + + for (int i = 0; i < 9; i++) { + if (TMath::Abs(M3x3Input[i]) < epsilon) { + missing[missing_index++] = i; + } else { + // Generally the "dead" cells are allowed to have negative energies (since they will be estimated by the ANN anyway). + // But all the remaining "live" ones must have positive values otherwise the logarithm fails. + + if (M3x3Input[i] < 0.0) { return -2000000.0; } } + } - // Currently EXACTLY ONE AND ONLY ONE dead cell is corrected. Return -1000000.0 if zero DC's detected and -101.0 if more than one DC's exist. - int idxDC = -1 ; - if (missing_index == 0) { return -1000000.0; } // Zero DC's were detected - if (missing_index > 1) { return -1000001.0; } // More than one DC's detected. - if (missing_index == 1) { idxDC = missing[0]; } + // Currently EXACTLY ONE AND ONLY ONE dead cell is corrected. Return -1000000.0 if zero DC's detected and -101.0 if more than one DC's exist. + int idxDC = -1 ; + if (missing_index == 0) { return -1000000.0; } // Zero DC's were detected + if (missing_index > 1) { return -1000001.0; } // More than one DC's detected. + if (missing_index == 1) { idxDC = missing[0]; } - // Arrange inputs into an array of 8, excluding the dead cell; - int input_order[9] = { CC, RR, LL, UU, DD, RU, RD, LU, LD }; - int input_index = 0; - Double_t input[8]; + // Arrange inputs into an array of 8, excluding the dead cell; + int input_order[9] = { CC, RR, LL, UU, DD, RU, RD, LU, LD }; + int input_index = 0; + Double_t input[8]; - for (int id : input_order) { - if (id == idxDC) - continue; + for (int id : input_order) { + if (id == idxDC) + continue; - input[input_index++] = TMath::Log(M3x3Input[id]); - } + input[input_index++] = TMath::Log(M3x3Input[id]); + } - // Select the case to apply the appropriate NN and return the result. - M3x3Input[idxDC] = TMath::Exp(ctx_[idxDC].mlp->Evaluate(0, input)); - return M3x3Input[idxDC]; + // Select the case to apply the appropriate NN and return the result. + M3x3Input[idxDC] = TMath::Exp(ctx_[idxDC].mlp->Evaluate(0, input)); + return M3x3Input[idxDC]; } template <> double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelMC(EBDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { - - // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain - // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). - // Get this 5x5 and locate the Max.Contain.Crystal within. - const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalBarrel); - - std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" - - EBDetId EBCellMax ; // Create a null EBDetId - double EnergyMax = 0.0; - - // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy - // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. - std::vector::const_iterator theCells; - - for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { - - EBDetId EBCell = EBDetId(*theCells); - - if (!EBCell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBCell); - - if ( goS_it != hit_collection.end() && goS_it->energy() >= EnergyMax ) { - - EnergyMax = goS_it->energy(); - EBCellMax = EBCell; - - } - - } else { - - continue; - - } - + // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain + // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). + // Get this 5x5 and locate the Max.Contain.Crystal within. + const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalBarrel); + std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" + + EBDetId EBCellMax ; // Create a null EBDetId + double EnergyMax = 0.0; + + // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy + // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. + std::vector::const_iterator theCells; + + for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { + EBDetId EBCell = EBDetId(*theCells); + + if (!EBCell.null()) { + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBCell); + + if ( goS_it != hit_collection.end() && goS_it->energy() >= EnergyMax ) { + EnergyMax = goS_it->energy(); + EBCellMax = EBCell; + } + } else { + continue; } - // No Max.Cont.Crystal found, return back with no changes. - if ( EBCellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } - - // If the Max.Cont.Crystal found is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. - if ( EBCellMax.ieta() == 85 || EBCellMax.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } - - // Take the Max.Cont.Crystal as reference and get the 3x3 around it. - std::vector NxNaroundMaxCont = topology->getWindow(EBCellMax,3,3); - - // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal - bool dcIn3x3 = false ; - - std::vector::const_iterator testCell; - - for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { - - EBDetId EBtestCell = EBDetId(*testCell); + } + + // No Max.Cont.Crystal found, return back with no changes. + if ( EBCellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } + + // If the Max.Cont.Crystal found is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. + if ( EBCellMax.ieta() == 85 || EBCellMax.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the Max.Cont.Crystal as reference and get the 3x3 around it. + std::vector NxNaroundMaxCont = topology->getWindow(EBCellMax,3,3); + + // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal + bool dcIn3x3 = false ; + + std::vector::const_iterator testCell; + for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { + EBDetId EBtestCell = EBDetId(*testCell); + + if ( itID == EBtestCell ) { dcIn3x3 = true ; } + } + + // If the "dead" crystal is outside the 3x3 then do nothing. + if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } + + // Define the ieta and iphi steps (zero, plus, minus) + int ietaZ = EBCellMax.ieta() ; + int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; + int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; + + int iphiZ = EBCellMax.iphi() ; + int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; + int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; + + for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { + EBDetId EBitCell = EBDetId(*itCells); + + if (!EBitCell.null()) { + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBitCell); + + if ( goS_it != hit_collection.end() ) { + if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelMC[RU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[RR] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelMC[RD] = goS_it->energy(); } - if ( itID == EBtestCell ) { dcIn3x3 = true ; } - - } - - // If the "dead" crystal is outside the 3x3 then do nothing. - if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } - - // Define the ieta and iphi steps (zero, plus, minus) - int ietaZ = EBCellMax.ieta() ; - int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; - int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; - - int iphiZ = EBCellMax.iphi() ; - int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; - int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; - - for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix - // to be passed to the ANN for prediction. - std::vector::const_iterator itCells; - - for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { - - EBDetId EBitCell = EBDetId(*itCells); - - if (!EBitCell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBitCell); - - if ( goS_it != hit_collection.end() ) { - - if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelMC[RU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[RR] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelMC[RD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelMC[UU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[CC] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelMC[DD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelMC[LU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[LL] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelMC[LD] = goS_it->energy(); } - - else { *AcceptFlag=false ; return 0.0 ;} - - } - - } else { + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelMC[UU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[CC] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelMC[DD] = goS_it->energy(); } - continue; - - } - + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelMC[LU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[LL] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelMC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + } + } else { + continue; } - // Get the sum of 8 - double ESUMis = 0.0 ; - - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } + } - *AcceptFlag=true ; - - return ESUMis; + // Get the sum of 8 + double ESUMis = 0.0 ; + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } + + *AcceptFlag=true ; + return ESUMis; } template <> double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelDC(EBDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelDC, bool* AcceptFlag) { - - // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. - // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate - // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. - const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalBarrel); - - // If the "dead" crystal is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. - if ( itID.ieta() == 85 || itID.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } - - // Take the "dead" crystal as reference and get the 3x3 around it. - std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); - - // Define the ieta and iphi steps (zero, plus, minus) - int ietaZ = itID.ieta() ; - int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; - int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; - - int iphiZ = itID.iphi() ; - int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; - int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; - - for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix - // to be passed to the ANN for prediction. - std::vector::const_iterator itCells; - - for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { - - EBDetId EBitCell = EBDetId(*itCells); - - if (!EBitCell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBitCell); - - if ( goS_it != hit_collection.end() ) { - - if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelDC[RU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[RR] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelDC[RD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelDC[UU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[CC] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelDC[DD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelDC[LU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[LL] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelDC[LD] = goS_it->energy(); } - - else { *AcceptFlag=false ; return 0.0 ;} - - } - - } else { + // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. + // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate + // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. + const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalBarrel); + + // If the "dead" crystal is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. + if ( itID.ieta() == 85 || itID.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the "dead" crystal as reference and get the 3x3 around it. + std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); + + // Define the ieta and iphi steps (zero, plus, minus) + int ietaZ = itID.ieta() ; + int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; + int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; + + int iphiZ = itID.iphi() ; + int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; + int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; + + for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { + EBDetId EBitCell = EBDetId(*itCells); + + if (!EBitCell.null()) { + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBitCell); + + if ( goS_it != hit_collection.end() ) { + if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelDC[RU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[RR] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelDC[RD] = goS_it->energy(); } - continue; - - } - + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelDC[UU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[CC] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelDC[DD] = goS_it->energy(); } + + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelDC[LU] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[LL] = goS_it->energy(); } + else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelDC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + } + + } else { + continue; } - // Get the sum of 8 - double ESUMis = 0.0 ; - - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } + } - *AcceptFlag=true ; - - return ESUMis; + // Get the sum of 8 + double ESUMis = 0.0 ; + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } + + *AcceptFlag=true ; + return ESUMis; } template <> double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelMC(EEDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { - - // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain - // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). - // Get this 5x5 and locate the Max.Contain.Crystal within. - const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalEndcap); - - std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" - - EEDetId EECellMax ; // Create a null EEDetId - double EnergyMax = 0.0; - - // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy - // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. - std::vector::const_iterator theCells; - - for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { - - EEDetId EECell = EEDetId(*theCells); - - if (!EECell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EECell); - - if ( goS_it != hit_collection.end() && goS_it->energy() >= EnergyMax ) { - - EnergyMax = goS_it->energy(); - EECellMax = EECell; - - } - - } else { - - continue; - - } - + // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain + // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). + // Get this 5x5 and locate the Max.Contain.Crystal within. + const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalEndcap); + std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" + + EEDetId EECellMax ; // Create a null EEDetId + double EnergyMax = 0.0; + + // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy + // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. + std::vector::const_iterator theCells; + + for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { + EEDetId EECell = EEDetId(*theCells); + + if (!EECell.null()) { + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EECell); + + if ( goS_it != hit_collection.end() && goS_it->energy() >= EnergyMax ) { + EnergyMax = goS_it->energy(); + EECellMax = EECell; + } + } else { + continue; } - - // No Max.Cont.Crystal found, return back with no changes. - if ( EECellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } - - // If the Max.Cont.Crystal found is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. - if ( EEDetId::isNextToRingBoundary(EECellMax) ) { *AcceptFlag=false ; return 0.0 ; } - - // Take the Max.Cont.Crystal as reference and get the 3x3 around it. - std::vector NxNaroundMaxCont = topology->getWindow(EECellMax,3,3); - - // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal - bool dcIn3x3 = false ; - - std::vector::const_iterator testCell; - - for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { - - EEDetId EEtestCell = EEDetId(*testCell); + } + + // No Max.Cont.Crystal found, return back with no changes. + if ( EECellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } + + // If the Max.Cont.Crystal found is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. + if ( EEDetId::isNextToRingBoundary(EECellMax) ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the Max.Cont.Crystal as reference and get the 3x3 around it. + std::vector NxNaroundMaxCont = topology->getWindow(EECellMax,3,3); + + // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal + bool dcIn3x3 = false ; + + std::vector::const_iterator testCell; + for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { + EEDetId EEtestCell = EEDetId(*testCell); + + if ( itID == EEtestCell ) { dcIn3x3 = true ; } + } + + // If the "dead" crystal is outside the 3x3 then do nothing. + if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } + + // Define the ix and iy steps (zero, plus, minus) + int ixZ = EECellMax.ix() ; + int ixP = ixZ + 1 ; + int ixN = ixZ - 1 ; + + int iyZ = EECellMax.iy() ; + int iyP = iyZ + 1 ; + int iyN = iyZ - 1 ; + + for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { + EEDetId EEitCell = EEDetId(*itCells); + if (!EEitCell.null()) { + + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EEitCell); + if ( goS_it != hit_collection.end() ) { + if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelMC[RU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelMC[RR] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelMC[RD] = goS_it->energy(); } - if ( itID == EEtestCell ) { dcIn3x3 = true ; } - - } - - // If the "dead" crystal is outside the 3x3 then do nothing. - if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } - - // Define the ix and iy steps (zero, plus, minus) - int ixZ = EECellMax.ix() ; - int ixP = ixZ + 1 ; - int ixN = ixZ - 1 ; - - int iyZ = EECellMax.iy() ; - int iyP = iyZ + 1 ; - int iyN = iyZ - 1 ; - - enum { CC=0, UU=1, DD=2, LL=3, LU=4, LD=5, RR=6, RU=7, RD=8 } ; - - for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix - // to be passed to the ANN for prediction. - std::vector::const_iterator itCells; - - for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { - - EEDetId EEitCell = EEDetId(*itCells); - - if (!EEitCell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EEitCell); - - if ( goS_it != hit_collection.end() ) { - - if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelMC[RU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelMC[RR] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelMC[RD] = goS_it->energy(); } - - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelMC[UU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelMC[CC] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelMC[DD] = goS_it->energy(); } - - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelMC[LU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelMC[LL] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelMC[LD] = goS_it->energy(); } - - else { *AcceptFlag=false ; return 0.0 ;} - - } - - } else { + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelMC[UU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelMC[CC] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelMC[DD] = goS_it->energy(); } - continue; - - } - + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelMC[LU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelMC[LL] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelMC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + } + } else { + continue; } + } - // Get the sum of 8 - double ESUMis = 0.0 ; - - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } + // Get the sum of 8 + double ESUMis = 0.0 ; + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } - *AcceptFlag=true ; - - return ESUMis; + *AcceptFlag=true ; + return ESUMis; } template <> double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelDC(EEDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelDC, bool* AcceptFlag) { - - // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. - // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate - // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. - const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalEndcap); - - // If the "dead" crystal is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. - if ( EEDetId::isNextToRingBoundary(itID) ) { *AcceptFlag=false ; return 0.0 ; } - - // Take the "dead" crystal as reference and get the 3x3 around it. - std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); - - // Define the ix and iy steps (zero, plus, minus) - int ixZ = itID.ix() ; - int ixP = ixZ + 1 ; - int ixN = ixZ - 1 ; - - int iyZ = itID.iy() ; - int iyP = iyZ + 1 ; - int iyN = iyZ - 1 ; - - for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix - // to be passed to the ANN for prediction. - std::vector::const_iterator itCells; - - for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { - - EEDetId EEitCell = EEDetId(*itCells); - - if (!EEitCell.null()) { - - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EEitCell); - - if ( goS_it != hit_collection.end() ) { - - if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelDC[RU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelDC[RR] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelDC[RD] = goS_it->energy(); } - - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelDC[UU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelDC[CC] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelDC[DD] = goS_it->energy(); } - - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelDC[LU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelDC[LL] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelDC[LD] = goS_it->energy(); } - - else { *AcceptFlag=false ; return 0.0 ;} - - } - - } else { + // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. + // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate + // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. + const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalEndcap); + + // If the "dead" crystal is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. + if ( EEDetId::isNextToRingBoundary(itID) ) { *AcceptFlag=false ; return 0.0 ; } + + // Take the "dead" crystal as reference and get the 3x3 around it. + std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); + + // Define the ix and iy steps (zero, plus, minus) + int ixZ = itID.ix() ; + int ixP = ixZ + 1 ; + int ixN = ixZ - 1 ; + + int iyZ = itID.iy() ; + int iyP = iyZ + 1 ; + int iyN = iyZ - 1 ; + + for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } + + // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix + // to be passed to the ANN for prediction. + std::vector::const_iterator itCells; + + for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { + EEDetId EEitCell = EEDetId(*itCells); + + if (!EEitCell.null()) { + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EEitCell); + + if ( goS_it != hit_collection.end() ) { + if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelDC[RU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelDC[RR] = goS_it->energy(); } + else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelDC[RD] = goS_it->energy(); } - continue; - - } - + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelDC[UU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelDC[CC] = goS_it->energy(); } + else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelDC[DD] = goS_it->energy(); } + + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelDC[LU] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelDC[LL] = goS_it->energy(); } + else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelDC[LD] = goS_it->energy(); } + + else { *AcceptFlag=false ; return 0.0 ;} + } + } else { + continue; } + } - // Get the sum of 8 - double ESUMis = 0.0 ; - - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } + // Get the sum of 8 + double ESUMis = 0.0 ; + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } - *AcceptFlag=true ; - - return ESUMis; + *AcceptFlag=true ; + return ESUMis; } From b38ea9d93afa16b17ab965897b119a4979fd1302 Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Sun, 30 Mar 2014 08:49:50 +0200 Subject: [PATCH 07/11] Remove RecoLocalCalo/EcalDeadChannelRecoveryProducers and RecoCaloTools/EcalChannelKiller since they are only for testing purposes, move the contents to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/ --- RecoCaloTools/EcalChannelKiller/BuildFile.xml | 8 -------- .../test}/BuildFile.xml | 5 ++++- .../EcalDeadChannelRecoveryAlgos}/test/DeadCells2448.txt | 0 .../test/EBDeadCellsEach5.txt | 0 .../test/EEDeadCellsEach5.txt | 0 .../test/RecoAllKilledAndCorrected_001_cfg.py | 0 .../test/RecoAllKilledAndCorrected_002_cfg.py | 8 +++++++- .../test/plugins}/EBChannelKiller.cc | 2 +- .../test/plugins}/EBChannelKiller.h | 0 .../test/plugins}/EBDeadChannelRecoveryProducers.cc | 2 +- .../test/plugins}/EBDeadChannelRecoveryProducers.h | 0 .../test/plugins}/EEChannelKiller.cc | 2 +- .../test/plugins}/EEChannelKiller.h | 0 .../test/plugins}/EEDeadChannelRecoveryProducers.cc | 2 +- .../test/plugins}/EEDeadChannelRecoveryProducers.h | 0 15 files changed, 15 insertions(+), 14 deletions(-) delete mode 100644 RecoCaloTools/EcalChannelKiller/BuildFile.xml rename RecoLocalCalo/{EcalDeadChannelRecoveryProducers => EcalDeadChannelRecoveryAlgos/test}/BuildFile.xml (72%) rename {RecoCaloTools/EcalChannelKiller => RecoLocalCalo/EcalDeadChannelRecoveryAlgos}/test/DeadCells2448.txt (100%) rename RecoLocalCalo/{EcalDeadChannelRecoveryProducers => EcalDeadChannelRecoveryAlgos}/test/EBDeadCellsEach5.txt (100%) rename RecoLocalCalo/{EcalDeadChannelRecoveryProducers => EcalDeadChannelRecoveryAlgos}/test/EEDeadCellsEach5.txt (100%) rename RecoLocalCalo/{EcalDeadChannelRecoveryProducers => EcalDeadChannelRecoveryAlgos}/test/RecoAllKilledAndCorrected_001_cfg.py (100%) rename RecoLocalCalo/{EcalDeadChannelRecoveryProducers => EcalDeadChannelRecoveryAlgos}/test/RecoAllKilledAndCorrected_002_cfg.py (96%) rename {RecoCaloTools/EcalChannelKiller/src => RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins}/EBChannelKiller.cc (98%) rename {RecoCaloTools/EcalChannelKiller/interface => RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins}/EBChannelKiller.h (100%) rename RecoLocalCalo/{EcalDeadChannelRecoveryProducers/src => EcalDeadChannelRecoveryAlgos/test/plugins}/EBDeadChannelRecoveryProducers.cc (98%) rename RecoLocalCalo/{EcalDeadChannelRecoveryProducers/interface => EcalDeadChannelRecoveryAlgos/test/plugins}/EBDeadChannelRecoveryProducers.h (100%) rename {RecoCaloTools/EcalChannelKiller/src => RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins}/EEChannelKiller.cc (98%) rename {RecoCaloTools/EcalChannelKiller/interface => RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins}/EEChannelKiller.h (100%) rename RecoLocalCalo/{EcalDeadChannelRecoveryProducers/src => EcalDeadChannelRecoveryAlgos/test/plugins}/EEDeadChannelRecoveryProducers.cc (98%) rename RecoLocalCalo/{EcalDeadChannelRecoveryProducers/interface => EcalDeadChannelRecoveryAlgos/test/plugins}/EEDeadChannelRecoveryProducers.h (100%) diff --git a/RecoCaloTools/EcalChannelKiller/BuildFile.xml b/RecoCaloTools/EcalChannelKiller/BuildFile.xml deleted file mode 100644 index cbdf3a28fe04c..0000000000000 --- a/RecoCaloTools/EcalChannelKiller/BuildFile.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/BuildFile.xml b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/BuildFile.xml similarity index 72% rename from RecoLocalCalo/EcalDeadChannelRecoveryProducers/BuildFile.xml rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/BuildFile.xml index 5746e39fb1f9b..98cf5a8fcbd54 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/BuildFile.xml +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/BuildFile.xml @@ -5,4 +5,7 @@ - + + + + diff --git a/RecoCaloTools/EcalChannelKiller/test/DeadCells2448.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/DeadCells2448.txt similarity index 100% rename from RecoCaloTools/EcalChannelKiller/test/DeadCells2448.txt rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/DeadCells2448.txt diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/EBDeadCellsEach5.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/EBDeadCellsEach5.txt similarity index 100% rename from RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/EBDeadCellsEach5.txt rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/EBDeadCellsEach5.txt diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/EEDeadCellsEach5.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/EEDeadCellsEach5.txt similarity index 100% rename from RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/EEDeadCellsEach5.txt rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/EEDeadCellsEach5.txt diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/RecoAllKilledAndCorrected_001_cfg.py b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/RecoAllKilledAndCorrected_001_cfg.py similarity index 100% rename from RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/RecoAllKilledAndCorrected_001_cfg.py rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/RecoAllKilledAndCorrected_001_cfg.py diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/RecoAllKilledAndCorrected_002_cfg.py b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/RecoAllKilledAndCorrected_002_cfg.py similarity index 96% rename from RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/RecoAllKilledAndCorrected_002_cfg.py rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/RecoAllKilledAndCorrected_002_cfg.py index 1bebcbe8bcdf2..406ac6ce38505 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/test/RecoAllKilledAndCorrected_002_cfg.py +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/RecoAllKilledAndCorrected_002_cfg.py @@ -95,11 +95,17 @@ CorrectDeadCells = cms.bool(True), ) +process.dump = cms.EDAnalyzer("EcalRecHitDump", + EBRecHitCollection = cms.InputTag("ModCorrectEBDeadCells", "ModifyEB"), + EERecHitCollection = cms.InputTag("ModCorrectEEDeadCells", "ModifyEE"), +) + + # ***************************************************************** # Execution Path # ***************************************************************** -process.p = cms.Path(process.CreateEBDeadCells * process.ModCorrectEBDeadCells + process.CreateEEDeadCells * process.ModCorrectEEDeadCells) +process.p = cms.Path(process.CreateEBDeadCells * process.ModCorrectEBDeadCells + process.CreateEEDeadCells * process.ModCorrectEEDeadCells * process.dump) #process.p = cms.Path(process.ModCorrectEBDeadCells + process.ModCorrectEEDeadCells ) process.outpath = cms.EndPath(process.out) diff --git a/RecoCaloTools/EcalChannelKiller/src/EBChannelKiller.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBChannelKiller.cc similarity index 98% rename from RecoCaloTools/EcalChannelKiller/src/EBChannelKiller.cc rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBChannelKiller.cc index 334491ab013a0..008babac72e30 100644 --- a/RecoCaloTools/EcalChannelKiller/src/EBChannelKiller.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBChannelKiller.cc @@ -32,7 +32,7 @@ #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" #include "DataFormats/EcalDetId/interface/EBDetId.h" -#include "RecoCaloTools/EcalChannelKiller/interface/EBChannelKiller.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBChannelKiller.h" #include #include diff --git a/RecoCaloTools/EcalChannelKiller/interface/EBChannelKiller.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBChannelKiller.h similarity index 100% rename from RecoCaloTools/EcalChannelKiller/interface/EBChannelKiller.h rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBChannelKiller.h diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBDeadChannelRecoveryProducers.cc similarity index 98% rename from RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBDeadChannelRecoveryProducers.cc index 01b0f977b123a..d77b1a5c1e5c8 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EBDeadChannelRecoveryProducers.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBDeadChannelRecoveryProducers.cc @@ -31,7 +31,7 @@ #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" #include "DataFormats/EcalDetId/interface/EBDetId.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBDeadChannelRecoveryProducers.h" #include #include diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBDeadChannelRecoveryProducers.h similarity index 100% rename from RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EBDeadChannelRecoveryProducers.h rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBDeadChannelRecoveryProducers.h diff --git a/RecoCaloTools/EcalChannelKiller/src/EEChannelKiller.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEChannelKiller.cc similarity index 98% rename from RecoCaloTools/EcalChannelKiller/src/EEChannelKiller.cc rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEChannelKiller.cc index b68fb11964e3e..4c83763cc97e0 100644 --- a/RecoCaloTools/EcalChannelKiller/src/EEChannelKiller.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEChannelKiller.cc @@ -32,7 +32,7 @@ #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" #include "DataFormats/EcalDetId/interface/EEDetId.h" -#include "RecoCaloTools/EcalChannelKiller/interface/EEChannelKiller.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEChannelKiller.h" #include #include diff --git a/RecoCaloTools/EcalChannelKiller/interface/EEChannelKiller.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEChannelKiller.h similarity index 100% rename from RecoCaloTools/EcalChannelKiller/interface/EEChannelKiller.h rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEChannelKiller.h diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEDeadChannelRecoveryProducers.cc similarity index 98% rename from RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEDeadChannelRecoveryProducers.cc index 56790a73ea7c0..2aea26adc941f 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/src/EEDeadChannelRecoveryProducers.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEDeadChannelRecoveryProducers.cc @@ -31,7 +31,7 @@ #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" #include "DataFormats/EcalDetId/interface/EEDetId.h" -#include "RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h" +#include "RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEDeadChannelRecoveryProducers.h" #include #include diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEDeadChannelRecoveryProducers.h similarity index 100% rename from RecoLocalCalo/EcalDeadChannelRecoveryProducers/interface/EEDeadChannelRecoveryProducers.h rename to RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEDeadChannelRecoveryProducers.h From 24cbd38b1474d0b3a2eead0697bf102d87be8919 Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Sun, 30 Mar 2014 08:56:07 +0200 Subject: [PATCH 08/11] Disable single channel recovery in RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py --- RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py b/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py index cf60d7c864b6a..25870eecbac51 100644 --- a/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py +++ b/RecoLocalCalo/EcalRecProducers/python/ecalRecHit_cfi.py @@ -39,8 +39,8 @@ # for channel recovery algoRecover = cms.string("EcalRecHitWorkerRecover"), - recoverEBIsolatedChannels = cms.bool(True), - recoverEEIsolatedChannels = cms.bool(True), + recoverEBIsolatedChannels = cms.bool(False), + recoverEEIsolatedChannels = cms.bool(False), recoverEBVFE = cms.bool(False), recoverEEVFE = cms.bool(False), recoverEBFE = cms.bool(True), From 38be49c4c40ff0665a9c597be6cd21f7408d6deb Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Mon, 31 Mar 2014 00:33:07 +0200 Subject: [PATCH 09/11] Refactor of RecoLocalCalo/EcalDeadChannelRecoveryAlgos. --- .../interface/EcalDeadChannelRecoveryNN.h | 23 +- .../src/EcalDeadChannelRecoveryNN.cc | 309 +++++------------- 2 files changed, 94 insertions(+), 238 deletions(-) diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h index 4ac9a9867501a..d438367bde833 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/interface/EcalDeadChannelRecoveryNN.h @@ -17,6 +17,10 @@ #include template class EcalDeadChannelRecoveryNN { + public: + EcalDeadChannelRecoveryNN(); + ~EcalDeadChannelRecoveryNN(); + // Arrangement within the M3x3Input matrix // // M3x3 @@ -27,10 +31,6 @@ template class EcalDeadChannelRecoveryNN { // LL CC RR or 03 00 06 // LD DD RD 05 02 08 - public: - EcalDeadChannelRecoveryNN(); - ~EcalDeadChannelRecoveryNN(); - // Enumeration to switch from custom names within the 3x3 matrix. enum CellID { CC = 0, @@ -44,6 +44,16 @@ template class EcalDeadChannelRecoveryNN { RD = 8 }; + // Mapping custom names in the 3x3 to (x,y) or (ieta, iphi) + // ex: x=+1, y=-1 (ix() == ixP && iy() == iyN -> RD) + // ex: x=-1, y=+1 (ieta() == ietaN && iphi() == iphiP -> LU) + + const int CellX[9] = { 0, 0, 0 /* CC, UU, DD */, -1, -1, -1 /* LL, LU, LD */, + 1, 1, 1 /* RR, RU, RD */ }; + + const int CellY[9] = { 0, -1, 1 /* CC, UU, DD */, 0, -1, 1 /* LL, LU, LD */, + 0, -1, 1 /* RR, RU, RD */ }; + void setCaloTopology(const CaloTopology *topo); double recover(const DetIdT id, const EcalRecHitCollection &hit_collection, double Sum8Cut, bool *AcceptFlag); @@ -55,7 +65,7 @@ template class EcalDeadChannelRecoveryNN { TMultiLayerPerceptron *mlp; }; - const CaloTopology *calotopo_; + const CaloSubdetectorTopology* topology_; MultiLayerPerceptronContext ctx_[9]; void load(); @@ -70,6 +80,9 @@ template class EcalDeadChannelRecoveryNN { double makeNxNMatrice_RelDC(DetIdT itID, const EcalRecHitCollection &hit_collection, double *MNxN_RelDC, bool *AccFlag); + + double reorderMxNMatrix(EBDetId it, const std::vector& window, + const EcalRecHitCollection& hit_collection, double *MNxN, bool* AcceptFlag); }; #endif diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc index 775c6704cbf55..e355c9e4c6e87 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/src/EcalDeadChannelRecoveryNN.cc @@ -26,10 +26,16 @@ EcalDeadChannelRecoveryNN::~EcalDeadChannelRecoveryNN() { } } -template -void EcalDeadChannelRecoveryNN::setCaloTopology(const CaloTopology *topo) +template <> +void EcalDeadChannelRecoveryNN::setCaloTopology(const CaloTopology *topo) +{ + topology_ = topo->getSubdetectorTopology(DetId::Ecal, EcalBarrel); +} + +template <> +void EcalDeadChannelRecoveryNN::setCaloTopology(const CaloTopology *topo) { - calotopo_ = topo; + topology_ = topo->getSubdetectorTopology(DetId::Ecal, EcalEndcap); } template @@ -194,15 +200,16 @@ double EcalDeadChannelRecoveryNN::estimateEnergy(double *M3x3Input, double ep return M3x3Input[idxDC]; } -template <> -double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelMC(EBDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { +template +double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelMC(DetIdT itID, const EcalRecHitCollection& hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). // Get this 5x5 and locate the Max.Contain.Crystal within. - const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalBarrel); - std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" - EBDetId EBCellMax ; // Create a null EBDetId + // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" + std::vector NxNaroundDC = topology_->getWindow(itID, 5, 5); + + DetIdT CellMax ; // Create a null DetId double EnergyMax = 0.0; // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy @@ -210,271 +217,104 @@ double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelMC(EBDetId itID,con std::vector::const_iterator theCells; for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { - EBDetId EBCell = EBDetId(*theCells); + DetIdT cell = DetIdT(*theCells); - if (!EBCell.null()) { - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBCell); + if (! cell.null()) { + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(cell); if ( goS_it != hit_collection.end() && goS_it->energy() >= EnergyMax ) { EnergyMax = goS_it->energy(); - EBCellMax = EBCell; + CellMax = cell; } - } else { - continue; } - } - + // No Max.Cont.Crystal found, return back with no changes. - if ( EBCellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } + if ( CellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } - // If the Max.Cont.Crystal found is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. - if ( EBCellMax.ieta() == 85 || EBCellMax.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } +#if 1 + // Not a smart check, because why not just get 4x4 matrix and have a guaranteed hit? - // Take the Max.Cont.Crystal as reference and get the 3x3 around it. - std::vector NxNaroundMaxCont = topology->getWindow(EBCellMax,3,3); - // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal bool dcIn3x3 = false ; + std::vector NxNaroundMaxCont = topology_->getWindow(CellMax,3,3); std::vector::const_iterator testCell; for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { - EBDetId EBtestCell = EBDetId(*testCell); - - if ( itID == EBtestCell ) { dcIn3x3 = true ; } + if ( itID == DetIdT(*testCell) ) { dcIn3x3 = true ; } } // If the "dead" crystal is outside the 3x3 then do nothing. if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } +#endif - // Define the ieta and iphi steps (zero, plus, minus) - int ietaZ = EBCellMax.ieta() ; - int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; - int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; - - int iphiZ = EBCellMax.iphi() ; - int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; - int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; - - for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix - // to be passed to the ANN for prediction. - std::vector::const_iterator itCells; - - for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { - EBDetId EBitCell = EBDetId(*itCells); - - if (!EBitCell.null()) { - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBitCell); - - if ( goS_it != hit_collection.end() ) { - if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelMC[RU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[RR] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelMC[RD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelMC[UU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[CC] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelMC[DD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelMC[LU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelMC[LL] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelMC[LD] = goS_it->energy(); } - - else { *AcceptFlag=false ; return 0.0 ;} - } - } else { - continue; - } - - } - - // Get the sum of 8 - double ESUMis = 0.0 ; - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } - - *AcceptFlag=true ; - return ESUMis; + return makeNxNMatrice_RelDC(CellMax, hit_collection, MNxN_RelMC, AcceptFlag); } template <> -double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelDC(EBDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelDC, bool* AcceptFlag) { - // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. - // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate - // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. - const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalBarrel); - +double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelDC(EBDetId id, const EcalRecHitCollection& hit_collection, double *MNxN, bool* AcceptFlag) { + // Make an ANN 3x3 energy matrix around the crystal. // If the "dead" crystal is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. - if ( itID.ieta() == 85 || itID.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } + if ( id.ieta() == 85 || id.ieta() == -85 ) { *AcceptFlag=false ; return 0.0 ; } - // Take the "dead" crystal as reference and get the 3x3 around it. - std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); - // Define the ieta and iphi steps (zero, plus, minus) - int ietaZ = itID.ieta() ; + int ietaZ = id.ieta() ; int ietaP = ( ietaZ == -1 ) ? 1 : ietaZ + 1 ; int ietaN = ( ietaZ == 1 ) ? -1 : ietaZ - 1 ; - int iphiZ = itID.iphi() ; + int iphiZ = id.iphi() ; int iphiP = ( iphiZ == 360 ) ? 1 : iphiZ + 1 ; int iphiN = ( iphiZ == 1 ) ? 360 : iphiZ - 1 ; - for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } + for (int i=0; i<9; i++) { MNxN[i] = 0.0 ; } - // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix + // Loop over all cells in the vector "window", and fill the MNxN matrix // to be passed to the ANN for prediction. - std::vector::const_iterator itCells; - - for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { - EBDetId EBitCell = EBDetId(*itCells); - - if (!EBitCell.null()) { - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EBitCell); - - if ( goS_it != hit_collection.end() ) { - if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiP ) { MNxN_RelDC[RU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[RR] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaP && EBitCell.iphi() == iphiN ) { MNxN_RelDC[RD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiP ) { MNxN_RelDC[UU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[CC] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaZ && EBitCell.iphi() == iphiN ) { MNxN_RelDC[DD] = goS_it->energy(); } - - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiP ) { MNxN_RelDC[LU] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiZ ) { MNxN_RelDC[LL] = goS_it->energy(); } - else if ( EBitCell.ieta() == ietaN && EBitCell.iphi() == iphiN ) { MNxN_RelDC[LD] = goS_it->energy(); } - - else { *AcceptFlag=false ; return 0.0 ;} - } - - } else { - continue; - } - - } - - // Get the sum of 8 - double ESUMis = 0.0 ; - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } - - *AcceptFlag=true ; - return ESUMis; -} - - -template <> -double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelMC(EEDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelMC, bool* AcceptFlag) { - // Since ANN corrects within a 3x3 window, the possible candidate 3x3 windows that contain - // the "dead" crystal form a 5x5 window around it (totaly eight 3x3 windows overlapping). - // Get this 5x5 and locate the Max.Contain.Crystal within. - const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalEndcap); - std::vector NxNaroundDC = topology->getWindow(itID,5,5); // Get the 5x5 window around the "dead" crystal -> vector "NxNaroundDC" - - EEDetId EECellMax ; // Create a null EEDetId - double EnergyMax = 0.0; - - // Loop over all cells in the vector "NxNaroundDC", and for each cell find it's energy - // (from the EcalRecHits collection). Use this energy to detect the Max.Cont.Crystal. - std::vector::const_iterator theCells; - - for (theCells = NxNaroundDC.begin(); theCells != NxNaroundDC.end(); ++theCells) { - EEDetId EECell = EEDetId(*theCells); - - if (!EECell.null()) { - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EECell); - - if ( goS_it != hit_collection.end() && goS_it->energy() >= EnergyMax ) { - EnergyMax = goS_it->energy(); - EECellMax = EECell; - } - } else { - continue; - } - } - - // No Max.Cont.Crystal found, return back with no changes. - if ( EECellMax.null() ) { *AcceptFlag=false ; return 0.0 ; } - - // If the Max.Cont.Crystal found is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. - if ( EEDetId::isNextToRingBoundary(EECellMax) ) { *AcceptFlag=false ; return 0.0 ; } - - // Take the Max.Cont.Crystal as reference and get the 3x3 around it. - std::vector NxNaroundMaxCont = topology->getWindow(EECellMax,3,3); - - // Check that the "dead" crystal belongs to the 3x3 around Max.Cont.Crystal - bool dcIn3x3 = false ; - - std::vector::const_iterator testCell; - for (testCell = NxNaroundMaxCont.begin(); testCell != NxNaroundMaxCont.end(); ++testCell) { - EEDetId EEtestCell = EEDetId(*testCell); - - if ( itID == EEtestCell ) { dcIn3x3 = true ; } - } - - // If the "dead" crystal is outside the 3x3 then do nothing. - if (!dcIn3x3) { *AcceptFlag=false ; return 0.0 ; } - - // Define the ix and iy steps (zero, plus, minus) - int ixZ = EECellMax.ix() ; - int ixP = ixZ + 1 ; - int ixN = ixZ - 1 ; + std::vector window = topology_->getWindow(id, 3, 3); - int iyZ = EECellMax.iy() ; - int iyP = iyZ + 1 ; - int iyN = iyZ - 1 ; - - for (int i=0; i<9; i++) { MNxN_RelMC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundMaxCont", and fill the MNxN_RelMC matrix - // to be passed to the ANN for prediction. std::vector::const_iterator itCells; + for (itCells = window.begin(); itCells != window.end(); ++itCells) { + EBDetId cell = EBDetId(*itCells); - for (itCells = NxNaroundMaxCont.begin(); itCells != NxNaroundMaxCont.end(); ++itCells) { - EEDetId EEitCell = EEDetId(*itCells); - if (!EEitCell.null()) { + if (! cell.null()) { + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(cell); - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EEitCell); - if ( goS_it != hit_collection.end() ) { - if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelMC[RU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelMC[RR] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelMC[RD] = goS_it->energy(); } + if (goS_it != hit_collection.end()) { + double energy = goS_it->energy(); + + if ( cell.ieta() == ietaP && cell.iphi() == iphiP ) { MNxN[RU] = energy; } + else if ( cell.ieta() == ietaP && cell.iphi() == iphiZ ) { MNxN[RR] = energy; } + else if ( cell.ieta() == ietaP && cell.iphi() == iphiN ) { MNxN[RD] = energy; } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelMC[UU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelMC[CC] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelMC[DD] = goS_it->energy(); } + else if ( cell.ieta() == ietaZ && cell.iphi() == iphiP ) { MNxN[UU] = energy; } + else if ( cell.ieta() == ietaZ && cell.iphi() == iphiZ ) { MNxN[CC] = energy; } + else if ( cell.ieta() == ietaZ && cell.iphi() == iphiN ) { MNxN[DD] = energy; } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelMC[LU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelMC[LL] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelMC[LD] = goS_it->energy(); } + else if ( cell.ieta() == ietaN && cell.iphi() == iphiP ) { MNxN[LU] = energy; } + else if ( cell.ieta() == ietaN && cell.iphi() == iphiZ ) { MNxN[LL] = energy; } + else if ( cell.ieta() == ietaN && cell.iphi() == iphiN ) { MNxN[LD] = energy; } else { *AcceptFlag=false ; return 0.0 ;} } - } else { - continue; } } // Get the sum of 8 double ESUMis = 0.0 ; - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelMC[i] ; } + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN[i] ; } *AcceptFlag=true ; return ESUMis; } template <> -double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelDC(EEDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN_RelDC, bool* AcceptFlag) { - // Since ANN corrects within a 3x3 window, get the 3x3 the "dead" crystal. - // This method works exactly as the "MakeNxNMatrice_RelMC" but doesn't scans to locate - // the Max.Contain.Crystal around the "dead" crystal. It simply gets the 3x3 centered around the "dead" crystal. - const CaloSubdetectorTopology* topology=calotopo_->getSubdetectorTopology(DetId::Ecal,EcalEndcap); +double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelDC(EEDetId itID,const EcalRecHitCollection& hit_collection, double *MNxN, bool* AcceptFlag) { + // Make an ANN 3x3 energy matrix around the crystal. + // If the "dead" crystal is at the EB boundary (+/- 85) do nothing since we need a full 3x3 around it. // If the "dead" crystal is at the EE boundary (inner or outer ring) do nothing since we need a full 3x3 around it. if ( EEDetId::isNextToRingBoundary(itID) ) { *AcceptFlag=false ; return 0.0 ; } - // Take the "dead" crystal as reference and get the 3x3 around it. - std::vector NxNaroundRefXtal = topology->getWindow(itID,3,3); - // Define the ix and iy steps (zero, plus, minus) int ixZ = itID.ix() ; int ixP = ixZ + 1 ; @@ -484,41 +324,44 @@ double EcalDeadChannelRecoveryNN::makeNxNMatrice_RelDC(EEDetId itID,con int iyP = iyZ + 1 ; int iyN = iyZ - 1 ; - for (int i=0; i<9; i++) { MNxN_RelDC[i] = 0.0 ; } - - // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN_RelDC matrix + for (int i=0; i<9; i++) { MNxN[i] = 0.0 ; } + + // Take the "dead" crystal as reference and get the 3x3 around it. + std::vector NxNaroundRefXtal = topology_->getWindow(itID,3,3); + + // Loop over all cells in the vector "NxNaroundRefXtal", and fill the MNxN matrix // to be passed to the ANN for prediction. std::vector::const_iterator itCells; for (itCells = NxNaroundRefXtal.begin(); itCells != NxNaroundRefXtal.end(); ++itCells) { - EEDetId EEitCell = EEDetId(*itCells); + EEDetId cell = EEDetId(*itCells); - if (!EEitCell.null()) { - EcalRecHitCollection::const_iterator goS_it = hit_collection.find(EEitCell); + if (!cell.null()) { + EcalRecHitCollection::const_iterator goS_it = hit_collection.find(cell); if ( goS_it != hit_collection.end() ) { - if ( EEitCell.ix() == ixP && EEitCell.iy() == iyP ) { MNxN_RelDC[RU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyZ ) { MNxN_RelDC[RR] = goS_it->energy(); } - else if ( EEitCell.ix() == ixP && EEitCell.iy() == iyN ) { MNxN_RelDC[RD] = goS_it->energy(); } + double energy = goS_it->energy(); + + if ( cell.ix() == ixP && cell.iy() == iyP ) { MNxN[RU] = energy; } + else if ( cell.ix() == ixP && cell.iy() == iyZ ) { MNxN[RR] = energy; } + else if ( cell.ix() == ixP && cell.iy() == iyN ) { MNxN[RD] = energy; } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyP ) { MNxN_RelDC[UU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyZ ) { MNxN_RelDC[CC] = goS_it->energy(); } - else if ( EEitCell.ix() == ixZ && EEitCell.iy() == iyN ) { MNxN_RelDC[DD] = goS_it->energy(); } + else if ( cell.ix() == ixZ && cell.iy() == iyP ) { MNxN[UU] = energy; } + else if ( cell.ix() == ixZ && cell.iy() == iyZ ) { MNxN[CC] = energy; } + else if ( cell.ix() == ixZ && cell.iy() == iyN ) { MNxN[DD] = energy; } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyP ) { MNxN_RelDC[LU] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyZ ) { MNxN_RelDC[LL] = goS_it->energy(); } - else if ( EEitCell.ix() == ixN && EEitCell.iy() == iyN ) { MNxN_RelDC[LD] = goS_it->energy(); } + else if ( cell.ix() == ixN && cell.iy() == iyP ) { MNxN[LU] = energy; } + else if ( cell.ix() == ixN && cell.iy() == iyZ ) { MNxN[LL] = energy; } + else if ( cell.ix() == ixN && cell.iy() == iyN ) { MNxN[LD] = energy; } else { *AcceptFlag=false ; return 0.0 ;} } - } else { - continue; } } // Get the sum of 8 double ESUMis = 0.0 ; - for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN_RelDC[i] ; } + for (int i=0; i<9; i++) { ESUMis = ESUMis + MNxN[i] ; } *AcceptFlag=true ; return ESUMis; From ba7494bf748abac4fb7f2241bcb078ce42de77e0 Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Tue, 1 Apr 2014 10:26:02 +0200 Subject: [PATCH 10/11] Add a test analyzer to check EcalRecHit recovery. --- .../test/BuildFile.xml | 2 + .../test/RecoAllKilledAndCorrected_002_cfg.py | 23 ++++- .../plugins/EBDeadChannelRecoveryProducers.cc | 14 ++- .../plugins/EEDeadChannelRecoveryProducers.cc | 14 ++- .../EcalDeadChannelRecoveryAnalyzer.cc | 94 +++++++++++++++++++ 5 files changed, 137 insertions(+), 10 deletions(-) create mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EcalDeadChannelRecoveryAnalyzer.cc diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/BuildFile.xml b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/BuildFile.xml index 98cf5a8fcbd54..01c4b327b628b 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/BuildFile.xml +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/BuildFile.xml @@ -5,6 +5,8 @@ + + diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/RecoAllKilledAndCorrected_002_cfg.py b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/RecoAllKilledAndCorrected_002_cfg.py index 406ac6ce38505..391c9001d8148 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/RecoAllKilledAndCorrected_002_cfg.py +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/RecoAllKilledAndCorrected_002_cfg.py @@ -95,6 +95,24 @@ CorrectDeadCells = cms.bool(True), ) +process.TFileService = cms.Service("TFileService", fileName = cms.string('recovery_hist.root')) + +process.validateRecoveryEB = cms.EDAnalyzer("EcalDeadChannelRecoveryAnalyzer", + originalRecHitCollection = cms.InputTag("reducedEcalRecHitsEB", ""), + recoveredRecHitCollection = cms.InputTag("ModCorrectEBDeadCells", "ModifyEB"), + + titlePrefix = cms.string("(EB) "), +) + +process.validateRecoveryEE = cms.EDAnalyzer("EcalDeadChannelRecoveryAnalyzer", + originalRecHitCollection = cms.InputTag("reducedEcalRecHitsEE", ""), + recoveredRecHitCollection = cms.InputTag("ModCorrectEEDeadCells", "ModifyEE"), + + titlePrefix = cms.string("(EE) "), +) + + + process.dump = cms.EDAnalyzer("EcalRecHitDump", EBRecHitCollection = cms.InputTag("ModCorrectEBDeadCells", "ModifyEB"), EERecHitCollection = cms.InputTag("ModCorrectEEDeadCells", "ModifyEE"), @@ -105,7 +123,8 @@ # ***************************************************************** # Execution Path # ***************************************************************** -process.p = cms.Path(process.CreateEBDeadCells * process.ModCorrectEBDeadCells + process.CreateEEDeadCells * process.ModCorrectEEDeadCells * process.dump) -#process.p = cms.Path(process.ModCorrectEBDeadCells + process.ModCorrectEEDeadCells ) +process.p = cms.Path(process.CreateEBDeadCells * process.ModCorrectEBDeadCells * process.validateRecoveryEB + + process.CreateEEDeadCells * process.ModCorrectEEDeadCells * process.validateRecoveryEE ) + process.outpath = cms.EndPath(process.out) diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBDeadChannelRecoveryProducers.cc index d77b1a5c1e5c8..de26858c59f81 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBDeadChannelRecoveryProducers.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EBDeadChannelRecoveryProducers.cc @@ -110,10 +110,16 @@ EBDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& if (it->detid()==*CheckDead) { OverADeadRecHit=true; bool AcceptRecHit=true; - EcalRecHit NewRecHit = ebDeadChannelCorrector.correct(it->detid(),*hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); - // Accept the new rec hit if the flag is true. - if( AcceptRecHit ) { redCollection->push_back( NewRecHit ); } - else { redCollection->push_back( *it );} + EcalRecHit hit = ebDeadChannelCorrector.correct(it->detid(),*hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); + + if ( hit.energy() != 0 and AcceptRecHit == true ) { + hit.setFlag(EcalRecHit::kNeighboursRecovered) ; + } else { + // recovery failed + hit.setFlag(EcalRecHit::kDead) ; + } + + redCollection->push_back(hit); break; } CheckDead++; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEDeadChannelRecoveryProducers.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEDeadChannelRecoveryProducers.cc index 2aea26adc941f..21966b8ba062b 100644 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEDeadChannelRecoveryProducers.cc +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EEDeadChannelRecoveryProducers.cc @@ -110,10 +110,16 @@ EEDeadChannelRecoveryProducers::produce(edm::Event& evt, const edm::EventSetup& if (it->detid()==*CheckDead) { OverADeadRecHit=true; bool AcceptRecHit=true; - EcalRecHit NewRecHit = eeDeadChannelCorrector.correct(it->detid(),*hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); - // Accept the new rec hit if the flag is true. - if( AcceptRecHit ) { redCollection->push_back( NewRecHit ); } - else { redCollection->push_back( *it );} + EcalRecHit hit = eeDeadChannelCorrector.correct(it->detid(),*hit_collection,CorrectionMethod_,Sum8GeVThreshold_, &AcceptRecHit); + + if ( hit.energy() != 0 and AcceptRecHit == true ) { + hit.setFlag(EcalRecHit::kNeighboursRecovered) ; + } else { + // recovery failed + hit.setFlag(EcalRecHit::kDead) ; + } + + redCollection->push_back(hit); break; } CheckDead++; diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EcalDeadChannelRecoveryAnalyzer.cc b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EcalDeadChannelRecoveryAnalyzer.cc new file mode 100644 index 0000000000000..99d4d9ccb24d8 --- /dev/null +++ b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/test/plugins/EcalDeadChannelRecoveryAnalyzer.cc @@ -0,0 +1,94 @@ +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/EDAnalyzer.h" + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/MakerMacros.h" + +#include "FWCore/ParameterSet/interface/ParameterSet.h" + +#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" +#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" + + +#include "FWCore/ServiceRegistry/interface/Service.h" +#include "CommonTools/UtilAlgos/interface/TFileService.h" +#include "TH1.h" + +#include + +class EcalDeadChannelRecoveryAnalyzer: public edm::EDAnalyzer { + public: + explicit EcalDeadChannelRecoveryAnalyzer(const edm::ParameterSet&); + + private: + virtual void beginJob() {} + virtual void analyze(const edm::Event&, const edm::EventSetup&); + virtual void endJob() {} + + private: + edm::EDGetTokenT originalRecHitCollectionT_; + edm::EDGetTokenT recoveredRecHitCollectionT_; + + TH1D *histoEnergies_; + TH1D *histoRecovery_; +}; + +EcalDeadChannelRecoveryAnalyzer::EcalDeadChannelRecoveryAnalyzer(const edm::ParameterSet& iConfig) { + originalRecHitCollectionT_ = + consumes(iConfig.getParameter("originalRecHitCollection")); + + recoveredRecHitCollectionT_ = + consumes(iConfig.getParameter("recoveredRecHitCollection")); + + std::string titlePrefix = iConfig.getParameter("titlePrefix"); + std::string title; + + edm::Service fs; + + title = titlePrefix + "Original energies."; + histoEnergies_ = fs->make("originalEnergies", title.c_str(), 256, 0 , 10); + + title = titlePrefix + "Recovered energies."; + histoRecovery_ = fs->make("recoveryEnergies", title.c_str(), 256, 0 , 10); +} + +void EcalDeadChannelRecoveryAnalyzer::analyze(const edm::Event& ev, + const edm::EventSetup&) { + + edm::Handle originalRecHits; + edm::Handle recoveredRecHits; + + ev.getByToken(originalRecHitCollectionT_, originalRecHits); + ev.getByToken(recoveredRecHitCollectionT_, recoveredRecHits); + + for (auto const& hit: *recoveredRecHits) { + EcalRecHit original = *(originalRecHits->find(hit.id())); + + if (hit.checkFlag(EcalRecHit::kDead)) { + // if it didn't change from the original, return + if (original.checkFlag(EcalRecHit::kDead)) + continue; + + // std::cout << "Failed to recover: " << hit << std::endl; + // std::cout << "Original: " << original << std::endl; + + histoEnergies_->Fill(original.energy()); + } + + if (hit.checkFlag(EcalRecHit::kNeighboursRecovered)) { + // if it didn't change from the original, return + if (original.checkFlag(EcalRecHit::kNeighboursRecovered)) + continue; + + // std::cout << "Recovered: " << hit << std::endl; + // std::cout << "Original: " << original << std::endl; + + histoEnergies_->Fill(original.energy()); + histoRecovery_->Fill(hit.energy()); + } + + + } +} + +DEFINE_FWK_MODULE(EcalDeadChannelRecoveryAnalyzer); From 07b47113b7260f17aade6548bd58fb1153ba9fc2 Mon Sep 17 00:00:00 2001 From: Dmitrijus Bugelskis Date: Thu, 10 Apr 2014 01:43:36 +0200 Subject: [PATCH 11/11] Remove data files from RecoLocalCalo/EcalDeadChannelRecoveryAlgos. --- .../data/NNWeights/EB_ccNNWeights.txt | 172 ------------------ .../data/NNWeights/EB_ddNNWeights.txt | 172 ------------------ .../data/NNWeights/EB_ldNNWeights.txt | 172 ------------------ .../data/NNWeights/EB_llNNWeights.txt | 172 ------------------ .../data/NNWeights/EB_luNNWeights.txt | 172 ------------------ .../data/NNWeights/EB_rdNNWeights.txt | 172 ------------------ .../data/NNWeights/EB_rrNNWeights.txt | 172 ------------------ .../data/NNWeights/EB_ruNNWeights.txt | 172 ------------------ .../data/NNWeights/EB_uuNNWeights.txt | 172 ------------------ .../data/NNWeights/EE_ccNNWeights.txt | 172 ------------------ .../data/NNWeights/EE_ddNNWeights.txt | 172 ------------------ .../data/NNWeights/EE_ldNNWeights.txt | 172 ------------------ .../data/NNWeights/EE_llNNWeights.txt | 172 ------------------ .../data/NNWeights/EE_luNNWeights.txt | 172 ------------------ .../data/NNWeights/EE_rdNNWeights.txt | 172 ------------------ .../data/NNWeights/EE_rrNNWeights.txt | 172 ------------------ .../data/NNWeights/EE_ruNNWeights.txt | 172 ------------------ .../data/NNWeights/EE_uuNNWeights.txt | 172 ------------------ 18 files changed, 3096 deletions(-) delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ccNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ddNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ldNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_llNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_luNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rdNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rrNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ruNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_uuNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ccNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ddNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ldNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_llNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_luNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rdNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rrNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ruNNWeights.txt delete mode 100644 RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_uuNNWeights.txt diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ccNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ccNNWeights.txt deleted file mode 100644 index a8ecffa339427..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ccNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.68616 1.15492 -1.69316 1.14956 -1.49913 1.89563 -1.49442 1.90666 -1.46726 0.3065 -1.50742 0.318454 -1.51455 0.305354 -1.46928 0.31183 -#output normalization -1 0 -#neurons weights -0.0645575 --0.372183 -0.270108 --0.253988 -0.312358 -0.0517498 -0.370683 --0.368609 --0.539159 -1.51054 --0.0379268 -0.463642 --1.54839 --1.25221 --0.0674997 --2.0379 -2.45266 -0.575118 --0.834104 --0.69539 --0.879929 -0.56029 -0.386744 -0.868956 -#synapses weights --0.0699207 -1.41084 -0.0620302 -0.0458559 -0.535032 -0.522631 -1.0977 -0.623202 -1.58823 -2.37636 --0.234837 -0.0246192 --1.50138 -0.0862727 -0.0195872 --1.47387 -0.795657 -0.276677 --0.0981622 -0.192442 -0.222694 -1.06613 -0.514147 -0.145554 -0.627626 -0.437069 -0.264892 -0.190372 --1.01744 --0.611537 --0.0684924 --0.441747 --0.936029 -0.281874 --0.559508 -0.333256 -0.898024 -0.700511 --1.07369 --0.0370767 -0.464066 --0.470511 -0.165462 -0.0436253 --0.565435 -0.386292 -0.468514 --1.09823 --0.830445 --0.856368 --0.324607 --0.479792 --0.310053 --0.211249 --0.663044 --0.891015 -0.380276 -0.496164 --0.396836 --0.67967 -0.668008 --0.598866 --0.646267 -0.397705 -1.48193 -0.140198 --0.126392 --0.202857 -0.457037 --0.0149029 --0.200188 --0.131662 -1.24678 -0.100963 -0.252164 -0.470284 -1.31056 -1.2156 -0.579176 -0.94709 --0.207301 -0.395181 -0.0484047 --1.1885 --0.0594185 --1.59126 --0.136816 --0.647761 -0.974329 -0.237124 --0.306592 -1.53717 --0.417984 --2.71232 --1.17791 --1.59499 --0.572163 --1.13002 -1.7962 -0.39981 --0.0395236 -0.94403 --0.448583 --2.71095 --1.14823 --1.33223 --0.671872 --1.26958 -2.30656 --0.383468 -0.146573 -1.58013 --0.619888 -0.990389 --0.785703 --1.15902 --0.218559 --0.805096 -1.00191 --0.73646 -1.10806 --0.320801 -0.0299629 -0.160331 -0.333674 -0.6104 --0.690923 -0.800533 --0.335794 --0.00422044 -1.76016 -3.82695 -3.97341 -1.94878 --1.83486 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ddNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ddNNWeights.txt deleted file mode 100644 index 46a56e54fdb22..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ddNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.30956 4.13794 -1.68616 1.15492 -1.69316 1.14956 -1.49913 1.89563 -1.46726 0.3065 -1.50742 0.318454 -1.51455 0.305354 -1.46928 0.31183 -#output normalization -1 0 -#neurons weights -0.349804 -0.333833 --0.0285096 --0.239895 --0.309429 -0.493165 -0.474214 --0.498105 --2.63524 -1.91074 --0.128303 --0.0143879 -1.50607 -1.02996 -0.911485 -1.01528 --1.78246 --0.164083 --1.84156 --2.55771 --3.54477 --1.55382 -1.9974 --1.41785 -#synapses weights -0.542666 --0.41876 -0.255798 --0.242769 -0.13839 -0.565941 --0.018932 -0.323705 -0.656695 -1.32388 --2.49611 --0.0410726 -0.551725 --1.76628 --0.287117 -1.74831 -3.05652 --0.10501 -0.267233 -0.26929 --0.780574 --1.55704 --0.300177 --1.07422 -0.496764 -0.597019 -0.673857 -0.185765 -0.220123 -1.37324 -0.598104 -1.28393 -1.69539 --0.403427 -0.565482 --0.928146 --0.0268804 -0.0993066 --0.292285 --0.42177 --0.0855238 --1.21593 --0.375884 --0.598447 --0.0568257 -1.57924 -0.147867 -1.38729 -0.485434 --0.835655 -0.0218874 -0.848471 --0.520038 -1.05246 --0.149156 --0.583154 --0.916327 -0.702795 -0.919346 --0.0825796 --0.252398 -1.93309 -0.402714 --0.705064 -0.279067 -2.10666 --1.93947 -0.275969 --0.106968 --0.688045 --0.668713 -1.05971 --1.40774 -0.313147 --0.734327 -0.152364 -0.201345 --0.450168 --0.0113884 -2.59905 -0.516919 -0.119394 --1.4767 --0.0500033 -0.298463 -2.45755 -0.654612 -0.57596 --1.65405 -2.42557 -0.502582 -2.8062 --5.0152 --0.479722 -0.762427 -0.465059 -1.25011 -0.848167 --3.38675 -0.890426 -2.11989 --0.554945 --0.633086 -0.574811 -0.354028 --0.156698 -2.36578 -0.196586 -1.56175 --0.0753345 -1.1924 -0.35832 --1.20353 --1.16455 -1.49197 -0.73065 -0.00900645 -0.682976 -0.888089 -2.13105 --0.612113 --0.686453 --2.45879 --0.257105 --0.999997 -1.33032 --0.300316 --0.902281 -0.0236984 --0.749823 -2.1077 -3.37063 -4.32082 -2.21584 --5.43053 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ldNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ldNNWeights.txt deleted file mode 100644 index 2013b975915b4..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ldNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.30956 4.13794 -1.68616 1.15492 -1.69316 1.14956 -1.49913 1.89563 -1.49442 1.90666 -1.46726 0.3065 -1.50742 0.318454 -1.51455 0.305354 -#output normalization -1 0 -#neurons weights -0.37364 --0.255299 --0.207195 -0.335742 --0.265204 --0.160666 --0.270559 --0.17091 --0.900178 -2.16276 -0.152496 --0.320593 --0.58249 -0.173697 --1.94555 -0.545632 --0.563904 -2.57453 -1.03566 --0.093052 -0.160093 --0.193108 --0.780892 -3.54463 -#synapses weights -0.614766 -0.413269 --1.73024 -0.00373702 -0.106991 --0.449699 --0.00781349 -0.339282 -0.0803725 --0.332201 --0.0784683 --0.0932347 -0.990996 -0.456115 --0.287584 --0.0594785 -1.15983 -0.710525 --0.994761 -0.271231 --0.140435 --0.688977 -0.106436 -0.390168 -0.257245 -0.258381 -0.33651 -1.93473 -0.00886707 --0.527713 -0.369871 -0.494573 --0.888076 --0.592806 --1.22797 --0.220221 --0.481517 --0.528706 --0.902304 --1.31047 -1.18818 -0.549287 -0.812188 --0.692576 -0.0828682 -0.301323 -0.259526 -0.337679 --1.17139 -0.410552 -0.588709 -0.0275081 -0.547308 --0.0396708 -0.0315642 -0.400394 --0.606966 -1.26538 --0.145802 -0.203945 --0.376903 -0.521134 --0.0731846 -0.179746 --0.221377 -0.42709 --0.35336 --0.718037 --0.127489 --0.662367 -0.365699 --0.936714 --1.4265 --0.460301 --0.054207 --0.122564 --0.0448578 -0.636673 -0.200266 -0.284904 --0.96263 -5.42215 --1.06695 --0.724369 -0.0415235 --1.11119 -3.29088 --3.47163 -1.96684 --5.05257 -0.169895 --1.03492 -1.0047 -0.541598 --0.540631 -0.368238 --0.540273 -1.34685 --0.429885 -1.91775 -1.12693 --2.70427 -1.87916 -0.12951 -0.0521041 --0.480644 --2.42394 -1.85898 --0.281259 -3.24442 --0.661399 -0.69702 -1.11072 -0.36713 --0.165389 -0.351639 -0.817737 --0.109831 --0.545354 --0.635203 -1.57996 --1.28325 --1.39606 --0.0116294 --0.373634 -0.015702 --1.86785 -0.902913 --0.959895 -2.46191 --0.0487259 -0.655329 --4.96624 -4.81781 --4.50754 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_llNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_llNNWeights.txt deleted file mode 100644 index 9e11bd49b0991..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_llNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.30956 4.13794 -1.68616 1.15492 -1.49913 1.89563 -1.49442 1.90666 -1.46726 0.3065 -1.50742 0.318454 -1.51455 0.305354 -1.46928 0.31183 -#output normalization -1 0 -#neurons weights --0.389421 -0.331049 -0.375113 --0.398008 --0.12196 --0.0114601 -0.37962 --0.0072128 --0.0926358 --0.565862 -0.115237 -0.890509 -0.775207 -0.230515 -0.862616 --0.332968 -0.082267 --0.304636 --0.0916165 --0.443607 --0.00521054 --0.446475 -2.12019 -2.9809 -#synapses weights -1.18802 -0.697943 -1.29077 -0.974011 -0.531372 -0.81473 -2.01243 -2.38963 --0.925515 -0.478754 --0.187566 -0.794948 -0.174207 -0.30047 -1.05822 -0.192867 -2.4499 -0.382343 -1.60773 -1.90051 -1.52519 -1.13771 -3.64255 -3.49626 -1.23427 --0.0519786 -0.211897 -0.200567 --0.23557 --0.27122 --0.403843 --0.44644 -1.95955 -0.227203 -1.08097 -1.31399 -0.807464 -0.5526 -1.54524 -1.25477 -1.00016 --0.29655 --1.64098 -0.598756 --0.255078 --0.350156 -0.872753 -0.2515 -2.0049 --0.538494 -0.457742 -0.681461 --0.64671 --0.655839 --0.9445 --1.16369 --0.307722 -0.00796732 --0.182972 --0.619658 --0.597408 --0.0893563 --1.37406 --1.96252 --2.49165 --1.00368 --1.71502 --1.38569 --0.972498 --0.694178 --3.13402 --4.05429 -0.952673 -0.573276 -0.0479708 -0.290278 --0.130862 --0.196606 --0.94221 --1.11217 -2.23731 --4.23388 -0.512447 -1.72921 -2.99858 -3.37404 --6.86377 -0.238987 -3.94311 --3.95507 -0.029347 -1.85203 --0.249941 -1.14122 --0.0270421 --0.581733 --0.693613 --0.351173 --0.4098 -0.0447752 -1.47129 --3.90508 -0.767496 -1.01144 -1.74916 -2.63845 --6.46134 -0.771541 -3.16939 --5.83595 -1.43372 --1.89272 -0.428573 -1.57341 -1.82221 -1.58248 --3.14869 --0.0304965 -1.75882 --2.44213 -0.707172 -0.393115 --0.0246247 --5.06829 --0.0752881 --0.515807 -1.03079 --0.35588 -0.37701 -1.99131 --0.700239 -4.15526 -2.92611 -0.738438 --7.41024 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_luNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_luNNWeights.txt deleted file mode 100644 index a2f160de655c8..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_luNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.30956 4.13794 -1.68616 1.15492 -1.69316 1.14956 -1.49913 1.89563 -1.49442 1.90666 -1.46726 0.3065 -1.50742 0.318454 -1.46928 0.31183 -#output normalization -1 0 -#neurons weights --0.384578 --0.360546 -0.428223 -0.297095 -0.189146 -0.375811 --0.0444054 --0.171583 --0.482263 -0.47095 --0.263786 --2.45341 --0.186997 -1.98839 --1.00701 --0.560147 --0.721986 --0.736728 -0.481603 -0.390999 --0.566348 -0.577951 --0.372479 -4.72312 -#synapses weights -0.162147 -0.461803 --1.37936 --0.202747 --0.0631962 --0.0559553 --0.328558 -0.20233 -2.65087 --1.28916 -0.0722316 -0.40294 -0.403065 -0.325961 --1.24393 -0.0787346 -1.33716 -1.12612 -2.05235 -1.23352 -0.750904 -1.041 -0.647542 -1.34407 --0.265954 -0.289035 -1.06486 --1.19126 --0.03881 -0.233711 --0.349635 --0.0842293 --1.35044 --0.879086 --1.33893 --1.55637 -0.0523866 --0.793344 --0.73362 --0.531828 -1.17694 -0.323671 --0.781744 --0.713545 -0.464629 -0.0100201 -0.0764805 --0.451934 -0.893002 -0.512438 -0.199848 --0.0643325 -0.0574431 -0.00360423 --0.758948 --0.0799728 --3.16954 --1.53585 --4.1974 --3.48157 --1.96283 --2.29231 --1.23163 --2.98389 --1.35246 -0.840469 --1.29467 --0.735558 -0.0368447 -0.407403 --0.414209 --0.606965 -0.46383 -1.2554 -0.178097 -0.49485 -0.191809 --0.0236312 --0.0430808 -1.10224 --3.072 -1.9901 --0.337279 --1.69344 -1.27032 --1.50811 -4.59316 --0.19978 -2.61239 -4.132 --1.53604 -0.946982 --0.291547 --1.67342 --0.206261 --0.889833 -1.5124 --0.112377 --0.15154 --0.219815 -0.953703 --0.0869858 --0.203974 -0.593883 --0.368326 -0.86465 --1.45982 -0.0559001 --1.13586 --1.47209 --4.16288 -0.670889 --1.31031 --0.339257 -2.24316 --1.00384 -3.56398 -0.835351 -3.77029 -3.42921 -3.06253 -1.96367 --0.293902 -1.84213 -0.259737 -2.22645 --2.77222 --0.297916 --0.219784 --0.502024 -2.88626 -3.92546 --0.55782 --0.59229 --8.44197 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rdNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rdNNWeights.txt deleted file mode 100644 index 5210f86fa3aa3..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rdNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.30956 4.13794 -1.68616 1.15492 -1.69316 1.14956 -1.49913 1.89563 -1.49442 1.90666 -1.46726 0.3065 -1.51455 0.305354 -1.46928 0.31183 -#output normalization -1 0 -#neurons weights -0.13237 -0.0960208 --0.137261 -0.193261 --0.300869 --0.34829 -0.177684 --0.13352 -2.42798 --0.411164 -1.80772 -0.642085 -1.10385 -1.58604 --0.249532 -0.976559 --1.43635 --0.127806 -0.455212 --0.695286 --0.580753 -0.49098 --0.0961925 -1.63819 -#synapses weights --0.216406 --0.420975 --0.56903 -0.170109 -1.72569 --0.141621 -0.258394 --0.0122614 -1.14533 --0.415792 --0.661272 -0.0745773 --0.0324746 -0.0664283 --1.67815 -0.343732 -1.70759 --0.829353 -0.728579 -0.608541 --0.991141 --0.397236 --0.505365 -0.0697281 --0.606239 -1.85788 --0.0541781 --0.156056 --0.511695 --0.0604903 -0.296835 -0.151318 -0.45892 --0.113319 --0.0432273 --1.20745 --0.414526 -0.388562 -0.581199 --0.242221 --1.53883 --0.0712372 --0.00473586 -0.202715 -0.403952 -0.306872 -0.256241 -0.203546 -0.749902 -0.186212 -0.641923 -0.0616216 -0.0547814 -0.150325 --0.037531 -0.00331658 --0.0260585 -0.243857 -0.556623 -0.786342 --1.22138 --0.180283 --0.557386 -0.194623 --0.560909 -0.618483 -1.56332 --0.543328 --0.183581 -0.7814 --0.104609 --0.376717 --1.3224 -0.05359 -0.682048 --0.249621 --0.0417721 -0.099426 -0.417192 -0.23391 -0.0948073 --1.02893 --0.509918 -0.867766 -0.664667 -0.659037 --1.63301 -0.626759 --0.251753 -1.72268 -0.86684 --0.228328 --2.27991 -2.19628 --1.12465 --2.69582 -0.388994 --1.59652 -1.86835 -1.49056 --0.290069 --0.803451 -0.00307815 --0.777897 --0.291359 -0.501869 -0.991883 --0.601744 --0.705386 --1.02517 -1.05875 -0.0280678 -0.310589 -0.950605 --0.141197 --0.781974 -1.51498 --0.23685 -0.881958 --0.707959 --1.16238 --0.98238 -1.1459 --1.25397 -1.4953 -1.63361 --0.665746 -0.569317 --0.375751 --0.472168 --2.71126 -5.31703 -0.943595 -4.36333 --4.62187 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rrNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rrNNWeights.txt deleted file mode 100644 index 1caf24edceebe..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_rrNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.30956 4.13794 -1.69316 1.14956 -1.49913 1.89563 -1.49442 1.90666 -1.46726 0.3065 -1.50742 0.318454 -1.51455 0.305354 -1.46928 0.31183 -#output normalization -1 0 -#neurons weights --0.0894376 --0.296482 --0.21528 --0.224649 --0.321653 -0.175463 --0.0190546 -0.216841 -1.16126 -0.288451 -0.390796 --0.706336 --1.43078 -0.686351 -1.51256 -0.163221 -0.103629 -1.15988 -0.596451 --0.30359 -0.0520657 --0.196957 --0.692853 --5.05639 -#synapses weights -0.605152 --0.0922336 -0.149301 -0.0738282 --0.352642 -0.0919073 --0.750544 --0.880366 -1.36946 -2.02988 -0.455045 -0.449721 --2.14025 --1.43845 --0.384525 --0.370368 --1.38509 -0.276106 --0.356619 --0.0844072 -0.207364 -0.672194 -0.320889 -0.134055 -0.127745 --0.324372 -0.227847 -0.307894 --0.718459 -0.513562 -0.140791 -0.177697 --0.825028 --0.543806 -1.0514 -0.223959 --1.47321 -1.05252 -0.195496 -0.184128 -0.720829 -0.724649 -0.995317 -1.3153 --0.703115 --1.02371 -0.102528 -0.012124 --0.20377 -0.174654 -0.00425452 --0.153449 -0.859321 -0.878773 --0.393275 --0.673188 -0.541441 -0.265352 --1.66637 --0.211802 -0.570811 -1.19751 --0.280904 --0.12274 -4.05102 --0.875368 -1.21106 -0.0400104 --2.51356 --1.47699 --0.787877 --0.402396 --0.0941635 -0.15048 -1.18917 --1.94427 --0.783299 -1.74181 -0.0131229 --0.212452 --1.31458 --1.47201 --2.1513 -0.611078 --0.932359 --0.271423 -1.84772 -0.0107637 -0.161287 -0.544009 --1.58107 --0.50392 --0.850074 -1.62414 -0.379895 --0.421928 -1.94032 -0.40022 --0.381851 --0.213928 --0.875178 -0.763808 --2.06516 -2.18368 --0.676228 -0.936987 -1.28271 -0.279625 -0.277457 -0.203106 --0.448124 --0.367835 --0.670159 -0.927953 --0.04733 --0.508311 -0.804349 -0.480625 -0.187565 --0.588078 --1.98538 --2.25635 -0.363142 -0.689364 --2.41042 --0.94643 --0.166018 -1.13809 --2.84646 -2.69381 -2.7719 -3.24816 -4.16451 -1.17779 -3.92439 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ruNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ruNNWeights.txt deleted file mode 100644 index 2402b9dc57aed..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_ruNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.30956 4.13794 -1.68616 1.15492 -1.69316 1.14956 -1.49913 1.89563 -1.49442 1.90666 -1.50742 0.318454 -1.51455 0.305354 -1.46928 0.31183 -#output normalization -1 0 -#neurons weights --0.487254 -0.0327601 --0.0610587 --0.382189 --0.150268 -0.0514546 --0.45483 --0.225942 -1.45945 -2.06722 --0.660232 --0.124235 -1.07315 --0.607245 -0.389523 --2.57324 --1.05451 -0.758507 --0.2328 -0.0236358 -0.155914 --0.295368 -0.132164 --2.06837 -#synapses weights --0.0701012 --0.66992 --0.640978 -1.0476 --0.211549 -0.604938 --0.48798 -0.379182 --1.1129 --0.682829 --0.341504 -0.49885 -0.812563 -0.346436 -0.112762 --0.00576687 -0.905371 --0.081892 --1.43722 -0.822035 -0.0800306 --0.25427 --0.147545 --0.713625 --0.0268293 -0.136042 --0.152346 --0.0287884 -0.120797 --0.63162 -1.03652 -0.725806 -0.259529 --0.096735 --1.03728 --0.130331 --0.665413 --0.0465597 -0.125835 -0.903114 --0.493811 -0.104356 --0.57549 --0.0153415 -0.0543057 --0.549977 --0.461156 -0.0203922 -0.234716 -0.651407 --0.214669 --0.160465 -0.0914841 --0.74246 -0.583625 -0.198533 --1.40039 -0.724146 --0.179277 -1.00082 --0.468151 -0.551447 --0.236782 -0.378075 -0.35642 --1.68175 -0.779485 -0.371443 -0.162279 -0.24014 --0.283817 --0.482751 --0.762919 -0.18839 --0.829236 -0.463294 --0.169371 -0.171274 --0.195367 -0.276946 -0.89148 --1.36244 -1.21674 -0.396925 --1.70521 --0.232645 -0.674072 -1.33276 --1.47118 --1.54233 -1.01373 --0.704411 -0.465801 --0.566637 --0.699478 --0.39378 -0.895162 -0.890616 --0.417674 --0.425274 -0.916152 --0.55573 -0.523426 --0.803919 --0.730321 --0.496462 -0.818055 -1.25811 --0.496195 --0.769757 --1.67636 --0.0178184 -0.0371507 -0.104829 -1.10022 -0.300674 --1.27645 --0.661545 -0.600524 -1.10324 -0.342316 --0.856519 -0.525865 -0.121581 --1.23787 --0.166805 --0.190686 -0.687436 --0.671269 --1.17779 -4.14555 -3.50214 -4.58479 --3.61183 -0.901646 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_uuNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_uuNNWeights.txt deleted file mode 100644 index 49baebcb31e10..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EB_uuNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.30956 4.13794 -1.68616 1.15492 -1.69316 1.14956 -1.49442 1.90666 -1.46726 0.3065 -1.50742 0.318454 -1.51455 0.305354 -1.46928 0.31183 -#output normalization -1 0 -#neurons weights -0.326972 -0.41698 -0.274841 --0.45904 -0.382485 --0.240182 --0.178245 --0.0619688 --3.46668 --0.216712 --1.25069 -0.164265 -1.20615 --1.00109 --1.43638 -1.30954 --0.75568 -0.349564 --2.54272 --1.6243 --2.41565 -1.3051 --0.872798 --0.827423 -#synapses weights -1.44277 --0.602439 --0.664344 -0.259659 -0.521977 --0.139725 -0.462369 --0.144491 --0.690881 -3.00857 -0.584154 --0.443833 --1.12004 -0.385117 -0.828344 -0.0518985 -2.46324 --1.27957 -1.52325 -0.324036 --0.772301 --0.288646 --1.59626 --0.333816 --0.775788 --0.33891 -0.413686 --0.103716 -2.59851 --0.0130854 --0.428691 --0.0479283 --2.37794 --1.41136 -2.07387 --0.30988 -1.91446 --0.220708 --0.809622 -1.13641 -2.03498 -1.50096 --0.0779476 --1.07668 --1.85923 --1.04043 -0.36375 --0.367085 --0.727066 --1.0188 -0.468547 --0.405341 -1.12725 --0.0173553 --1.04423 -0.532221 -2.09286 --0.466192 -0.37012 --0.436637 -0.0712444 --0.309679 --1.06154 -0.0765883 -0.668865 --0.60273 -0.283323 -0.0257678 -0.519152 --0.260405 --0.0699433 -0.405117 --2.56026 --0.0943651 --0.228386 --0.199914 -0.472089 -0.374635 -2.80952 -0.0236235 -1.80182 -0.452891 --1.64631 --1.19492 -1.45913 -0.370735 --2.74557 -1.27757 -0.113696 -1.2331 -3.08306 --2.61474 --1.11434 -1.99314 -0.197835 --0.142996 --0.816864 -2.032 -0.89448 -1.29876 -0.414836 -0.191323 --3.98714 -0.447498 -2.68837 --1.63414 --1.59613 -1.4858 --0.59188 -0.696164 --0.544148 --0.835737 --1.91574 --0.57913 -1.35325 -0.215738 -1.04704 --0.289321 --0.204792 -0.0657331 -2.17066 -0.508575 -0.374617 -2.54452 -1.03871 -1.66025 --0.749529 -0.516512 -0.492925 -1.1131 -3.22095 -3.08946 -3.36558 --4.11024 -2.09935 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ccNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ccNNWeights.txt deleted file mode 100644 index f38b43be9840d..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ccNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.40003 2.40353 -1.41004 2.41121 -1.40629 2.42657 -1.40466 2.42619 -1.28698 1.33856 -1.28879 1.33177 -1.29347 1.33367 -1.29317 1.34123 -#output normalization -1 0 -#neurons weights --0.220457 --0.347025 --0.499397 --0.187597 -0.258836 --0.16621 --0.475502 -0.0996641 -1.45018 -0.513263 --0.424002 --3.93277 --0.770492 -0.50899 --2.4899 --1.0127 --1.4571 -0.71886 --4.01118 --2.05647 --1.37802 -0.267395 --1.92227 -1.45162 -#synapses weights -1.71165 -1.54118 --0.726711 --1.5899 --0.704007 -0.154605 -0.189555 --0.282059 --1.80849 --0.573659 -0.604474 -0.964384 -0.0577964 -0.0857454 -0.243587 -0.162777 -0.268058 -2.06646 --0.372554 --0.861342 --0.755119 -0.322542 -0.13772 --0.366595 -0.979019 -0.670766 --3.34411 --0.264608 -0.650668 --0.233652 -0.312077 -0.27134 -0.777705 -0.0741502 --0.83739 --0.055425 -0.170293 -0.0117798 -0.308031 -0.403181 --0.264386 -1.32561 --0.489181 -0.655156 --0.377223 -0.505918 -0.256939 --1.1697 --0.961581 -0.941952 -0.0325193 --0.569454 -0.887025 --0.53192 --0.612533 -0.515826 --0.228631 -0.117628 -0.767413 -0.172603 -0.0917384 -0.245461 -0.0541929 -0.163008 --0.564364 --0.162665 --0.110124 --0.00196696 --0.459567 -0.86846 -0.989158 --0.979802 -0.936438 -0.580903 --0.522228 --1.61368 -0.6777 --0.385456 --0.0587413 -0.117251 -2.17389 -2.18535 --1.15272 --3.18652 --0.668958 -1.1318 --3.22956 -0.639365 --2.57762 -1.2187 -0.924918 --0.235074 --0.554771 --1.45049 -0.670977 -1.09232 --0.882513 -0.933392 --1.07881 -0.231102 -0.278011 -0.611001 --0.288964 -0.543014 -1.78693 -0.724617 --0.163241 -1.36038 --0.541271 -0.250387 -0.333114 --0.379421 -0.229684 --0.232456 --0.583428 --0.377764 --1.1476 --0.576983 --0.375297 -0.0778199 --0.177098 -0.208895 --0.539107 --0.844427 -1.73929 -1.19979 -0.350089 -1.25415 --0.387113 -0.61157 -4.82065 -2.0913 -2.28334 --1.85272 -2.63883 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ddNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ddNNWeights.txt deleted file mode 100644 index 8d5a6eb22a42c..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ddNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.1492 4.99102 -1.40003 2.40353 -1.41004 2.41121 -1.40629 2.42657 -1.28698 1.33856 -1.28879 1.33177 -1.29347 1.33367 -1.29317 1.34123 -#output normalization -1 0 -#neurons weights --0.434129 -0.0669814 --0.380387 --0.139634 --0.0807183 --0.450651 --0.345243 -0.189619 -1.05719 --1.37516 -0.753304 --1.4179 -1.67886 -0.142783 --1.49169 --0.0621605 -0.517246 -0.63036 -0.536046 -0.28105 -0.253693 -0.558697 --2.24623 --2.15788 -#synapses weights --1.58825 --1.10229 --0.565096 -0.122835 --0.105586 -3.72349 -0.517663 --0.0567961 -0.394706 -0.342424 -0.436855 --0.294598 -0.492127 -0.00187448 --0.377788 --0.349046 --0.197605 --0.373985 --0.0505447 --0.246537 -0.140793 -0.411811 --0.209583 --0.453906 -1.64781 -0.921551 -0.941424 -1.15033 -0.978414 -1.03646 -0.992893 -1.07173 --0.487263 --0.415371 --0.179726 -1.23975 --0.218843 -0.239369 --0.584394 -0.198253 -0.740868 --0.217136 -0.561292 -0.114271 -0.381374 --0.466769 -0.405474 --1.04062 --0.402604 -0.220286 -0.331519 --0.646217 -0.198439 --0.70732 --0.584387 -2.29453 --1.93044 --2.45384 --0.423168 -0.126811 -0.46297 -2.33621 --0.0213368 -1.38537 --0.53831 -0.329635 --0.795528 -0.387663 -0.0506177 --0.619213 --0.00450464 -1.74116 -1.39179 --1.33156 -0.412971 --0.100225 --0.155398 -0.898231 --0.238382 --1.06072 -0.914963 -1.44698 --0.928438 -0.470698 --0.69716 --0.57454 -0.438625 --0.170681 -1.08005 -0.711833 -0.647346 -2.39181 --1.55821 --0.215333 --0.366795 -0.215596 --0.572009 --1.12707 -0.874066 -1.09344 --0.283404 -0.0407104 --0.714295 --0.168094 --2.60967 --1.08998 -1.00207 -0.792278 -0.718949 -2.36826 -0.478507 -0.13425 -0.281792 -0.769649 -0.893873 -0.401025 --0.726698 -0.377856 --0.0124937 -0.413426 -0.910933 -1.12521 --1.36901 -0.494542 --0.775266 --2.12784 --2.08337 -1.98218 -2.82563 -0.404478 -2.06702 -3.65618 -3.54663 --1.53354 -4.25567 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ldNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ldNNWeights.txt deleted file mode 100644 index 1ff2d21c6202a..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ldNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.1492 4.99102 -1.40003 2.40353 -1.41004 2.41121 -1.40629 2.42657 -1.40466 2.42619 -1.28698 1.33856 -1.28879 1.33177 -1.29347 1.33367 -#output normalization -1 0 -#neurons weights --0.399729 -0.0166478 -0.341221 -0.376557 -0.186979 -0.00804616 --0.243021 --0.156036 --1.56243 -0.277395 --2.09409 --0.665299 --0.112128 -0.0424555 -0.783657 --0.327327 -2.23142 -2.37996 --0.959941 --0.0545535 -0.108088 --0.0100983 --0.534084 --1.46932 -#synapses weights -1.46564 -0.428584 -0.582542 --0.787778 --1.76293 -0.173838 --0.902033 --0.089348 -1.41247 --0.042349 --0.7785 --0.210301 --1.17315 --0.195878 -1.3596 -1.28309 -1.15124 --0.0668577 -0.408767 --0.383822 --0.350844 --0.658633 -0.253153 -0.450355 -0.533386 --0.0825323 --0.690911 -0.216972 -0.753513 -0.0971258 -0.355891 -0.62749 -2.40699 --1.59664 --0.865839 --1.03403 --0.0327801 --0.883803 -0.919519 -1.463 --0.0746568 --0.332818 --1.35063 -0.183133 -0.134358 --0.491049 -1.64453 -0.67541 -0.434697 --0.360692 -0.217958 -0.0690149 -1.07911 -0.461768 --0.778333 --1.37221 --0.885185 --0.146735 -1.0352 -0.00272632 -0.761924 -0.0672013 --0.640816 --0.691704 --0.384238 -0.397007 --0.39839 --0.00745285 --0.413446 --0.243978 --0.500086 --0.178044 --0.323586 -0.501998 -1.51388 --0.879529 --0.805979 --0.461876 -0.0814574 -0.690482 --0.92281 --1.65121 -1.7076 -0.799588 --1.21932 --0.265466 -1.20421 -0.585932 --1.8946 -1.08486 -0.764949 --1.77857 --1.44957 --1.41676 --0.458544 -0.528898 --0.750037 --0.764525 -0.371361 --0.399181 --0.376096 -0.137658 -0.298105 -0.105747 --0.738776 --0.216621 -0.522074 --0.133003 --0.116397 -0.643543 --0.684852 -0.556556 -1.16285 -1.13189 --1.5021 --0.509703 -0.980433 -0.240291 --1.16458 -0.598338 --1.05336 -0.897677 -2.32913 -0.837162 -0.0385715 --1.22258 -0.946005 -1.22504 --1.85501 -1.77983 -4.10013 --3.6466 --0.333399 -1.42134 -3.14812 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_llNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_llNNWeights.txt deleted file mode 100644 index efc6b8c3c3208..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_llNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.1492 4.99102 -1.40003 2.40353 -1.40629 2.42657 -1.40466 2.42619 -1.28698 1.33856 -1.28879 1.33177 -1.29347 1.33367 -1.29317 1.34123 -#output normalization -1 0 -#neurons weights -0.310518 --0.0427677 -0.438828 --0.487306 --0.47286 --0.436314 --0.0723872 -0.269227 -0.900227 --0.566678 -0.272189 --0.907915 --1.00744 -0.396889 --1.18242 -0.882358 -1.01806 -0.855648 --1.64745 -0.502623 -1.05585 -0.709421 --0.51613 --1.55835 -#synapses weights -0.972565 --0.186841 --0.675938 -0.921684 --0.0250039 --0.0829526 -0.641632 --1.18715 -1.73331 --0.556065 -0.501218 -1.02699 --0.523322 -0.0387328 -0.270953 --3.38283 -0.429829 --0.215613 --2.95853 --0.0254754 -0.408803 --0.229918 -2.08506 --0.0131537 -0.746666 --1.13844 --0.20628 -0.689589 -0.0139899 --1.07008 --0.451243 -1.71738 --1.69868 --0.76067 --0.269277 --0.77228 -0.13292 --0.0801225 -1.50998 -1.75937 -0.632788 -0.144782 -0.558561 --1.76916 --0.409269 -0.00840235 --0.796708 -1.4515 -1.22116 --0.489883 --0.730029 --1.37951 -1.18109 -0.71902 --0.0593575 --0.127015 --0.531685 -0.458726 --0.00391746 -0.116965 --0.903644 -0.129238 -0.0490041 -0.105892 --1.65312 -0.376034 --1.08633 --0.43458 --0.339381 -0.326537 -3.81688 --0.15933 --0.303486 -0.176229 --0.651793 --0.109911 -0.204654 --0.444645 -0.323009 --0.32932 -0.307842 --2.10435 -1.29426 --1.9263 -0.498768 -1.94302 --1.51854 --1.5205 -1.4293 --0.0628727 --0.936375 --1.01656 --0.94244 -0.648178 --0.215294 --0.0498091 --0.346044 -2.10931 --0.534627 -0.378392 -2.48796 --1.0624 --1.35455 -1.03804 --0.328661 -1.41886 --0.705526 --0.536636 -0.702937 --1.11388 -0.970495 --1.02329 --0.535743 -0.184999 --0.0849754 -1.382 --0.210058 --0.341471 --0.142899 --1.38485 -0.831022 -0.340431 -0.894314 -0.644547 -1.17724 --0.0303256 --1.17792 --0.662309 --0.295636 --2.16503 -3.71847 --2.82565 -3.13229 -2.1016 -4.08793 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_luNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_luNNWeights.txt deleted file mode 100644 index 4bc3fb69bff2a..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_luNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.1492 4.99102 -1.40003 2.40353 -1.41004 2.41121 -1.40629 2.42657 -1.40466 2.42619 -1.28698 1.33856 -1.28879 1.33177 -1.29317 1.34123 -#output normalization -1 0 -#neurons weights -0.0561973 --0.21693 -0.431686 -0.00364602 -0.169068 -0.00565401 -0.102342 --0.43469 -1.882 -1.23049 -0.649317 --0.288646 -1.72265 -0.45399 -1.79327 --1.3481 -2.24534 --1.10491 -0.086249 -0.536111 -1.05668 -0.63205 -0.23401 --1.22764 -#synapses weights --0.92939 -0.320184 -0.932357 --0.374119 --0.384557 -0.753054 --0.36931 -0.984306 -0.990952 -0.323254 -0.242277 -0.1361 -0.19794 -0.200274 --0.177756 -0.210928 -0.663276 -0.198227 --0.526768 --0.59923 -0.152005 -0.419226 --0.106808 -0.340483 --1.26401 --0.435347 --0.0244965 --0.726778 --0.0550666 --0.274861 --0.723293 --1.18553 --1.09586 -0.60971 --0.31137 --0.711958 -0.487486 -0.0659214 -0.157566 -0.172181 -0.535937 --0.0465596 -0.643086 -1.17476 -0.288662 --0.641959 -0.537438 --2.73611 --0.366689 --0.183007 --0.380738 --0.00161081 --0.18148 --0.557646 -0.042859 --0.349465 -1.49823 --1.15228 -0.381668 -0.363835 --1.34539 -0.563932 --0.418145 -0.480876 --0.606071 --1.29562 --1.32919 -2.38038 -1.1447 -0.428176 --0.0504862 --0.429001 --0.516443 --0.156578 --1.24439 --0.0514229 -0.443304 -1.62769 --0.374873 -0.560535 -0.767992 -0.50302 --0.472644 -0.806902 --1.81099 --0.458441 --1.38208 --0.310336 --0.324322 -0.0540683 -0.786979 -1.0236 --0.8535 --0.215959 --0.854814 --0.108652 --0.943531 -0.509758 -0.0385086 -0.296752 -0.600361 -2.23698 --1.06472 -0.0920412 --0.834027 -0.75298 --0.396142 -0.892455 -0.968262 --0.709875 --2.51911 -1.31583 -2.66054 -1.22613 --0.0846529 --1.80604 -1.2746 -3.04159 --2.38866 -2.92037 -0.467129 -0.933566 --0.411388 --0.254523 --1.34352 -0.155716 --0.833839 -0.113311 --0.465655 -0.0637556 -3.50251 -2.51474 -2.96117 --3.30225 -2.72949 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rdNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rdNNWeights.txt deleted file mode 100644 index ce5b7e7cea798..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rdNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.1492 4.99102 -1.40003 2.40353 -1.41004 2.41121 -1.40629 2.42657 -1.40466 2.42619 -1.28698 1.33856 -1.29347 1.33367 -1.29317 1.34123 -#output normalization -1 0 -#neurons weights --0.258515 -0.144237 -0.058844 --0.153764 -0.35101 --0.44518 -0.395851 --0.0976609 -0.825175 -2.54534 -2.28817 --0.815879 --1.58742 -1.38619 -0.892159 -0.996943 --0.282028 -1.65324 -0.239174 -0.843606 --0.0990648 --0.896219 --0.436962 --1.43615 -#synapses weights -1.00654 --0.782609 -0.0940371 -0.262207 --0.589799 -0.336342 --0.00159879 -0.510516 --0.839079 -0.113118 -0.283235 --0.0827286 --0.673746 --0.160767 -1.17374 --0.451086 --1.78628 -3.14715 -1.2482 --1.06716 --0.920541 -0.611627 -0.0321043 --0.424328 --0.934525 -0.227701 --0.145405 --0.202652 -0.0565631 --0.414642 --0.018005 --0.513357 -0.336392 -0.326511 -0.0746277 -0.0145317 -0.181203 --0.0232318 -0.401596 -0.301376 --0.24831 --0.709084 --0.498667 -0.417819 -0.255772 -0.652771 --0.791629 -0.908048 -0.924764 -0.683953 --0.0863026 --0.619365 -0.15908 --0.532884 -0.658398 --1.49995 --0.174238 --0.073891 --0.455685 -0.505203 -1.64713 --1.3679 -0.281 --0.179998 -1.21172 --0.153712 --0.677341 --0.723119 --0.0591842 -0.923111 --1.03907 -0.706416 --0.228062 --0.864466 -0.0626024 -0.287105 -0.0330635 --0.305153 -0.21622 --0.19366 --0.127884 --1.04592 --0.199728 --0.00266199 -0.74619 -0.115496 -0.582991 -0.619113 --0.627176 --0.768379 -0.266785 --1.03515 --0.364548 --1.10946 -0.631055 -0.719271 -1.00781 --0.160315 --0.25212 --0.704644 --1.80907 --0.751556 -1.10668 --1.35127 -0.815284 -1.85946 -0.0871906 -1.30664 -1.14415 --0.52077 --1.95843 --0.838962 -1.49395 -0.022963 -0.038856 --0.257157 -1.54999 -2.12141 --2.59816 --1.38224 -0.189974 -0.481018 --0.0162486 -0.941632 --1.21962 --0.509644 --0.308659 -0.61483 -0.715472 -0.422625 -1.95961 -2.21297 -3.56681 -3.34891 --3.23415 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rrNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rrNNWeights.txt deleted file mode 100644 index 19577015aee78..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_rrNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.1492 4.99102 -1.41004 2.41121 -1.40629 2.42657 -1.40466 2.42619 -1.28698 1.33856 -1.28879 1.33177 -1.29347 1.33367 -1.29317 1.34123 -#output normalization -1 0 -#neurons weights -0.351169 -0.229239 --0.360041 -0.210442 --0.470483 -0.0237827 --0.25972 -0.303392 -0.653896 -0.707726 --0.441893 --0.634536 -0.53862 --1.38965 --2.69757 -0.552602 --0.289258 -0.0539445 -0.422267 --0.298858 -0.87923 --1.51041 --3.09485 -3.93219 -#synapses weights -0.719572 --0.0692008 --1.18787 -0.707363 -1.16964 --1.01254 -0.129117 --0.166791 --0.529282 -0.732823 --0.361648 --0.610316 -0.188769 -0.542069 --0.600285 --0.0701344 -1.54523 --0.498099 --0.726753 --0.842911 --0.469895 --0.377609 -0.813695 -0.636629 -1.65108 --0.190199 -0.982778 -0.711544 --3.26145 -0.162657 --0.089699 --0.851981 -0.772435 -0.152775 -0.723079 --0.917971 --1.09432 -0.928471 --0.358788 --0.0812723 -0.374882 --1.11654 -0.847504 -0.602074 --0.28634 --0.371769 --0.900869 -1.50983 -0.370821 -1.07235 --0.367159 --0.68921 -1.15195 -1.46823 -0.0745679 --0.00508042 --1.81515 -0.478004 --0.609589 --1.08779 --0.318204 -3.54867 -0.79003 -0.0066591 --0.603721 --0.0150205 -0.0899062 --2.32862 -0.392175 -2.26292 --0.117487 -0.0187756 -0.0326351 -0.0883082 --2.62164 --0.626323 -1.77677 -0.771757 -0.0133546 --0.108335 --1.46721 -1.19058 --0.719918 --0.0205937 --1.98777 --0.0982577 --1.46517 -0.113774 -0.045319 -0.421127 --0.974081 --0.351462 --0.342592 -0.225037 --0.192674 --0.82117 --0.175556 -0.0352347 -0.155098 -0.465587 --1.93436 -1.73157 -1.47908 -1.01792 --2.70061 --0.351462 -0.330296 --0.941561 --0.0761283 --0.32878 -0.700144 --0.962227 --2.48208 --1.33986 --1.63243 -0.559641 --0.537616 -1.76524 -2.37791 -1.21161 -0.775653 --2.31679 --0.314825 -0.281125 -1.0574 -0.183422 -0.923959 --0.495954 -1.13259 -1.30696 --3.12656 --1.07836 --4.12287 -2.16816 -4.26021 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ruNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ruNNWeights.txt deleted file mode 100644 index 3b4258893b709..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_ruNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.1492 4.99102 -1.40003 2.40353 -1.41004 2.41121 -1.40629 2.42657 -1.40466 2.42619 -1.28879 1.33177 -1.29347 1.33367 -1.29317 1.34123 -#output normalization -1 0 -#neurons weights --0.100036 -0.0995771 --0.0831665 --0.0670158 -0.413384 -0.352707 -0.46145 --0.0702236 --0.739082 --0.228431 --2.50648 -2.40472 --2.81377 -0.360115 --1.41676 -0.979543 -2.28198 --2.40913 -0.0880209 -0.645116 -0.00539517 -0.810706 --0.83505 -0.0469036 -#synapses weights --1.47017 -0.300555 --0.153933 -0.287892 -0.0337064 -0.235817 -0.123549 --0.124928 -0.274245 --1.08182 --0.82647 --1.00043 -0.143352 -0.345801 -2.88779 --0.550332 -1.06424 --2.4593 --0.716967 -0.821676 -0.888099 --0.430376 --0.0471971 -0.214872 --0.175604 --0.391058 --0.0195448 --0.409259 --0.290356 -0.0849884 --0.286946 -0.0658396 -1.86726 -0.673606 -1.28299 --3.07066 --1.19893 -0.0879598 --1.15324 -0.282287 --0.798174 --0.23108 --0.0903257 --0.330533 -0.0800251 --0.0635542 --0.0161712 --0.270878 -1.50949 -0.0766836 --1.30968 -0.193006 --1.36285 -0.951778 -0.71593 --0.586066 -1.28256 -0.534974 --0.443663 -0.850094 --0.180367 --2.35516 --0.806304 -0.573719 -1.13865 -0.327888 -0.0724785 -0.382394 --0.00753103 --0.190601 --0.234588 --0.00238543 -0.859022 -0.239251 --0.627504 -0.230238 --0.417699 -0.0416927 -0.320059 --0.367003 -0.182052 --0.139437 --0.598619 --1.35137 --0.272138 --1.22362 -0.34401 --0.533939 -0.477494 -1.42208 -0.0972746 -1.17598 --0.752091 --0.744279 --0.120409 --0.209274 -1.09003 -0.333017 -2.06864 -1.36074 -0.383234 -0.722152 -0.993275 --0.812513 -0.429425 --1.53475 --0.122715 --0.938325 -1.7371 -2.06163 -0.454973 --1.40592 --1.58567 --0.880453 --0.359768 --0.733199 -0.688791 -0.6616 -0.878811 -1.86126 --1.51421 -1.22434 -1.51179 -1.54355 -1.36086 -0.500821 -1.77085 --1.79602 -1.15052 --1.15544 -1.74873 -2.23277 -3.82441 -1.89862 --5.32595 diff --git a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_uuNNWeights.txt b/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_uuNNWeights.txt deleted file mode 100644 index 841c36319d3f8..0000000000000 --- a/RecoLocalCalo/EcalDeadChannelRecoveryAlgos/data/NNWeights/EE_uuNNWeights.txt +++ /dev/null @@ -1,172 +0,0 @@ -#input normalization -1.1492 4.99102 -1.40003 2.40353 -1.41004 2.41121 -1.40466 2.42619 -1.28698 1.33856 -1.28879 1.33177 -1.29347 1.33367 -1.29317 1.34123 -#output normalization -1 0 -#neurons weights --0.48591 --0.103505 -0.354908 -0.432118 -0.251325 --0.101147 --0.333994 --0.389726 -0.132124 --1.56833 -2.47862 --0.411867 --0.466911 -1.76238 -0.269915 --1.28328 -0.991379 --0.40117 --2.43098 --0.49089 --1.40155 -0.856813 --2.19246 -1.19185 -#synapses weights --1.62498 --1.12984 --1.65077 -1.10939 --0.662375 -0.722792 -2.60651 -0.205855 -0.867588 -0.986362 -0.215262 --0.367279 --1.55761 --0.685611 -0.331329 -0.810081 -1.3436 -0.733122 --0.413899 -0.705015 --0.95841 --0.2698 -0.00991537 --0.176317 -0.605556 --0.0700405 -0.643331 -0.0630598 -0.649561 -0.157865 --0.780671 --0.252903 --0.913091 --0.177423 -2.24212 -0.458241 -0.57807 --0.0153282 --1.62724 --0.128059 -0.307401 --0.0846233 --0.796274 -1.84915 --0.293791 --0.535142 -0.282696 --0.43494 -0.641573 --2.2047 -0.411344 --0.259468 -1.80947 -0.0964665 --0.646553 --0.194568 --0.865571 -0.308825 -0.0972404 -0.747192 -0.259783 -0.262404 -1.1773 -0.0180551 --1.36178 -0.469672 --0.517745 -0.132974 --0.203739 --0.44837 -2.97524 --0.316517 -1.82517 -0.414161 -0.251126 --0.507721 --2.57603 -0.286574 --0.149589 -0.0424992 --0.728981 --0.217835 -2.14288 -0.843815 --1.88617 --1.95356 -0.139252 -1.47315 -0.554027 -0.17062 -0.448036 --0.254115 --0.00580066 --1.69415 -0.854384 -0.979013 --0.992856 --0.753223 --2.07683 -0.716962 -0.475778 -0.272449 -1.24325 -1.14387 --1.03597 --0.808608 --0.67539 -1.19305 -0.303352 -1.16241 --0.398235 --1.07879 --1.88175 --1.7548 --0.585679 -0.328479 --1.09065 -1.3457 -1.02988 -1.23338 -1.19672 -0.632228 --0.546108 --0.471203 --1.06115 --0.790267 -2.03872 -0.339001 -2.30874 --2.70062 -3.61326 --2.48462 -3.14274 --4.10291 -3.40931