AliRoot Core  3dc7879 (3dc7879)
AliCaloNeuralFit.cxx
Go to the documentation of this file.
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * *
4  * Author: The ALICE Off-line Project. *
5  * Contributors are mentioned in the code where appropriate. *
6  * *
7  * Permission to use, copy, modify and distribute this software and its *
8  * documentation strictly for non-commercial purposes is hereby granted *
9  * without fee, provided that the above copyright notice appears in all *
10  * copies and that both the copyright notice and this permission notice *
11  * appear in the supporting documentation. The authors make no claims *
12  * about the suitability of this software for any purpose. It is *
13  * provided "as is" without express or implied warranty. *
14  **************************************************************************/
15 
16 #include "AliCaloNeuralFit.h"
17 #include <cmath>
18 
20 ClassImp( AliCaloNeuralFit ) ;
22 
26 //______________________________________________________________________________
28 (int index, Double_t in0, Double_t in1, Double_t in2, Double_t in3, Double_t in4)
29 {
30  fInput0 = in0;
31  fInput1 = in1;
32  fInput2 = in2;
33  fInput3 = in3;
34  fInput4 = in4;
35 
36  switch(index)
37  {
38  case 0:
39  return Neuron0x93bc708();
40  case 1:
41  return Neuron0x93be5d0();
42  default:
43  return 0.;
44  }
45 }
46 
50 //________________________________________________
52 {
53  return fInput0;
54 }
55 
59 //________________________________________________
61 {
62  return fInput1;
63 }
64 
68 //________________________________________________
70 {
71  return fInput2;
72 }
73 
77 //________________________________________________
79 {
80  return fInput3;
81 }
82 
86 //________________________________________________
88 {
89  return fInput4;
90 }
91 
96 //________________________________________________
98 {
99  Double_t input = -0.097207;
100  input += Synapse0x93bc9e8();
101  input += Synapse0x93bca10();
102  input += Synapse0x93bca38();
103  input += Synapse0x93bca60();
104  input += Synapse0x93bca88();
105 
106  return input;
107 }
108 
112 //________________________________________________
114 {
115  Double_t input = Input0x93bc838();
116  return (tanh(input) * 1)+0;
117 }
118 
123 //________________________________________________
125 {
126  Double_t input = 0.0466086;
127  input += Synapse0x93bcca8();
128  input += Synapse0x93bccd0();
129  input += Synapse0x93bccf8();
130  input += Synapse0x93bcd20();
131  input += Synapse0x93bcd48();
132  return input;
133 }
134 
138 //________________________________________________
140 {
141  Double_t input = Input0x93bcab0();
142  return (tanh(input) * 1)+0;
143 }
144 
149 //________________________________________________
151 {
152  Double_t input = 0.617042;
153  input += Synapse0x93bcf68();
154  input += Synapse0x93bcf90();
155  input += Synapse0x93bcfb8();
156  input += Synapse0x93bcfe0();
157  input += Synapse0x93bd008();
158 
159  return input;
160 }
161 
165 //________________________________________________
167 {
168  Double_t input = Input0x93bcd70();
169  return (tanh(input) * 1)+0;
170 }
171 
176 //________________________________________________
178 {
179  Double_t input = -0.519529;
180  input += Synapse0x93bd228();
181  input += Synapse0x93bd250();
182  input += Synapse0x93bd300();
183  input += Synapse0x93bd328();
184  input += Synapse0x93bd350();
185  return input;
186 }
187 
191 //________________________________________________
193 {
194  Double_t input = Input0x93bd030();
195  return (tanh(input) * 1)+0;
196 }
197 
202 //________________________________________________
204 {
205  Double_t input = -0.405186;
206  input += Synapse0x93bd528();
207  input += Synapse0x93bd550();
208  input += Synapse0x93bd578();
209  input += Synapse0x93bd5a0();
210  input += Synapse0x93bd5c8();
211  return input;
212 }
213 
217 //________________________________________________
219 {
220  Double_t input = Input0x93bd378();
221  return (tanh(input) * 1)+0;
222 }
223 
228 //________________________________________________
230 {
231 
232  Double_t input = -0.253465;
233  input += Synapse0x93bd7e8();
234  input += Synapse0x93bd810();
235  input += Synapse0x93bd838();
236  input += Synapse0x93bd860();
237  input += Synapse0x93bd888();
238  return input;
239 }
240 
244 //________________________________________________
246 {
247  Double_t input = Input0x93bd5f0();
248  return (tanh(input) * 1)+0;
249 }
250 
255 //________________________________________________
257 {
258  Double_t input = 0.0340672;
259  input += Synapse0x93bdaa8();
260  input += Synapse0x93bdad0();
261  input += Synapse0x93bdaf8();
262  input += Synapse0x8ce7098();
263  input += Synapse0x8ce70c0();
264  return input;
265 }
266 
270 //________________________________________________
272 {
273  Double_t input = Input0x93bd8b0();
274  return (tanh(input) * 1)+0;
275 }
276 
281 //________________________________________________
283 {
284  Double_t input = 0.231599;
285  input += Synapse0x93bde20();
286  input += Synapse0x93bde48();
287  input += Synapse0x93bde70();
288  input += Synapse0x93bde98();
289  input += Synapse0x93bdec0();
290  return input;
291 }
292 
296 //________________________________________________
298 {
299  Double_t input = Input0x93bdc28();
300  return (tanh(input) * 1)+0;
301 }
302 
307 //________________________________________________
309 {
310  Double_t input = 0.56831;
311  input += Synapse0x93be0e0();
312  input += Synapse0x93be108();
313  input += Synapse0x93be130();
314  input += Synapse0x93be158();
315  input += Synapse0x93be180();
316  return input;
317 }
318 
322 //________________________________________________
324 {
325  Double_t input = Input0x93bdee8();
326  return (tanh(input) * 1)+0;
327 }
328 
329 //________________________________________________
331 {
332  //
333  // Hidden/Output neuron
334  // Compute the activation from linear combination of
335  // all neurons going into this, each one times its synaptic weight
336  //
337  Double_t input = 0.223889;
338  input += Synapse0x93be3a0();
339  input += Synapse0x93be3c8();
340  input += Synapse0x93be3f0();
341  input += Synapse0x93be418();
342  input += Synapse0x93be440();
343  return input;
344 }
345 
349 //________________________________________________
351 {
352  Double_t input = Input0x93be1a8();
353  return (tanh(input) * 1)+0;
354 }
355 
360 //________________________________________________
362 {
363  Double_t input = 0.565736;
364  input += Synapse0x93bd2c0();
365  input += Synapse0x93be468();
366  input += Synapse0x93be490();
367  input += Synapse0x93be4b8();
368  input += Synapse0x93be4e0();
369  input += Synapse0x93be508();
370  input += Synapse0x93be530();
371  input += Synapse0x93be558();
372  input += Synapse0x93be580();
373  input += Synapse0x93be5a8();
374  return input;
375 }
376 
380 //________________________________________________
382 {
383  Double_t input = Input0x93bc708();
384  return (input * 1)+0;
385 }
386 
391 //________________________________________________
393 {
394  Double_t input = 0.311772;
395  input += Synapse0x93be7d0();
396  input += Synapse0x93be7f8();
397  input += Synapse0x93be820();
398  input += Synapse0x93be848();
399  input += Synapse0x93be870();
400  input += Synapse0x934a7c8();
401  input += Synapse0x93605e0();
402  input += Synapse0x9360608();
403  input += Synapse0x8ce6fe8();
404  input += Synapse0x8ce7010();
405  return input;
406 }
407 
411 //________________________________________________
413 {
414  Double_t input = Input0x93be5d0();
415  return (input * 1)+0;
416 }
417 
421 //________________________________________________
423 {
424  return (Neuron0x8ceb770()*-0.173079);
425 }
426 
430 //________________________________________________
432 {
433  return (Neuron0x8ceb900()*-0.356515);
434 }
435 
439 //________________________________________________
441 {
442  return (Neuron0x8cebad8()*0.116333);
443 }
444 
448 //________________________________________________
450 {
451  return (Neuron0x8cebcb0()*-0.0647334);
452 }
453 
457 //________________________________________________
459 {
460  return (Neuron0x93bc518()*0.135181);
461 }
462 
466 //________________________________________________
468 {
469  return (Neuron0x8ceb770()*-0.00703734);
470 }
471 
475 //________________________________________________
477 {
478  return (Neuron0x8ceb900()*1.04245);
479 }
480 
484 //________________________________________________
486 {
487  return (Neuron0x8cebad8()*0.70812);
488 }
489 
493 //________________________________________________
495 {
496  return (Neuron0x8cebcb0()*-0.486738);
497 }
498 
502 //________________________________________________
504 {
505  return (Neuron0x93bc518()*-0.623982);
506 }
507 
511 //________________________________________________
513 {
514  return (Neuron0x8ceb770()*0.0557636);
515 }
516 
520 //________________________________________________
522 {
523  return (Neuron0x8ceb900()*0.503374);
524 }
525 
529 //________________________________________________
531 {
532  return (Neuron0x8cebad8()*-0.0500216);
533 }
534 
538 //________________________________________________
540 {
541  return (Neuron0x8cebcb0()*0.0561266);
542 }
543 
547 //________________________________________________
549 {
550  return (Neuron0x93bc518()*-0.403885);
551 }
552 
556 //________________________________________________
558 {
559  return (Neuron0x8ceb770()*-0.0649038);
560 }
561 
565 //________________________________________________
567 {
568  return (Neuron0x8ceb900()*-0.164437);
569 }
570 
574 //________________________________________________
576 {
577  return (Neuron0x8cebad8()*-0.657412);
578 }
579 
583 //________________________________________________
585 {
586  return (Neuron0x8cebcb0()*0.175571);
587 }
588 
592 //________________________________________________
594 {
595  return (Neuron0x93bc518()*0.588896);
596 }
597 
601 //________________________________________________
603 {
604  return (Neuron0x8ceb770()*-0.00361627);
605 }
606 
610 //________________________________________________
612 {
613  return (Neuron0x8ceb900()*0.398821);
614 }
615 
619 //________________________________________________
621 {
622  return (Neuron0x8cebad8()*0.38779);
623 }
624 
628 //________________________________________________
630 {
631  return (Neuron0x8cebcb0()*0.341009);
632 }
633 
637 //________________________________________________
639 {
640  return (Neuron0x93bc518()*0.290214);
641 }
642 
646 //________________________________________________
648 {
649  return (Neuron0x8ceb770()*-0.238609);
650 }
651 
655 //________________________________________________
657 {
658  return (Neuron0x8ceb900()*-0.193207);
659 }
660 
664 //________________________________________________
666 {
667  return (Neuron0x8cebad8()*0.304672);
668 }
669 
673 //________________________________________________
675 {
676  return (Neuron0x8cebcb0()*-0.327625);
677 }
678 
682 //________________________________________________
684 {
685  return (Neuron0x93bc518()*-0.268996);
686 }
687 
691 //________________________________________________
693 {
694  return (Neuron0x8ceb770()*0.725989);
695 }
696 
700 //________________________________________________
702 {
703  return (Neuron0x8ceb900()*-0.217538);
704 }
705 
709 //________________________________________________
711 {
712  return (Neuron0x8cebad8()*-0.603975);
713 }
714 
718 //________________________________________________
720 {
721  return (Neuron0x8cebcb0()*0.175658);
722 }
723 
727 //________________________________________________
729 {
730  return (Neuron0x93bc518()*-0.262399);
731 }
732 
736 //________________________________________________
738 {
739  return (Neuron0x8ceb770()*-1.08242);
740 }
741 
745 //________________________________________________
747 {
748  return (Neuron0x8ceb900()*0.41456);
749 }
750 
754 //________________________________________________
756 {
757  return (Neuron0x8cebad8()*0.117809);
758 }
759 
763 //________________________________________________
765 {
766  return (Neuron0x8cebcb0()*0.514938);
767 }
768 
772 //________________________________________________
774 {
775  return (Neuron0x93bc518()*-0.193678);
776 }
777 
781 //________________________________________________
783 {
784  return (Neuron0x8ceb770()*0.580561);
785 }
786 
790 //________________________________________________
792 {
793  return (Neuron0x8ceb900()*0.610453);
794 }
795 
799 //________________________________________________
801 {
802  return (Neuron0x8cebad8()*0.4977);
803 }
804 
808 //________________________________________________
810 {
811  return (Neuron0x8cebcb0()*-0.328315);
812 }
813 
817 //________________________________________________
819 {
820  return (Neuron0x93bc518()*-0.729094);
821 }
822 
826 //________________________________________________
828 {
829  return (Neuron0x8ceb770()*0.172817);
830 }
831 
835 //________________________________________________
837 {
838  return (Neuron0x8ceb900()*0.288833);
839 }
840 
844 //________________________________________________
846 {
847  return (Neuron0x8cebad8()*0.0242409);
848 }
849 
853 //________________________________________________
855 {
856  return (Neuron0x8cebcb0()*0.273568);
857 }
858 
862 //________________________________________________
864 {
865  return (Neuron0x93bc518()*0.261816);
866 }
867 
871 //________________________________________________
873 {
874  return (Neuron0x93bc838()*-0.332154);
875 }
876 
880 //________________________________________________
882 {
883  return (Neuron0x93bcab0()*0.175458);
884 }
885 
889 //________________________________________________
891 {
892  return (Neuron0x93bcd70()*0.211775);
893 }
894 
898 //________________________________________________
900 {
901  return (Neuron0x93bd030()*0.335443);
902 }
903 
907 //________________________________________________
909 {
910  return (Neuron0x93bd378()*0.341079);
911 }
912 
916 //________________________________________________
918 {
919  return (Neuron0x93bd5f0()*-0.324381);
920 }
921 
925 //________________________________________________
927 {
928  return (Neuron0x93bd8b0()*0.135666);
929 }
930 
934 //________________________________________________
936 {
937  return (Neuron0x93bdc28()*-0.0213577);
938 }
939 
943 //________________________________________________
945 {
946  return (Neuron0x93bdee8()*-0.598335);
947 }
948 
952 //________________________________________________
954 {
955  return (Neuron0x93be1a8()*0.636813);
956 }
957 
961 //________________________________________________
963 {
964  return (Neuron0x93bc838()*0.173357);
965 }
966 
970 //________________________________________________
972 {
973  return (Neuron0x93bcab0()*-0.971616);
974 }
975 
979 //________________________________________________
981 {
982  return (Neuron0x93bcd70()*-0.38099);
983 }
984 
988 //________________________________________________
990 {
991  return (Neuron0x93bd030()*0.351755);
992 }
993 
997 //________________________________________________
999 {
1000  return (Neuron0x93bd378()*0.106307);
1001 }
1002 
1006 //________________________________________________
1008 {
1009  return (Neuron0x93bd5f0()*0.118656);
1010 }
1011 
1015 //________________________________________________
1017 {
1018  return (Neuron0x93bd8b0()*-0.447119);
1019 }
1020 
1024 //________________________________________________
1026 {
1027  return (Neuron0x93bdc28()*0.677259);
1028 }
1029 
1033 //________________________________________________
1035 {
1036  return (Neuron0x93bdee8()*-0.246138);
1037 }
1038 
1042 //________________________________________________
1044 {
1045  return (Neuron0x93be1a8()*-0.117442);
1046 }
Double_t Synapse0x8ce7010() const
Double_t Neuron0x93bd378() const
Double_t Synapse0x93bd860() const
Double_t Synapse0x93be4b8() const
Double_t Neuron0x93bc708() const
Double_t Input0x93bdc28() const
Double_t Synapse0x93bcd48() const
Double_t Value(int index, Double_t in0, Double_t in1, Double_t in2, Double_t in3, Double_t in4)
Double_t Neuron0x93be1a8() const
Double_t Synapse0x93be490() const
Double_t Synapse0x93bccf8() const
Double_t Synapse0x93be5a8() const
Double_t Synapse0x93bcd20() const
Double_t Input0x93bcd70() const
Double_t Synapse0x93bcfb8() const
Double_t Synapse0x93be158() const
Double_t Neuron0x93bd5f0() const
Double_t Synapse0x93be820() const
Double_t Synapse0x8ce7098() const
Double_t Synapse0x93bcf68() const
Double_t Synapse0x8ce70c0() const
Double_t Neuron0x8cebcb0() const
Double_t Synapse0x93bd528() const
Double_t Input0x93bd8b0() const
Double_t Synapse0x93bcf90() const
Double_t Synapse0x93bde70() const
Double_t Synapse0x93be7d0() const
Double_t Synapse0x93be440() const
Double_t Synapse0x93be468() const
Double_t Neuron0x93bc838() const
Double_t Synapse0x93bca10() const
Double_t Input0x93bc838() const
Double_t Synapse0x93bd550() const
Double_t Synapse0x93bd008() const
Double_t Synapse0x93bd7e8() const
Double_t Synapse0x934a7c8() const
Double_t Synapse0x93bd5a0() const
Double_t Synapse0x93bd328() const
Double_t Neuron0x93bdee8() const
Double_t Synapse0x93be3c8() const
Double_t Synapse0x93bca88() const
Double_t Synapse0x93bd228() const
Double_t Input0x93be5d0() const
Double_t Neuron0x93be5d0() const
Double_t Synapse0x93bd578() const
Utility Class for Neural Network fit.
Double_t Neuron0x93bd8b0() const
Double_t Synapse0x93bde98() const
Double_t Synapse0x93be508() const
Double_t Synapse0x93bd5c8() const
Double_t Synapse0x93bd888() const
Double_t Synapse0x93be108() const
Double_t Synapse0x93bca38() const
Double_t Synapse0x93bdec0() const
Double_t Synapse0x93bca60() const
Double_t Neuron0x93bc518() const
Double_t Synapse0x93bd250() const
Double_t Neuron0x8cebad8() const
Double_t Synapse0x93bde48() const
Double_t Synapse0x9360608() const
Double_t Synapse0x93bc9e8() const
Double_t Input0x93bdee8() const
Double_t Input0x93bd378() const
Double_t Synapse0x93be4e0() const
Double_t Synapse0x93605e0() const
Double_t Synapse0x93bd810() const
Double_t Synapse0x93bd300() const
Double_t Neuron0x93bd030() const
Double_t Synapse0x93be0e0() const
Double_t Neuron0x93bdc28() const
Double_t Synapse0x93bd838() const
Double_t Synapse0x93bdaf8() const
Double_t Synapse0x93bd350() const
Double_t Synapse0x93be558() const
Double_t Synapse0x93be870() const
Double_t Synapse0x93be3a0() const
Double_t Input0x93bd030() const
Double_t Input0x93bd5f0() const
Double_t Neuron0x8ceb770() const
Double_t Synapse0x93be3f0() const
Double_t Synapse0x93be180() const
Double_t Synapse0x93bdad0() const
Double_t Synapse0x93bd2c0() const
Double_t Synapse0x93be7f8() const
Double_t Synapse0x93be130() const
Double_t Synapse0x93bcfe0() const
Double_t Synapse0x93bccd0() const
Double_t Synapse0x93be418() const
Double_t Neuron0x93bcab0() const
Double_t Synapse0x93bde20() const
Double_t Synapse0x93bcca8() const
Double_t Synapse0x93be848() const
Double_t Synapse0x93bdaa8() const
Double_t Input0x93bcab0() const
Double_t Synapse0x93be580() const
Double_t Neuron0x8ceb900() const
Double_t Synapse0x93be530() const
Double_t Input0x93bc708() const
Double_t Synapse0x8ce6fe8() const
Double_t Input0x93be1a8() const
Double_t Neuron0x93bcd70() const