1023{
1024 Log(2,
"EdbShowAlg_N3::Execute",
"DOING MAIN SHOWER RECONSTRUCTION HERE");
1025
1027 Log(2,
"EdbShowAlg_N3::Execute",
"Warning: No InitiatorBTs in the array. Return now");
1028 return;
1029 }
1030
1031
1032
1033 cout << "EdbShowAlg_N3::Execute()...FILL THE ROUTINE WITH THE CODE FROM ShowReco PROGRAM." << endl;
1034
1035
1036
1037
1040 }
1041
1042
1043 TTree *eANNTrainingsTree = new TTree("TreeSignalBackgroundBT", "TreeSignalBackgroundBT");
1044 eANNTrainingsTree->Branch(
"N3_Type", &
eANN_Inputtype,
"N3_Type/I");
1045 eANNTrainingsTree->Branch(
"N3_Inputvar",
eANN_Inputvar,
"N3_Inputvar[24]/D");
1046
1047
1048
1053
1054 Bool_t StillToLoop=kTRUE;
1055 Int_t ActualPID;
1056 Int_t newActualPID;
1057 Int_t STEP=-1;
1058 Int_t NLoopedPattern=0;
1060 if (
gEDBDEBUGLEVEL>3) cout <<
"EdbShowAlg_N3::Execute--- STEP for patternloop direction = " << STEP << endl;
1061
1062
1064
1065
1066 cout <<
"Loop over InBTs N=" <<
eInBTArrayN << endl;
1067
1068
1069
1071
1072
1073 if (
gEDBDEBUGLEVEL==2)
if ((i%1)==0) cout <<
eInBTArrayN <<
" InBT in total, still to do:"<<Form(
"%4d",i)<<
"\r\r\r\r"<<flush;
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1087
1088
1091
1092
1093
1095
1096
1097
1098
1099 RecoShower -> AddSegment(InBT);
1100 cout << "Segment (InBT) " << InBT << " was added to RecoShower." << endl;
1101
1102
1103
1104
1106
1107
1108
1109
1110 ActualPID= InBT->
PID() ;
1111 newActualPID= InBT->
PID() ;
1112
1113 while (StillToLoop) {
1114 if (
gEDBDEBUGLEVEL>3) cout <<
"EdbShowAlg_N3::Execute--- --- Doing patterloop " << ActualPID << endl;
1115
1116
1117 int patterloop_cnt=ActualPID;
1118
1119 for (Int_t btloop_cnt=0; btloop_cnt<
eAli->
GetPattern(ActualPID)->GetN(); ++btloop_cnt) {
1120
1122
1123
1124 seg=Segment;
1125
1127
1128
1130
1131
1132
1133
1134
1135
1137
1138
1139
1141
1142 cout << "// TO BE CHECKED WHERE THE FUNCTION GetDistToAxis(InBTClone, seg); IS!!" << endl;
1143
1145
1146
1147
1148 cout << "// TO BE CHECKED WHERE THE FUNCTION GetdeltaThetaSingleAngles(InBT, seg); IS!!" << endl;
1150
1151
1152
1153 cout << "// TO BE CHECKED WHERE THE FUNCTION GetdMinDist(InBT, seg); IS!!" << endl;
1155
1156
1157
1158
1159
1160
1161
1163
1164
1165
1166
1167
1168 Double_t EvalValue=0;
1169 Double_t N3_Evalvar4[4];
1170 Double_t N3_Evalvar8[8];
1171 Double_t N3_Evalvar12[12];
1172 Double_t N3_Evalvar16[16];
1173 Double_t N3_Evalvar20[20];
1174 Double_t N3_Evalvar24[24];
1175
1179 }
1183 }
1187 }
1191 }
1195 }
1196 else {
1199 }
1200
1201
1202
1203
1204 Double_t value=0;
1205
1206
1207 cout << "TO BE DONE" << endl;
1208
1213 }
1215
1216
1217
1218
1219
1220
1221
1222 if (Segment->
X()==InBT->
X()&&Segment->
Y()==InBT->
Y()) {
1223 ;
1224 }
1225 else {
1226 RecoShower -> AddSegment(Segment);
1227 }
1228 cout << "Segment " << Segment << " was added to &RecoShower : " << &RecoShower << endl;
1229 }
1230
1231
1232 newActualPID=ActualPID+STEP;
1233 ++NLoopedPattern;
1234
1235 if (
gEDBDEBUGLEVEL>3) cout <<
"EdbShowAlg_N3::Execute--- --- newActualPID= " << newActualPID << endl;
1236 if (
gEDBDEBUGLEVEL>3) cout <<
"EdbShowAlg_N3::Execute--- --- NLoopedPattern= " << NLoopedPattern << endl;
1238 if (
gEDBDEBUGLEVEL>3) cout <<
"EdbShowAlg_N3::Execute--- --- StillToLoop= " << StillToLoop << endl;
1239
1240
1241 if (STEP==1) {
1243 if (newActualPID>
eLastPlate_eAliPID) cout <<
"EdbShowAlg_N3::Execute--- ---Stopp Loop since: newActualPID>eLastPlate_eAliPID"<<endl;
1244 }
1245
1246 if (STEP==-1) {
1248 if (newActualPID<
eLastPlate_eAliPID) cout <<
"EdbShowAlg_N3::Execute--- ---Stopp Loop since: newActualPID<eLastPlate_eAliPID"<<endl;
1249 }
1250
1252 if (NLoopedPattern>
eNumberPlate_eAliPID) cout <<
"EdbShowAlg_N3::Execute--- ---Stopp Loop since: NLoopedPattern>eNumberPlate_eAliPID"<<endl;
1253
1254 ActualPID=newActualPID;
1255 }
1256
1257
1259
1260
1261
1262
1263
1264
1266
1267
1268 StillToLoop=kTRUE;
1269 NLoopedPattern=0;
1270 }
1271
1272
1273
1275
1276 Log(2,
"EdbShowAlg_N3::Execute",
"eRecoShowerArray():Entries = %d",
eRecoShowerArray->GetEntries());
1277 Log(2,
"EdbShowAlg_N3::Execute",
"DOING MAIN SHOWER RECONSTRUCTION HERE...done.");
1278 return;
1279}
EdbPattern * GetPattern(int id) const
Definition: EdbPattern.cxx:1721
Float_t X() const
Definition: EdbSegP.h:173
Float_t Z() const
Definition: EdbSegP.h:153
Float_t Y() const
Definition: EdbSegP.h:174
void PrintNice() const
Definition: EdbSegP.cxx:392
Int_t PID() const
Definition: EdbSegP.h:148
EdbSegP * GetSegment(int i) const
Definition: EdbPattern.h:66
TFile * eANNTrainingsTreeFile
Definition: EdbShowAlg_NN.h:153
Double_t eANN_OutputValue
Definition: EdbShowAlg_NN.h:159
void Transform_eAli(EdbSegP *InitiatorBT, Float_t ExtractSize)
Definition: EdbShowAlg.cxx:107
void SetRecoShowerArrayN(Int_t RecoShowerArrayN)
Definition: EdbShowAlg.h:117
TObjArray * eRecoShowerArray
Definition: EdbShowAlg.h:70
Int_t eFirstPlate_eAliPID
Definition: EdbShowAlg.h:65
Int_t eLastPlate_eAliPID
Definition: EdbShowAlg.h:66
Int_t eInBTArrayN
Definition: EdbShowAlg.h:63
TObjArray * eInBTArray
Definition: EdbShowAlg.h:62
EdbPVRec * eAli
Definition: EdbShowAlg.h:59
Int_t eNumberPlate_eAliPID
Definition: EdbShowAlg.h:68
Definition: EdbShowerP.h:28
Int_t N() const
Definition: EdbShowerP.h:412
void Update()
Definition: EdbShowerP.cxx:975
Double_t params[3]
Definition: testBGReduction_By_ANN.C:84