00001 #ifndef __TriggerNavigationVariables_h__
00002 #define __TriggerNavigationVariables_h__
00003 
00004 #include <vector>
00005 #include <limits>
00006 #include <iostream>
00007 
00008 
00009 
00010 class TriggerNavigationVariables
00011 {
00012   public:
00013     TriggerNavigationVariables() :
00014       hasSetVariables(false),
00015       hasIsolationVariables(false),
00016       isFirstCall(true),
00017       trig_DB_SMK(0),
00018       trig_Nav_n(0),
00019       trig_Nav_chain_ChainId(0),
00020       trig_Nav_chain_RoIType(0),
00021       trig_Nav_chain_RoIIndex(0),
00022       
00023       trig_RoI_EF_e_egammaContainer_egamma_Electrons(0),
00024       trig_RoI_EF_e_egammaContainer_egamma_ElectronsStatus(0),
00025       trig_EF_el_n(0),
00026       trig_EF_el_eta(0),
00027       trig_EF_el_phi(0),
00028       trig_EF_el_Et(0),
00029       
00030       trig_RoI_EF_mu_Muon_ROI(0),
00031       trig_RoI_EF_mu_TrigMuonEFInfoContainer(0),
00032       trig_RoI_EF_mu_TrigMuonEFInfoContainerStatus(0),
00033       trig_RoI_L2_mu_CombinedMuonFeature(0),
00034       trig_RoI_L2_mu_CombinedMuonFeatureStatus(0),
00035       trig_RoI_L2_mu_MuonFeature(0),
00036       trig_RoI_L2_mu_Muon_ROI(0),
00037       trig_EF_trigmuonef_track_CB_pt(0),
00038       trig_EF_trigmuonef_track_CB_eta(0),
00039       trig_EF_trigmuonef_track_CB_phi(0),
00040       trig_EF_trigmuonef_track_SA_pt(0),
00041       trig_EF_trigmuonef_track_SA_eta(0),
00042       trig_EF_trigmuonef_track_SA_phi(0),
00043       trig_EF_trigmugirl_track_CB_pt(0),
00044       trig_EF_trigmugirl_track_CB_eta(0),
00045       trig_EF_trigmugirl_track_CB_phi(0),
00046       trig_EF_trigmuonef_track_MuonType(0),
00047       trig_L2_combmuonfeature_eta(0),
00048       trig_L2_combmuonfeature_phi(0),
00049       trig_L2_muonfeature_eta(0),
00050       trig_L2_muonfeature_phi(0),
00051       trig_L1_mu_eta(0),
00052       trig_L1_mu_phi(0),
00053       trig_L1_mu_thrName(0),
00054       
00055       trig_RoI_EF_mu_TrigMuonEFIsolationContainer(0),
00056       trig_RoI_EF_mu_TrigMuonEFIsolationContainerStatus(0),
00057       
00058       trig_EF_trigmuonef_EF_mu8(0),
00059       trig_EF_trigmuonef_EF_mu15(0),
00060       trig_EF_trigmuonef_EF_mu24i_tight(0),
00061       trig_EF_trigmuonef_EF_mu36_tight(0),
00062       trig_EF_trigmuonef_EF_mu18_tight(0),
00063       trig_EF_trigmuonef_EF_mu18_tight_mu8_EFFS(0),
00064       trig_EF_trigmuonef_EF_2mu13(0),
00065       trig_EF_trigmuonef_EF_mu40_MSonly_barrel_tight(0),
00066       trig_EF_trigmuonef_EF_mu24_tight(0),
00067       trig_EF_trigmuonef_EF_mu20it_tight(0)
00068       {}
00069 
00070     TriggerNavigationVariables(
00071       unsigned int &trig_DB_SMK_,
00072       int &trig_Nav_n_,
00073       std::vector<short> *&trig_Nav_chain_ChainId_,
00074       std::vector<std::vector<int> > *&trig_Nav_chain_RoIType_,
00075       std::vector<std::vector<int> > *&trig_Nav_chain_RoIIndex_,
00076       
00077       std::vector<std::vector<int> > *&trig_RoI_EF_e_egammaContainer_egamma_Electrons_,
00078       std::vector<std::vector<int> > *&trig_RoI_EF_e_egammaContainer_egamma_ElectronsStatus_,
00079       int &trig_EF_el_n_,
00080       std::vector<float> *&trig_EF_el_eta_,
00081       std::vector<float> *&trig_EF_el_phi_,
00082       std::vector<float> *&trig_EF_el_Et_,
00083       
00084       std::vector<int> *&trig_RoI_EF_mu_Muon_ROI_,
00085       std::vector<std::vector<int> > *&trig_RoI_EF_mu_TrigMuonEFInfoContainer_,
00086       std::vector<std::vector<int> > *&trig_RoI_EF_mu_TrigMuonEFInfoContainerStatus_,
00087       std::vector<int> *&trig_RoI_L2_mu_CombinedMuonFeature_,
00088       std::vector<int> *&trig_RoI_L2_mu_CombinedMuonFeatureStatus_,
00089       std::vector<int> *&trig_RoI_L2_mu_MuonFeature_,
00090       std::vector<int> *&trig_RoI_L2_mu_Muon_ROI_,
00091       std::vector<std::vector<float> > *&trig_EF_trigmuonef_track_CB_pt_,
00092       std::vector<std::vector<float> > *&trig_EF_trigmuonef_track_CB_eta_,
00093       std::vector<std::vector<float> > *&trig_EF_trigmuonef_track_CB_phi_,
00094       std::vector<std::vector<float> > *&trig_EF_trigmuonef_track_SA_pt_,
00095       std::vector<std::vector<float> > *&trig_EF_trigmuonef_track_SA_eta_,
00096       std::vector<std::vector<float> > *&trig_EF_trigmuonef_track_SA_phi_,
00097       std::vector<std::vector<float> > *&trig_EF_trigmugirl_track_CB_pt_,
00098       std::vector<std::vector<float> > *&trig_EF_trigmugirl_track_CB_eta_,
00099       std::vector<std::vector<float> > *&trig_EF_trigmugirl_track_CB_phi_,
00100       std::vector<float> *&trig_L2_combmuonfeature_eta_,
00101       std::vector<float> *&trig_L2_combmuonfeature_phi_,
00102       std::vector<float> *&trig_L2_muonfeature_eta_,
00103       std::vector<float> *&trig_L2_muonfeature_phi_,
00104       std::vector<float> *&trig_L1_mu_eta_,
00105       std::vector<float> *&trig_L1_mu_phi_,
00106       std::vector<std::string> *&trig_L1_mu_thrName_,
00107       
00108       std::vector<std::vector<int> > *&trig_RoI_EF_mu_TrigMuonEFIsolationContainer_,
00109       std::vector<std::vector<int> > *&trig_RoI_EF_mu_TrigMuonEFIsolationContainerStatus_
00110     ) :
00111       hasSetVariables(true),
00112       trig_DB_SMK(&trig_DB_SMK_),
00113       trig_Nav_n(&trig_Nav_n_),
00114       trig_Nav_chain_ChainId(trig_Nav_chain_ChainId_),
00115       trig_Nav_chain_RoIType(trig_Nav_chain_RoIType_),
00116       trig_Nav_chain_RoIIndex(trig_Nav_chain_RoIIndex_),
00117       
00118       trig_RoI_EF_e_egammaContainer_egamma_Electrons(trig_RoI_EF_e_egammaContainer_egamma_Electrons_),
00119       trig_RoI_EF_e_egammaContainer_egamma_ElectronsStatus(trig_RoI_EF_e_egammaContainer_egamma_ElectronsStatus_),
00120       trig_EF_el_n(&trig_EF_el_n_),
00121       trig_EF_el_eta(trig_EF_el_eta_),
00122       trig_EF_el_phi(trig_EF_el_phi_),
00123       trig_EF_el_Et(trig_EF_el_Et_),
00124       
00125       trig_RoI_EF_mu_Muon_ROI(trig_RoI_EF_mu_Muon_ROI_),
00126       trig_RoI_EF_mu_TrigMuonEFInfoContainer(trig_RoI_EF_mu_TrigMuonEFInfoContainer_),
00127       trig_RoI_EF_mu_TrigMuonEFInfoContainerStatus(trig_RoI_EF_mu_TrigMuonEFInfoContainerStatus_),
00128       trig_RoI_L2_mu_CombinedMuonFeature(trig_RoI_L2_mu_CombinedMuonFeature_),
00129       trig_RoI_L2_mu_CombinedMuonFeatureStatus(trig_RoI_L2_mu_CombinedMuonFeatureStatus_),
00130       trig_RoI_L2_mu_MuonFeature(trig_RoI_L2_mu_MuonFeature_),
00131       trig_RoI_L2_mu_Muon_ROI(trig_RoI_L2_mu_Muon_ROI_),
00132       trig_EF_trigmuonef_track_CB_pt(trig_EF_trigmuonef_track_CB_pt_),
00133       trig_EF_trigmuonef_track_CB_eta(trig_EF_trigmuonef_track_CB_eta_),
00134       trig_EF_trigmuonef_track_CB_phi(trig_EF_trigmuonef_track_CB_phi_),
00135       trig_EF_trigmuonef_track_SA_pt(trig_EF_trigmuonef_track_SA_pt_),
00136       trig_EF_trigmuonef_track_SA_eta(trig_EF_trigmuonef_track_SA_eta_),
00137       trig_EF_trigmuonef_track_SA_phi(trig_EF_trigmuonef_track_SA_phi_),
00138       trig_EF_trigmugirl_track_CB_pt(trig_EF_trigmugirl_track_CB_pt_),
00139       trig_EF_trigmugirl_track_CB_eta(trig_EF_trigmugirl_track_CB_eta_),
00140       trig_EF_trigmugirl_track_CB_phi(trig_EF_trigmugirl_track_CB_phi_),
00141       trig_L2_combmuonfeature_eta(trig_L2_combmuonfeature_eta_),
00142       trig_L2_combmuonfeature_phi(trig_L2_combmuonfeature_phi_),
00143       trig_L2_muonfeature_eta(trig_L2_muonfeature_eta_),
00144       trig_L2_muonfeature_phi(trig_L2_muonfeature_phi_),
00145       trig_L1_mu_eta(trig_L1_mu_eta_),
00146       trig_L1_mu_phi(trig_L1_mu_phi_),
00147       trig_L1_mu_thrName(trig_L1_mu_thrName_),
00148       
00149       trig_RoI_EF_mu_TrigMuonEFIsolationContainer(trig_RoI_EF_mu_TrigMuonEFIsolationContainer_),
00150       trig_RoI_EF_mu_TrigMuonEFIsolationContainerStatus(trig_RoI_EF_mu_TrigMuonEFIsolationContainerStatus_)
00151       {}
00152 
00153     ~TriggerNavigationVariables() {}
00154  
00155 
00156     void set_trig_DB_SMK(unsigned int &x) {trig_DB_SMK = &x;}
00157     void set_trig_Nav_n(int &x) {trig_Nav_n = &x;}
00158     void set_trig_Nav_chain_ChainId(std::vector<short> *&x) {trig_Nav_chain_ChainId = x;}
00159     void set_trig_Nav_chain_RoIType(std::vector<std::vector<int> > *&x) {trig_Nav_chain_RoIType = x;}
00160     void set_trig_Nav_chain_RoIIndex(std::vector<std::vector<int> > *&x) {trig_Nav_chain_RoIIndex = x;}
00161 
00162     
00163     void set_trig_RoI_EF_e_egammaContainer_egamma_Electrons(std::vector<std::vector<int> > *&x) {trig_RoI_EF_e_egammaContainer_egamma_Electrons = x;}
00164     void set_trig_RoI_EF_e_egammaContainer_egamma_ElectronsStatus(std::vector<std::vector<int> > *&x) {trig_RoI_EF_e_egammaContainer_egamma_ElectronsStatus = x;}
00165     void set_trig_EF_el_n(int &x) {trig_EF_el_n = &x;}
00166     void set_trig_EF_el_eta(std::vector<float> *&x) {trig_EF_el_eta = x;}
00167     void set_trig_EF_el_phi(std::vector<float> *&x) {trig_EF_el_phi = x;}
00168     void set_trig_EF_el_Et(std::vector<float> *&x) {trig_EF_el_Et = x;}
00169 
00170     
00171     void set_trig_RoI_EF_mu_Muon_ROI(std::vector<int> *&x) {trig_RoI_EF_mu_Muon_ROI = x;}
00172     void set_trig_RoI_EF_mu_TrigMuonEFInfoContainer(std::vector<std::vector<int> > *&x) {trig_RoI_EF_mu_TrigMuonEFInfoContainer = x;}
00173     void set_trig_RoI_EF_mu_TrigMuonEFInfoContainerStatus(std::vector<std::vector<int> > *&x) {trig_RoI_EF_mu_TrigMuonEFInfoContainerStatus = x;}
00174     void set_trig_RoI_L2_mu_CombinedMuonFeature(std::vector<int> *&x) {trig_RoI_L2_mu_CombinedMuonFeature = x;}
00175     void set_trig_RoI_L2_mu_CombinedMuonFeatureStatus(std::vector<int> *&x) {trig_RoI_L2_mu_CombinedMuonFeatureStatus = x;}
00176     void set_trig_RoI_L2_mu_MuonFeature(std::vector<int> *&x) {trig_RoI_L2_mu_MuonFeature = x;}
00177     void set_trig_RoI_L2_mu_Muon_ROI(std::vector<int> *&x) {trig_RoI_L2_mu_Muon_ROI = x;}
00178     void set_trig_EF_trigmuonef_track_CB_pt(std::vector<std::vector<float> > *&x) {trig_EF_trigmuonef_track_CB_pt = x;}
00179     void set_trig_EF_trigmuonef_track_CB_eta(std::vector<std::vector<float> > *&x) {trig_EF_trigmuonef_track_CB_eta = x;}
00180     void set_trig_EF_trigmuonef_track_CB_phi(std::vector<std::vector<float> > *&x) {trig_EF_trigmuonef_track_CB_phi = x;}
00181     void set_trig_EF_trigmuonef_track_SA_pt(std::vector<std::vector<float> > *&x) {trig_EF_trigmuonef_track_SA_pt = x;}
00182     void set_trig_EF_trigmuonef_track_SA_eta(std::vector<std::vector<float> > *&x) {trig_EF_trigmuonef_track_SA_eta = x;}
00183     void set_trig_EF_trigmuonef_track_SA_phi(std::vector<std::vector<float> > *&x) {trig_EF_trigmuonef_track_SA_phi = x;}
00184     void set_trig_EF_trigmugirl_track_CB_pt(std::vector<std::vector<float> > *&x) {trig_EF_trigmugirl_track_CB_pt = x;}
00185     void set_trig_EF_trigmugirl_track_CB_eta(std::vector<std::vector<float> > *&x) {trig_EF_trigmugirl_track_CB_eta = x;}
00186     void set_trig_EF_trigmugirl_track_CB_phi(std::vector<std::vector<float> > *&x) {trig_EF_trigmugirl_track_CB_phi = x;}
00187     void set_trig_EF_trigmuonef_track_MuonType(std::vector<std::vector<int> > *&x) {trig_EF_trigmuonef_track_MuonType = x;}
00188     void set_trig_L2_combmuonfeature_eta(std::vector<float> *&x) {trig_L2_combmuonfeature_eta = x;}
00189     void set_trig_L2_combmuonfeature_phi(std::vector<float> *&x) {trig_L2_combmuonfeature_phi = x;}
00190     void set_trig_L2_muonfeature_eta(std::vector<float> *&x) {trig_L2_muonfeature_eta = x;}
00191     void set_trig_L2_muonfeature_phi(std::vector<float> *&x) {trig_L2_muonfeature_phi = x;}
00192     void set_trig_L1_mu_eta(std::vector<float> *&x) {trig_L1_mu_eta = x;}
00193     void set_trig_L1_mu_phi(std::vector<float> *&x) {trig_L1_mu_phi = x;}
00194     void set_trig_L1_mu_thrName(std::vector<std::string> *&x) {trig_L1_mu_thrName = x;}
00195     
00196     void set_trig_RoI_EF_mu_TrigMuonEFIsolationContainer(std::vector<std::vector<int> > *&x) {trig_RoI_EF_mu_TrigMuonEFIsolationContainer = x;}
00197     void set_trig_RoI_EF_mu_TrigMuonEFIsolationContainerStatus(std::vector<std::vector<int> > *&x) {trig_RoI_EF_mu_TrigMuonEFIsolationContainerStatus = x;}
00198 
00199     
00200     void set_trig_EF_trigmuonef_EF_mu8(std::vector<int> *&x) {trig_EF_trigmuonef_EF_mu8 = x;}
00201     void set_trig_EF_trigmuonef_EF_mu15(std::vector<int> *&x) {trig_EF_trigmuonef_EF_mu15 = x;}
00202     void set_trig_EF_trigmuonef_EF_mu24i_tight(std::vector<int> *&x) {trig_EF_trigmuonef_EF_mu24i_tight = x;}
00203     void set_trig_EF_trigmuonef_EF_mu36_tight(std::vector<int> *&x) {trig_EF_trigmuonef_EF_mu36_tight = x;}
00204     void set_trig_EF_trigmuonef_EF_mu18_tight(std::vector<int> *&x) {trig_EF_trigmuonef_EF_mu18_tight = x;}
00205     void set_trig_EF_trigmuonef_EF_mu18_tight_mu8_EFFS(std::vector<int> *&x) {trig_EF_trigmuonef_EF_mu18_tight_mu8_EFFS = x;}
00206     void set_trig_EF_trigmuonef_EF_2mu13(std::vector<int> *&x) {trig_EF_trigmuonef_EF_2mu13 = x;}
00207     void set_trig_EF_trigmuonef_EF_mu40_MSonly_barrel_tight(std::vector<int> *&x) {trig_EF_trigmuonef_EF_mu40_MSonly_barrel_tight = x;}
00208     void set_trig_EF_trigmuonef_EF_mu24_tight(std::vector<int> *&x) {trig_EF_trigmuonef_EF_mu24_tight = x;}
00209     void set_trig_EF_trigmuonef_EF_mu20it_tight(std::vector<int> *&x) {trig_EF_trigmuonef_EF_mu20it_tight = x;}
00210     
00211     bool isValid() const {
00212       if (hasSetVariables) return true;
00213 
00214       if (trig_DB_SMK == 0) return false;
00215       if (trig_Nav_n == 0) return false;
00216       if (trig_Nav_chain_ChainId == 0) return false;
00217       if (trig_Nav_chain_RoIType == 0) return false;
00218       if (trig_Nav_chain_RoIIndex == 0) return false;
00219       
00220       if (trig_RoI_EF_e_egammaContainer_egamma_Electrons == 0) return false;
00221       if (trig_RoI_EF_e_egammaContainer_egamma_ElectronsStatus == 0) return false;
00222       if (trig_EF_el_n == 0) return false;
00223       if (trig_EF_el_eta == 0) return false;
00224       if (trig_EF_el_phi == 0) return false;
00225       
00226       if (trig_RoI_EF_mu_Muon_ROI == 0) return false;
00227       if (trig_RoI_EF_mu_TrigMuonEFInfoContainer == 0) return false;
00228       if (trig_RoI_EF_mu_TrigMuonEFInfoContainerStatus == 0) return false;
00229       if (trig_RoI_L2_mu_CombinedMuonFeature == 0) return false;
00230       if (trig_RoI_L2_mu_CombinedMuonFeatureStatus == 0) return false;
00231       if (trig_RoI_L2_mu_MuonFeature == 0) return false;
00232       if (trig_RoI_L2_mu_Muon_ROI == 0) return false;
00233       if (trig_EF_trigmuonef_track_CB_pt == 0) return false;
00234       if (trig_EF_trigmuonef_track_CB_eta == 0) return false;
00235       if (trig_EF_trigmuonef_track_CB_phi == 0) return false;
00236       if (trig_EF_trigmuonef_track_SA_pt == 0) return false;
00237       if (trig_EF_trigmuonef_track_SA_eta == 0) return false;
00238       if (trig_EF_trigmuonef_track_SA_phi == 0) return false;
00239       if (trig_EF_trigmugirl_track_CB_pt == 0) return false;
00240       if (trig_EF_trigmugirl_track_CB_eta == 0) return false;
00241       if (trig_EF_trigmugirl_track_CB_phi == 0) return false;
00242       if (trig_L2_combmuonfeature_eta == 0) return false;
00243       if (trig_L2_combmuonfeature_phi == 0) return false;
00244       if (trig_L2_muonfeature_eta == 0) return false;
00245       if (trig_L2_muonfeature_phi == 0) return false;
00246       if (trig_L1_mu_eta == 0) return false;
00247       if (trig_L1_mu_phi == 0) return false;
00248       if (trig_L1_mu_thrName == 0) return false;
00249 
00250       
00251       if (trig_EF_el_Et == 0) {
00252         if (isFirstCall) std::cout << "INFORMATION: variables needed for asymmetric di-electron triggers not set "
00253                                       "(trig_EF_el_Et)\n";
00254       }
00255 
00256       
00257       if (trig_EF_trigmuonef_track_MuonType == 0) {
00258         if (isFirstCall) std::cout << "INFORMATION: variables needed for full scan di-muon triggers in 2012 not set "
00259                                       "(trig_EF_trigmuonef_track_MuonType)\n";
00260       }
00261 
00262       
00263       if ((trig_RoI_EF_mu_TrigMuonEFIsolationContainer == 0) or
00264           (trig_RoI_EF_mu_TrigMuonEFIsolationContainerStatus  == 0))
00265       {
00266         if (isFirstCall) std::cout << "INFORMATION: variables needed for isolated muon triggers not set "
00267                                       "(trig_RoI_EF_mu_TrigMuonEFIsolationContainer) and/or "
00268                                       "(trig_RoI_EF_mu_TrigMuonEFIsolationContainerStatus)\n";
00269       } else {
00270         hasIsolationVariables = true;
00271       }
00272 
00273       
00274       if ((trig_EF_trigmuonef_EF_mu24i_tight != 0) or
00275           (trig_EF_trigmuonef_EF_mu36_tight != 0) or
00276           (trig_EF_trigmuonef_EF_mu18_tight != 0) or
00277           (trig_EF_trigmuonef_EF_mu18_tight_mu8_EFFS != 0) or
00278           (trig_EF_trigmuonef_EF_2mu13 != 0) or
00279           (trig_EF_trigmuonef_EF_mu8 != 0) or
00280           (trig_EF_trigmuonef_EF_mu15 != 0) or
00281           (trig_EF_trigmuonef_EF_mu40_MSonly_barrel_tight != 0)) {
00282         if (isFirstCall) std::cout << "INFORMATION: variables needed for workaround for TriggerMenuAnalysis-00-02-86 available "
00283                                       "(trig_EF_trigmuonef_EF_mu24i_tight) and/or "
00284                                       "(trig_EF_trigmuonef_EF_mu36_tight) and/or "
00285                                       "(trig_EF_trigmuonef_EF_mu18_tight) and/or "
00286                                       "(trig_EF_trigmuonef_EF_mu18_tight_mu8_EFFS) and/or "
00287                                       "(trig_EF_trigmuonef_EF_2mu13) and/or "
00288                                       "(trig_EF_trigmuonef_EF_mu8) and/or "
00289                                       "(trig_EF_trigmuonef_EF_mu15) and/or "
00290                                       "(trig_EF_trigmuonef_EF_mu40_MSonly_barrel_tight)\n";
00291       }
00292 
00293       hasSetVariables = true;
00294       isFirstCall = false;
00295       return true;
00296     };
00297 
00298 
00299 
00300   private:
00301     bool mutable hasSetVariables;
00302     bool mutable hasIsolationVariables;
00303     bool mutable isFirstCall;
00304 
00305   public:
00306     const unsigned int *trig_DB_SMK;
00307     const int *trig_Nav_n;
00308     const std::vector<short> *trig_Nav_chain_ChainId;
00309     const std::vector<std::vector<int> > *trig_Nav_chain_RoIType;
00310     const std::vector<std::vector<int> > *trig_Nav_chain_RoIIndex;
00311 
00312     
00313     const std::vector<std::vector<int> > *trig_RoI_EF_e_egammaContainer_egamma_Electrons;
00314     const std::vector<std::vector<int> > *trig_RoI_EF_e_egammaContainer_egamma_ElectronsStatus;
00315     const int *trig_EF_el_n;
00316     const std::vector<float> *trig_EF_el_eta;
00317     const std::vector<float> *trig_EF_el_phi;
00318     const std::vector<float> *trig_EF_el_Et;
00319 
00320     
00321     const std::vector<int> *trig_RoI_EF_mu_Muon_ROI;
00322     const std::vector<std::vector<int> > *trig_RoI_EF_mu_TrigMuonEFInfoContainer;
00323     const std::vector<std::vector<int> > *trig_RoI_EF_mu_TrigMuonEFInfoContainerStatus;
00324     const std::vector<int> *trig_RoI_L2_mu_CombinedMuonFeature;
00325     const std::vector<int> *trig_RoI_L2_mu_CombinedMuonFeatureStatus;
00326     const std::vector<int> *trig_RoI_L2_mu_MuonFeature;
00327     const std::vector<int> *trig_RoI_L2_mu_Muon_ROI;
00328     const std::vector<std::vector<float> > *trig_EF_trigmuonef_track_CB_pt;
00329     const std::vector<std::vector<float> > *trig_EF_trigmuonef_track_CB_eta;
00330     const std::vector<std::vector<float> > *trig_EF_trigmuonef_track_CB_phi;
00331     const std::vector<std::vector<float> > *trig_EF_trigmuonef_track_SA_pt;
00332     const std::vector<std::vector<float> > *trig_EF_trigmuonef_track_SA_eta;
00333     const std::vector<std::vector<float> > *trig_EF_trigmuonef_track_SA_phi;
00334     const std::vector<std::vector<float> > *trig_EF_trigmugirl_track_CB_pt;
00335     const std::vector<std::vector<float> > *trig_EF_trigmugirl_track_CB_eta;
00336     const std::vector<std::vector<float> > *trig_EF_trigmugirl_track_CB_phi;
00337     const std::vector<std::vector<int> > *trig_EF_trigmuonef_track_MuonType;
00338     const std::vector<float> *trig_L2_combmuonfeature_eta;
00339     const std::vector<float> *trig_L2_combmuonfeature_phi;
00340     const std::vector<float> *trig_L2_muonfeature_eta;
00341     const std::vector<float> *trig_L2_muonfeature_phi;
00342     const std::vector<float> *trig_L1_mu_eta;
00343     const std::vector<float> *trig_L1_mu_phi;
00344     const std::vector<std::string> *trig_L1_mu_thrName;
00345 
00346     
00347     const std::vector<std::vector<int> > *trig_RoI_EF_mu_TrigMuonEFIsolationContainer;
00348     const std::vector<std::vector<int> > *trig_RoI_EF_mu_TrigMuonEFIsolationContainerStatus;
00349 
00350     
00351     const std::vector<int> *trig_EF_trigmuonef_EF_mu8;
00352     const std::vector<int> *trig_EF_trigmuonef_EF_mu15;
00353     const std::vector<int> *trig_EF_trigmuonef_EF_mu24i_tight;
00354     const std::vector<int> *trig_EF_trigmuonef_EF_mu36_tight;
00355     const std::vector<int> *trig_EF_trigmuonef_EF_mu18_tight;
00356     const std::vector<int> *trig_EF_trigmuonef_EF_mu18_tight_mu8_EFFS;
00357     const std::vector<int> *trig_EF_trigmuonef_EF_2mu13;
00358     const std::vector<int> *trig_EF_trigmuonef_EF_mu40_MSonly_barrel_tight;
00359     const std::vector<int> *trig_EF_trigmuonef_EF_mu24_tight;
00360     const std::vector<int> *trig_EF_trigmuonef_EF_mu20it_tight;
00361 
00362 #include "TriggerNavigationVariables.i"
00363 };
00364 #endif // __TriggerNavigationVariables_h__