1 #ifndef ROOT_EdbShowAlgE_Simple
2 #define ROOT_EdbShowAlgE_Simple
13 #include "TBenchmark.h"
14 #include "TMultiLayerPerceptron.h"
15 #include "TMLPAnalyzer.h"
59 Int_t eSpecificationType[6];
60 TString eSpecificationTypeString[6];
61 TString eSpecificationTypeStringArray[6][6];
66 Int_t ePlateBinning[15];
70 TMultiLayerPerceptron *ANN_MLP_ARRAY[15];
74 Int_t ANN_nPlates_ARRAY[15];
75 Int_t ANN_n_InputNeurons_ARRAY[15];
78 TString ANN_WeightFile_ARRAY[15];
81 Float_t eANN_MLP_CORR_0[15];
82 Float_t eANN_MLP_CORR_1[15];
93 Int_t eParalongprofile[57];
158 eRecoShowerArrayN=eRecoShowerArray->GetEntriesFast();
161 eRecoShowerArrayN=RecoShowerArrayN;
164 return eRecoShowerArrayN;
170 return eEnergyArrayUnCorrected;
187 return EffFunc_edefault;
190 return EffFunc_elletroni;
193 return EffFunc_neuchmicro;
196 return EffFunc_MiddleFix;
199 return EffFunc_LowEff;
202 return EffFunc_UserEfficiency;
206 if (ANNType>=15) ANNType=14;
207 return ANN_MLP_ARRAY[ANNType];
211 if (ANNType>=15) ANNType=14;
212 ANN_MLP_ARRAY[ANNType]->Train(100);
217 if (ANNType>=15) ANNType=14;
218 ANN_MLP_ARRAY[ANNType]->DumpWeights(weight);
223 eCalibrationOffset=CalibrationOffset;
226 eCalibrationSlope=CalibrationSlope;
230 ePlateNumberType=PlateNumberType;
233 ePlateNumber=PlateNumber;
236 return eSpecificationType[SpecificationType];
239 void SetEfficiencyParametrisationValues(Double_t* Angles, Double_t* EffValuesAtAngles);
242 eEfficiencyParametrisation=EfficiencyParametrisation;
243 EfficiencyParametrisation->Print();
246 return eEfficiencyParametrisation;
248 void PrintEfficiencyParametrisation();
249 void SetEfficiencyParametrisationAngles();
251 void SetWeightFileString(TString weightstring);
254 Int_t FindClosestEfficiencyParametrization(Double_t TestAngle,Double_t ReferenceEff);
256 void GetNplIndexNr(Int_t sh_npl,Int_t &check_Npl_index, Int_t ePlateNumberType);
258 void GetSpecifications();
259 void SetSpecifications(Int_t sp0, Int_t sp1, Int_t sp2, Int_t sp3, Int_t sp4, Int_t sp5);
260 void SetSpecificationType(Int_t SpecificationType, Int_t SpecificationTypeVal);
262 void PrintSpecifications();
263 void LoadSpecificationWeightFile();
264 void ReadCorrectionFactors(TString weigthstring, Float_t &p0, Float_t &p1);
270 void DoRun(TObjArray* trackarray);
274 void ReadTables_Energy();
278 void WriteNewRootFile();
ShowerAlgEnergyInstance DoRun(track)
TObjArray * RecoShowerArray
Definition: Shower_E_FromShowerRoot.C:12
Definition: EdbShowAlgE_Simple.h:32
TString eWeightFileString
Definition: EdbShowAlgE_Simple.h:55
TObjArray * eSplineArray_Energy_Stat_Electron
Definition: EdbShowAlgE_Simple.h:134
Float_t eParaBT_deltaT_mean
Definition: EdbShowAlgE_Simple.h:91
TF1 * EffFunc_edefault
Definition: EdbShowAlgE_Simple.h:110
TArrayF * eEnergyArrayUnCorrected
Definition: EdbShowAlgE_Simple.h:124
Int_t eParanseg
Definition: EdbShowAlgE_Simple.h:88
TArrayF * eEnergyArraySigmaCorrected
Definition: EdbShowAlgE_Simple.h:125
TF1 * EffFunc_all
Definition: EdbShowAlgE_Simple.h:109
TF1 * GetEffFunc_LowEff()
Definition: EdbShowAlgE_Simple.h:198
TF1 * GetEffFunc_MiddleFix()
Definition: EdbShowAlgE_Simple.h:195
TF1 * EffFunc_neuchmicro
Definition: EdbShowAlgE_Simple.h:112
TH1D * eHisto_deltaR_rms
Definition: EdbShowAlgE_Simple.h:100
TH1D * eHisto_nbtk_av
Definition: EdbShowAlgE_Simple.h:95
Int_t eEnergyArrayCount
Definition: EdbShowAlgE_Simple.h:131
Float_t eCalibrationOffset
Definition: EdbShowAlgE_Simple.h:46
Float_t eEnergyCorr
Definition: EdbShowAlgE_Simple.h:127
Float_t GetEnergy()
Definition: EdbShowAlgE_Simple.h:172
void SetEfficiencyParametrisation(TSpline3 *EfficiencyParametrisation)
Definition: EdbShowAlgE_Simple.h:241
TF1 * GetEffFunc_all()
Definition: EdbShowAlgE_Simple.h:183
TArrayF * GetEnergyArray()
Definition: EdbShowAlgE_Simple.h:166
Int_t GetSpecType(Int_t SpecificationType)
Definition: EdbShowAlgE_Simple.h:235
Bool_t eSpecificationIsChanged
Definition: EdbShowAlgE_Simple.h:62
TF1 * EffFunc_elletroni
Definition: EdbShowAlgE_Simple.h:111
TF1 * GetEffFunc_UserEfficiency()
Definition: EdbShowAlgE_Simple.h:201
Float_t eEnergy
Definition: EdbShowAlgE_Simple.h:126
Float_t eParaBT_deltaR_mean
Definition: EdbShowAlgE_Simple.h:89
Float_t eParaBT_deltaR_rms
Definition: EdbShowAlgE_Simple.h:90
TObjArray * eSplineArray_Energy_Sys_Gamma
Definition: EdbShowAlgE_Simple.h:137
Int_t eRecoShowerArrayN
Definition: EdbShowAlgE_Simple.h:42
Int_t eParaName
Definition: EdbShowAlgE_Simple.h:43
TH1D * eHisto_deltaR
Definition: EdbShowAlgE_Simple.h:105
TH1D * eHisto_longprofile_av
Definition: EdbShowAlgE_Simple.h:96
TH1D * eHisto_transprofile_av
Definition: EdbShowAlgE_Simple.h:97
void SetPlateNumber(Int_t PlateNumber)
Definition: EdbShowAlgE_Simple.h:232
void SetPlateNumberType(Int_t PlateNumberType)
Definition: EdbShowAlgE_Simple.h:229
TH1D * eHisto_deltaT
Definition: EdbShowAlgE_Simple.h:106
void DumpNeuralNetworkWeight(TString weight, Int_t ANNType=0)
Definition: EdbShowAlgE_Simple.h:216
void SetRecoShowerArray(TObjArray *RecoShowerArray)
Definition: EdbShowAlgE_Simple.h:156
TSpline3 * eEfficiencyParametrisation
Definition: EdbShowAlgE_Simple.h:120
void SetRecoShowerArrayN(Int_t RecoShowerArrayN)
Definition: EdbShowAlgE_Simple.h:160
ClassDef(EdbShowAlgE_Simple, 1)
TF1 * EffFunc_LowEff
Definition: EdbShowAlgE_Simple.h:114
TF1 * GetEffFunc_edefault()
Definition: EdbShowAlgE_Simple.h:186
TTree * ANNTree
Definition: EdbShowAlgE_Simple.h:71
TH1D * eHisto_transprofile
Definition: EdbShowAlgE_Simple.h:104
void SetCalibrationOffset(Float_t CalibrationOffset)
Definition: EdbShowAlgE_Simple.h:222
TH1D * eHisto_longprofile
Definition: EdbShowAlgE_Simple.h:103
TObjArray * eRecoShowerArray
Definition: EdbShowAlgE_Simple.h:41
TH1D * eHisto_deltaT_rms
Definition: EdbShowAlgE_Simple.h:101
void SetCalibrationSlope(Float_t CalibrationSlope)
Definition: EdbShowAlgE_Simple.h:225
TArrayF * eEnergyArray
Definition: EdbShowAlgE_Simple.h:123
Int_t ePlateNumberType
Definition: EdbShowAlgE_Simple.h:49
void TrainNeuralNetwork(TString weight, Int_t ANNType=0)
Definition: EdbShowAlgE_Simple.h:210
TF1 * GetEffFunc_elletroni()
Definition: EdbShowAlgE_Simple.h:189
Int_t ANN_n_InputNeurons
Definition: EdbShowAlgE_Simple.h:76
Int_t ePlateNumber
Definition: EdbShowAlgE_Simple.h:52
TSpline3 * eSplineCurrent
Definition: EdbShowAlgE_Simple.h:138
Float_t eParaBT_deltaT_rms
Definition: EdbShowAlgE_Simple.h:92
Float_t eEnergyUnCorr
Definition: EdbShowAlgE_Simple.h:128
TMultiLayerPerceptron * ANN_MLP
Definition: EdbShowAlgE_Simple.h:69
TSpline3 * GetEfficiencyParametrisation()
Definition: EdbShowAlgE_Simple.h:245
TH1D * eHisto_deltaR_mean
Definition: EdbShowAlgE_Simple.h:98
TObjArray * eSplineArray_Energy_Stat_Gamma
Definition: EdbShowAlgE_Simple.h:135
Float_t GetEnergy(EdbTrackP *track)
Definition: EdbShowAlgE_Simple.h:175
Int_t GetRecoShowerArrayN() const
Definition: EdbShowAlgE_Simple.h:163
TObjArray * eSplineArray_Energy_Sys_Electron
Definition: EdbShowAlgE_Simple.h:136
TF1 * GetEffFunc_neuchmicro()
Definition: EdbShowAlgE_Simple.h:192
TMultiLayerPerceptron * GetNeuralNetwork(Int_t ANNType=0)
Definition: EdbShowAlgE_Simple.h:205
Float_t eEnergySigmaCorr
Definition: EdbShowAlgE_Simple.h:129
TH1D * eHisto_deltaT_mean
Definition: EdbShowAlgE_Simple.h:99
Double_t outANN
Definition: EdbShowAlgE_Simple.h:73
TH1D * eHisto_nbtk
Definition: EdbShowAlgE_Simple.h:102
TArrayF * GetEnergyArrayUnCorrected()
Definition: EdbShowAlgE_Simple.h:169
TString ANN_Layout
Definition: EdbShowAlgE_Simple.h:77
TF1 * EffFunc_UserEfficiency
Definition: EdbShowAlgE_Simple.h:115
TF1 * EffFunc_MiddleFix
Definition: EdbShowAlgE_Simple.h:113
Float_t eCalibrationSlope
Definition: EdbShowAlgE_Simple.h:47
Float_t eParaShowerAxisAngle
Definition: EdbShowAlgE_Simple.h:87
Definition: EdbPattern.h:118
void Help()
Definition: mc2raw.cxx:20