1 #ifndef RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalDeadChannelRecoveryNN_H 2 #define RecoLocalCalo_EcalDeadChannelRecoveryAlgos_EcalDeadChannelRecoveryNN_H 14 #include <TMultiLayerPerceptron.h> 52 const int CellX[9] = { 0, 0, 0 , -1, -1, -1 ,
55 const int CellY[9] = { 0, -1, 1 , 0, -1, 1 ,
60 double Sum8Cut,
bool *AcceptFlag);
65 std::unique_ptr<TTree>
tree;
66 std::unique_ptr<TMultiLayerPerceptron>
mlp;
70 MultiLayerPerceptronContext
ctx_[9];
80 double *MNxN_RelMC,
bool *AccFlag);
83 double *MNxN_RelDC,
bool *AccFlag);
EcalDeadChannelRecoveryNN()
std::unique_ptr< TTree > tree
double reorderMxNMatrix(EBDetId it, const std::vector< DetId > &window, const EcalRecHitCollection &hit_collection, double *MNxN, bool *AcceptFlag)
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)
const CaloSubdetectorTopology * topology_
~EcalDeadChannelRecoveryNN()
double recover(const DetIdT id, const EcalRecHitCollection &hit_collection, double Sum8Cut, bool *AcceptFlag)
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
MultiLayerPerceptronContext ctx_[9]
void setCaloTopology(const CaloTopology *topo)
double estimateEnergy(double *M3x3Input, double epsilon=0.0000001)
std::unique_ptr< TMultiLayerPerceptron > mlp
void load_file(MultiLayerPerceptronContext &ctx, std::string fn)