/[PAMELA software]/DarthVader/TrackerLevel2/src/TrkProcess.cpp
ViewVC logotype

Diff of /DarthVader/TrackerLevel2/src/TrkProcess.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.10 by pam-fi, Mon May 14 11:03:06 2007 UTC revision 1.14 by pam-fi, Wed Mar 5 17:00:19 2008 UTC
# Line 11  using namespace std; Line 11  using namespace std;
11  TrkProcess::TrkProcess(){  TrkProcess::TrkProcess(){
12            
13      idrun = 0;      idrun = 0;
14      dbg_mode.SetNone();  //    dbg_mode.SetNone();
15      get1  = 0;      get1  = 0;
16      full1 = 0;      full1 = 0;
17      geth  = 0;      geth  = 0;
# Line 36  TrkProcess::TrkProcess(){ Line 36  TrkProcess::TrkProcess(){
36            
37      ostatus = 0;      ostatus = 0;
38    
39      TrkParams::SetTrackingMode();      npar = 0;
40      TrkParams::SetPrecisionFactor();  
41      TrkParams::SetStepMin();        nskip = 0;
42    
43    //     TrkParams::SetTrackingMode();
44    //     TrkParams::SetPrecisionFactor();
45    //     TrkParams::SetStepMin();  
46        TrkParams::SetMiniDefault();
47      TrkParams::SetPFA();      TrkParams::SetPFA();
48  };  };
49                    
# Line 52  TrkProcess::TrkProcess(ULong64_t run, TF Line 57  TrkProcess::TrkProcess(ULong64_t run, TF
57      idrun = run;      idrun = run;
58  //    DEBUG = false;  //    DEBUG = false;
59  //    VERBOSE = false;  //    VERBOSE = false;
60      dbg_mode.SetWarning();  //    dbg_mode.SetWarning();
61      get1  = 0;      get1  = 0;
62      full1 = 0;      full1 = 0;
63      get2 = 1;      get2 = 1;
# Line 84  TrkProcess::TrkProcess(ULong64_t run, TF Line 89  TrkProcess::TrkProcess(ULong64_t run, TF
89      else if (!frameh.CompareTo("hbook", TString::kIgnoreCase)) ifrooth =false;      else if (!frameh.CompareTo("hbook", TString::kIgnoreCase)) ifrooth =false;
90    
91      ostatus = 0;      ostatus = 0;
92        
93        npar=0;
94                    
95      TrkParams::SetTrackingMode();      nskip = 0;
96      TrkParams::SetPrecisionFactor();  
97      TrkParams::SetStepMin();    //     TrkParams::SetTrackingMode();
98    //     TrkParams::SetPrecisionFactor();
99    //     TrkParams::SetStepMin();  
100        TrkParams::SetMiniDefault();
101      TrkParams::SetPFA();      TrkParams::SetPFA();
102    
103  };  };
104  /**  /**
105   * Set processing variables according to input custom parameters   * Set processing variables according to input custom parameters
106   */       */    
107  void TrkProcess::HandleCustomPar(int ncustom, char *vcustom[]){  int TrkProcess::HandleCustomPar(int ncustom, char *vcustom[]){
108    
109      for (int i=0; i< ncustom; i++){      for (int i=0; i< ncustom; i++){
110    
# Line 153  void TrkProcess::HandleCustomPar(int ncu Line 163  void TrkProcess::HandleCustomPar(int ncu
163              continue;              continue;
164          }            }  
165          // -----------------------------------------------------//              // -----------------------------------------------------//    
166            if (!strcmp(vcustom[i], "-pfa")){
167                if (++i >= ncustom)throw -3;
168                TrkParams::SetPFA(atoi(vcustom[i]));
169                continue;
170            }  
171            // -----------------------------------------------------//    
172            if (!strcmp(vcustom[i], "-skip")){
173                if (++i >= ncustom)throw -3;
174                nskip = atoi(vcustom[i]);
175                continue;
176            }  
177            // -----------------------------------------------------//    
178            if ( atoi(vcustom[i]) < 0){
179                if (++i >= ncustom)throw -3;
180                partype[npar]=-1*atoi(vcustom[i-1]);
181                parpath[npar]=vcustom[i];
182                npar++;
183                continue;
184            }  
185            // -----------------------------------------------------//    
186          if (!strcmp(vcustom[i], "--verbose") || !strcmp(vcustom[i], "-v")){          if (!strcmp(vcustom[i], "--verbose") || !strcmp(vcustom[i], "-v")){
187  //          VERBOSE = true;              TrkParams::SetVerboseMode();
             this->SetVerboseMode();  
188              continue;              continue;
189          }          }
190          // -----------------------------------------------------//              // -----------------------------------------------------//    
191            if (!strcmp(vcustom[i], "--warning") || !strcmp(vcustom[i], "-w")){
192                TrkParams::SetWarningMode();
193                continue;
194            }
195            // -----------------------------------------------------//    
196            if (!strcmp(vcustom[i], "--help") || !strcmp(vcustom[i], "-h")){
197                PrintHelp();
198                return 1;
199            }
200            // -----------------------------------------------------//    
201          else if (!strcmp(vcustom[i], "--debug") || !strcmp(vcustom[i], "-d")){          else if (!strcmp(vcustom[i], "--debug") || !strcmp(vcustom[i], "-d")){
202  //          DEBUG = true;              TrkParams::SetDebugMode();
             this->SetDebugMode();  
203              continue;              continue;
204          };          };
205      }        }  
# Line 182  void TrkProcess::HandleCustomPar(int ncu Line 220  void TrkProcess::HandleCustomPar(int ncu
220    
221      ostatus = 0;      ostatus = 0;
222    
223        return 0;
224    
225  };  };
226  /**  /**
227   * \brief Process Level0 event   * \brief Process Level0 event
# Line 192  void TrkProcess::HandleCustomPar(int ncu Line 232  void TrkProcess::HandleCustomPar(int ncu
232  void TrkProcess::ProcessEvent(TrkLevel0 *l0_event){  void TrkProcess::ProcessEvent(TrkLevel0 *l0_event){
233    
234      // fill Level0 common from Level0 object      // fill Level0 common from Level0 object
 //    l0_event->GetCommonVar(&level0event_);  
235      l0_event->GetLevel0Struct();      l0_event->GetLevel0Struct();
236      // process the event Level0->Level1->Level2      // process the event Level0->Level1->Level2
237      int F77err = 0;      int F77err = 0;
# Line 200  void TrkProcess::ProcessEvent(TrkLevel0 Line 239  void TrkProcess::ProcessEvent(TrkLevel0
239      reductionflight_(&F77err);      reductionflight_(&F77err);
240      if(F77err < 0)throw F77err;      if(F77err < 0)throw F77err;
241      //      //
 //    int pfa=0; //<<< ETA  
 //    int pfa=14;//<<< COG4  
 //    if(get2) analysisflight_(&pfa);  
242      if(get2) analysisflight_();      if(get2) analysisflight_();
243      //      //
244      ostatus = F77err;      ostatus = F77err;
# Line 210  void TrkProcess::ProcessEvent(TrkLevel0 Line 246  void TrkProcess::ProcessEvent(TrkLevel0
246  };  };
247                                    
248  void TrkProcess::Dump(){  void TrkProcess::Dump(){
249        cout << endl;
250        cout << " |-------------------------------------| "<<endl;
251        cout << "   tracker-processing input-parameters   "<< endl;
252        cout << " |-------------------------------------| "<<endl;
253        cout << "   idRun           " << idrun << endl;
254        cout << "                   (skip " << nskip <<" events)"<< endl;    
255        cout << "   get level1      " << get1 << endl;
256        cout << "   full level1     " << full1 << endl;
257        cout << "   get level2      " << get2 << endl;
258        cout << "   get hough       " << geth << endl;
259    //    cout << " frame1          " << frame1 << endl;
260    //    cout << " frame2          " << frame2 << endl;
261    //    cout << " frameh          " << frame2 << endl;
262    //    cout << " file1           " << file1 << endl;
263        cout << "   output file     " << file2 << endl;
264    //    cout << " outdir          " << outdir << endl;
265    //    cout << " process folder  " << pfolder << endl;
266    //    cout << " standalone mode " << standalone << endl;
267        for(int i=0; i<npar; i++)
268            cout << "   force loading parameters of type "<<partype[i]<<" from <--- "<<parpath[i]<<endl;
269        cout<<endl;
270    
271    //     cout << " debug mode      warning " << dbg_mode.warning << endl;
272    //     cout << " debug mode      verbose " << dbg_mode.verbose << endl;
273    //     cout << " debug mode      debug   " << dbg_mode.debug << endl << endl;
274        
275    }
276    
277    void TrkProcess::PrintHelp(){
278    
279      cout <<endl<< "Tracker process parameters: "<< endl;      printf( "\n\n +TRK [ options ] \n \n");
280      cout << " idRun           " << idrun << endl;  //    printf( "\n --version          : Print tracker software version and exit ");      
281      cout << " get level1      " << get1 << endl;      printf( "Options:");
282      cout << " full level1     " << full1 << endl;      printf( "\n --help, -h                     : Print this help and exit ");  
283      cout << " get level2      " << get2 << endl;  //    printf( "\n -idRun RUN         : ID number of the run to be processed (for reprocessing RUN=0) \n");
284      cout << " get hough       " << geth << endl;  //    printf( "\n -outDir OUTDIR     : Path where to put the LEVEL2 output                    [default ./ ] ");
285      cout << " frame1          " << frame1 << endl;  //    printf( "\n -processFolder DIR   : Directory (relative to OUTDIR) for other output files  [default TrackerFolder/ ] ");
286      cout << " frame2          " << frame2 << endl;  //    printf( "\n -processFile FILE  : Name of the LEVEL2 output file                         [default RUN.Level2.root]");
287      cout << " frameh          " << frame2 << endl;  //    printf( "\n -processFile1 FILE   : Name of the LEVEL1 output file                         [default RUN.Level1.rz]");
288      cout << " file1           " << file1 << endl;  //    printf( "\n -frame1 FRAME        : type of output for LEVEL1, root/hbook                  [default hbook ] ");
289      cout << " file2           " << file2 << endl;  //    printf( "\n -frame2 FRAME        : type of output for LEVEL2, root/hbook                  [default root  ] ");            
290      cout << " outdir          " << outdir << endl;      printf( "\n --get1, --get-level1           : get LEVEL1 output (store only cluster associated to tracks) [default (no LEVEL1 output) ]  ");
291      cout << " process folder  " << pfolder << endl;      printf( "\n --get1-full, --get-level1-full : get LEVEL1 output (store all clusters)                      [default (no LEVEL1 output) ]  ");
292      cout << " standalone mode " << standalone << endl;      printf( "\n --dontget2, --dontget-level2   : do not get LEVEL2 output                                    [default (get LEVEL2 output)]");
293      cout << " debug mode      warning " << dbg_mode.warning << endl;      printf( "\n --geth,, --get-hough           : get Hough-transform output                                  [default (no Hough-t. output) ]  ");
294      cout << " debug mode      verbose " << dbg_mode.verbose << endl;      printf( "\n -pfa PFAID                     : type of output for LEVEL2, root/hbook                       [default 14 (COG4)  ] ");          
295      cout << " debug mode      debug   " << dbg_mode.debug << endl << endl;      printf( "\n -N PATH                        : load parameter of type N=1,2... from PATH                   [default (from DB)  ] ");  
296        printf( "\n --verbose, -v                  : verbose mode ");      
297        printf( "\n --debug, -d                    : debug mode ");
298        printf( "\n --warning, -w                  : warning mode ");      
299        printf( "\n -skip NEV                      : skip first NEV events from each run ");        
300    //    printf( "\n --standalone, -s   : standalone mode (without RunInfo) ... but it might not work \n");        
301    //    printf( "\n -host HOST         : Name for the host                                      [default mysql://localhost/pamelaprod ]");
302    //    printf( "\n -user USER         : Username for the DB                                    [default anonymous] ");
303    //    printf( "\n -psw  PSW          : Password for the DB                                    [default (none)]\n \n \n");
304            
305    
306  }  }

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.23