Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

mMuiRoadFinder1Par.h

Go to the documentation of this file.
00001 #ifndef __MMUIROADFINDER1PAR_HH__
00002 #define __MMUIROADFINDER1PAR_HH__
00003 
00004 #include<PHObject.h>
00005 #include<MUIOO.h>
00006 #include<TMuiParBase.h>
00007 
00009 
00011 class mMuiRoadFinder1Par : public TMuiParBase
00012 {  
00013  public: 
00014   
00016   mMuiRoadFinder1Par() : 
00017     _num_seed_loops(2),
00018     _min_last_gap_1d(2),
00019     _min_fired_gaps(2),
00020     _max_skipped_gaps(2),  // not used?
00021     _min_shared_hits_1d(5), // not used?
00022     _max_xref_1d(180.0),
00023     _max_yref_1d(180.0),
00024     _max_clusters_per_gap_search(1),
00025     _min_last_gap_2d(2),
00026     _max_del_last_gap(1),
00027     _max_del_hits_per_gap(1), // not used?
00028     _max_del_total_hits(1),
00029     _max_xref_2d(180.0),
00030     _max_yref_2d(180.0),
00031     _max_xchisq(1000.0),
00032     _max_ychisq(1000.0),
00033     _min_shared_hits_2d(10), // not used?
00034     _mut_window(20),
00035     _mui_window(30),
00036     _mut_z_north(620),
00037     _mut_z_south(-470),
00038     _max_occupancy_per_arm(300),
00039     _write_golden_only(false), // not used?
00040     _xvert(0.0),
00041     _yvert(0.0),
00042     _zvert(0.0)
00043     {
00044       std::fill(_search_length,_search_length+MAXSEEDLOOPS,6);
00045       std::fill(_weight_par_1d,_weight_par_1d+NUMFITPOINTS,1.0);
00046       std::fill(_weight_par_2d,_weight_par_2d+NUMFITPOINTS,1.0);
00047       int t_SearchOrder[MAXSEEDLOOPS][NUMFITPOINTS] = 
00048       { {-1,2,1,0,3,4}, {-1,1,2,0,3,4} };
00049       for(int iLoop = 0; iLoop < MAXSEEDLOOPS; iLoop++ )
00050         {
00051           for(int iPoint = 0; iPoint < NUMFITPOINTS; iPoint++ )
00052             {
00053               _search_order[iLoop][iPoint]=t_SearchOrder[iLoop][iPoint];
00054             }     
00055         }
00056     }
00057   
00059   ~mMuiRoadFinder1Par(){;}
00060   
00061   enum{NUMFITPOINTS=6, MAXSEEDLOOPS = 2};
00062 
00064   UShort_t get_num_seed_loops() const { return _num_seed_loops;}
00065   UShort_t get_search_length(int loop) const { return _search_length[loop];}
00066   UShort_t get_search_order(int loop, int point) const 
00067     { return _search_order[loop][point];}
00069   UShort_t get_min_last_gap_1d() const { return _min_last_gap_1d;}
00070   UShort_t get_min_fired_gaps() const { return _min_fired_gaps;}
00071   UShort_t get_max_skipped_gaps() const { return _max_skipped_gaps;}
00072   UShort_t get_min_shared_hits_1d() const { return _min_shared_hits_1d;}
00073   Float_t get_weight_par_1d(int point) const 
00074     { return _weight_par_1d[point];}
00075   Float_t get_max_xref_1d() const { return _max_xref_1d;}
00076   Float_t get_max_yref_1d() const { return _max_yref_1d;}
00077   UShort_t get_max_clusters_per_gap_search() const 
00078     { return _max_clusters_per_gap_search;}
00079   UShort_t get_min_last_gap_2d() const { return _min_last_gap_2d;}
00080   UShort_t get_max_del_last_gap() const { return _max_del_last_gap;}
00081   UShort_t get_max_del_hits_per_gap() const { return _max_del_hits_per_gap;}
00082   UShort_t get_max_del_total_hits() const { return _max_del_total_hits;}
00083   Float_t get_max_xref_2d() const { return _max_xref_2d;}
00084   Float_t get_max_yref_2d() const { return _max_yref_2d;}
00085   
00087   Float_t get_weight_par_2d(int point) const { return _weight_par_2d[point];}
00088   Float_t get_max_xchisq() const { return _max_xchisq;}
00089   Float_t get_max_ychisq() const { return _max_ychisq;}
00090   UShort_t get_min_shared_hits_2d() const { return _min_shared_hits_2d;}
00091   Float_t get_mut_window() const { return _mut_window;}
00092   Float_t get_mui_window() const { return _mui_window;}
00093   Float_t get_mut_z_north() const { return _mut_z_north;}
00094   Float_t get_mut_z_south() const { return _mut_z_south;}
00095   UShort_t get_max_occupancy_per_arm() const { return _max_occupancy_per_arm;}
00096   
00098   Float_t get_xvert() const { return _xvert;}
00099   Float_t get_yvert() const { return _yvert;}
00100   Float_t get_zvert() const { return _zvert;}
00101   
00103   void set_num_seed_loops(UShort_t sval) { _num_seed_loops = sval;}
00104   void set_search_length(int point, UShort_t sval) 
00105     { _search_length[point] = sval;}
00106   void set_search_order(int loop, int point, UShort_t sval) 
00107     { _search_order[loop][point] = sval;}
00108 
00110   void set_weight_par_1d(int point, Float_t fval) 
00111     { _weight_par_1d[point] = fval;}
00112   void set_max_xref_1d(Float_t fval) { _max_xref_1d = fval;}
00113   void set_max_yref_1d(Float_t fval) { _max_yref_1d = fval;}
00114   void set_min_last_gap_1d(UShort_t sval) { _min_last_gap_1d = sval;}
00115   void set_min_fired_gaps(UShort_t sval) { _min_fired_gaps = sval;}
00116   void set_max_skipped_gaps(UShort_t sval) { _max_skipped_gaps = sval;}
00117   void set_min_shared_hits_1d(UShort_t sval) { _min_shared_hits_1d = sval;}
00118   void set_max_clusters_per_gap_search(UShort_t sval) 
00119     { _max_clusters_per_gap_search = sval;}
00120 
00122   void set_max_xref_2d(Float_t fval) { _max_xref_2d = fval;}
00123   void set_max_yref_2d(Float_t fval) { _max_yref_2d = fval;}
00124   void set_weight_par_2d(int point, Float_t fval) 
00125     { _weight_par_2d[point] = fval;}
00126   void set_max_xchisq(Float_t fval) { _max_xchisq = fval;}
00127   void set_max_ychisq(Float_t fval) { _max_ychisq = fval;}
00128   void set_mut_window(Float_t fval) { _mut_window = fval;}
00129   void set_mui_window(Float_t fval) { _mui_window = fval;}
00130   void set_mut_z_north(Float_t fval) { _mut_z_north = fval;}
00131   void set_mut_z_south(Float_t fval) { _mut_z_south = fval;}
00132   void set_min_last_gap_2d(UShort_t sval) { _min_last_gap_2d = sval;}
00133   void set_max_del_last_gap(UShort_t sval) { _max_del_last_gap = sval;}
00134   void set_max_del_hits_per_gap(UShort_t sval) { _max_del_hits_per_gap = sval;}
00135   void set_max_del_total_hits(UShort_t sval) { _max_del_total_hits = sval;}
00136   void set_min_shared_hits_2d(UShort_t sval) { _min_shared_hits_2d = sval;}
00137   void set_max_occupancy_per_arm(UShort_t sval) 
00138     { _max_occupancy_per_arm = sval;}
00139   
00141   void set_xvert(Float_t fval) { _xvert = fval;}
00142   void set_yvert(Float_t fval) { _yvert = fval;}
00143   void set_zvert(Float_t fval) { _zvert = fval;}
00144 
00145  private:  
00146   
00147   // Grabbed the control parameters from the dMuiRoadControl table.
00148   // Parameters to controal road model and collection
00149   UShort_t _num_seed_loops;
00150   UShort_t _search_length[MAXSEEDLOOPS];
00151   UShort_t _search_order[MAXSEEDLOOPS][NUMFITPOINTS];
00152 
00153   // Parameters for 1d road quality check
00154   UShort_t _min_last_gap_1d;
00155   UShort_t _min_fired_gaps;
00156   UShort_t _max_skipped_gaps;
00157   UShort_t _min_shared_hits_1d;
00158   Float_t _weight_par_1d[NUMFITPOINTS];
00159   Float_t _max_xref_1d;
00160   Float_t _max_yref_1d;
00161   UShort_t _max_clusters_per_gap_search;
00162   
00163   // Parameters for 2D road quality check
00164   UShort_t _min_last_gap_2d;
00165   UShort_t _max_del_last_gap;
00166   UShort_t _max_del_hits_per_gap;
00167   UShort_t _max_del_total_hits;
00168   Float_t _max_xref_2d;
00169   Float_t _max_yref_2d;
00170   Float_t _weight_par_2d[NUMFITPOINTS];
00171   Float_t _max_xchisq;
00172   Float_t _max_ychisq;
00173   UShort_t _min_shared_hits_2d;
00174   Float_t _mut_window;
00175   Float_t _mui_window;
00176   Float_t _mut_z_north;
00177   Float_t _mut_z_south;
00178 
00179   // Number of hits in the arm above which we should
00180   // skip the event.
00181   UShort_t _max_occupancy_per_arm;
00182   bool _write_golden_only;
00183 
00184   Float_t _xvert;
00185   Float_t _yvert;
00186   Float_t _zvert;
00187 
00188 };
00189 
00190 #endif /* __MMUIROADFINDER1PAR_HH__ */

MUIOO: PHENIX Muon Identifier Analysis Framework. Documentation by doxygen
Last modified: