diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/BjetLikelihoodMon.h b/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/BjetLikelihoodMon.h index 1363f0880082ac644b46346228703f15285e00b6..20042df269dcfb413748f9e77e5a662eb3946c63 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/BjetLikelihoodMon.h +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/BjetLikelihoodMon.h @@ -93,8 +93,6 @@ class BjetLikelihoodMon { /** @brief To set likelihood weights to default values (when beam spot doesn't allow b-jet triggers to fire). */ void getLikelihoodTag(); - /** @brief To compute likelihood weights at LVL2. */ - void getLikelihoodTag(const TrigInDetTrackCollection*&, float ,const ToolHandle<ITrigTrackJetFinderTool>); /** @brief To compute likelihood weights based on impact parameters of reconstructed tracks at EF. */ void getLikelihoodTag(const Rec::TrackParticleContainer*&, float, const ToolHandle<ITrigTrackJetFinderTool>); @@ -103,23 +101,6 @@ class BjetLikelihoodMon { private: - /** - * @brief To perform track selection at LVL2 in order to evaluate the likelihood weight. - * @return boolean variable set to true if the track has been selected - * - * This tagger is called for all the tracks in a certain collection and perform track selection - * with the following default criteria (different selection criteria can be set through declareProperty): - * - * - chi square > 50 - * - number of space points in the silicon detectors >= 4 - * - transverse impact parameter >= 1mm - * - longitudinal impact parameter >= 2mm - * - */ - //TrigInDetTrackCollection - - bool l2TrackSel(const TrigInDetTrack*&, unsigned int, float); - // bool l2TrackSel(const TrigInDetTrackCollection*&, unsigned int, float); /** * @brief To perform track selection at EF in order to evaluate the likelihood weight. diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/BjetProbabilityMon.h b/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/BjetProbabilityMon.h index fc4466e4c4de3a431d230df0c26b3c3914a5ffe1..3abed0d92364225ce2c30a0cea01c2da56461599 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/BjetProbabilityMon.h +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/BjetProbabilityMon.h @@ -54,9 +54,6 @@ class BjetProbabilityMon { /** @brief To set chi2 probability to default value (when beam spot doesn't allow b-jet triggers to fire). */ void getProbabilityTag(); - /** @brief To compute chi2 probability weight at LVL2. */ - void getProbabilityTag(const TrigInDetTrackCollection*&, const TrigVertexCollection*&, const ToolHandle<ITrigTrackJetFinderTool>); - void getProbabilityTag(const TrigInDetTrackCollection*&, float , const ToolHandle<ITrigTrackJetFinderTool>); /** @brief To compute chi2 probability weight at EF. */ void getProbabilityTag(const Rec::TrackParticleContainer*&, const TrigVertexCollection*&, const ToolHandle<ITrigTrackJetFinderTool>); void getProbabilityTag(const Rec::TrackParticleContainer*&, float , const ToolHandle<ITrigTrackJetFinderTool>); @@ -72,8 +69,6 @@ class BjetProbabilityMon { /** @brief To retrieve CHI2 tagger distribution (for monitoring). */ float getXCHI2() const {return m_taggersXMap.find("CHI2")->second;}; - /** @brief To properly use a selected LVL2 track. */ - void addTrack(const TrigInDetTrack*&); /** @brief To properly use a selected EF track. */ void addTrack(const Rec::TrackParticle*&); /** @brief To set the phi position of the track-jet. */ @@ -89,20 +84,6 @@ class BjetProbabilityMon { private: - /** - * @brief To perform track selection at LVL2 in order to evaluate the likelihood weight. - * @return boolean variable set to true if the track has been selected - * - * This tagger is called for all the tracks in a certain collection and perform track selection - * with the following default criteria (different selection criteria can be set through declareProperty): - * - * - chi square > 50 - * - number of space points in the silicon detectors >= 4 - * - transverse impact parameter >= 1mm - * - longitudinal impact parameter >= 2mm - * - */ - bool l2TrackSel(const TrigInDetTrack*&, unsigned int, float); /** * @brief To perform track selection at EF in order to evaluate the likelihood weight. * @return boolean variable set to true if the track has been selected diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/HLTBjetMonTool.h b/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/HLTBjetMonTool.h index 79c55a2e08cc83a4d435a3fc09bd61ea13348bd8..b9d0e1264446b720449714074e4ca8a9033cb580 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/HLTBjetMonTool.h +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/HLTBjetMonTool.h @@ -68,58 +68,48 @@ class HLTBjetMonTool : public IHLTMonTool { ToolHandle<ITrigTrackJetFinderTool> m_trackJetFinderTool; - BjetLikelihoodMon *m_likelihood_L2, *m_likelihood_EF; - BjetProbabilityMon *m_probability_L2, *m_probability_EF; + BjetLikelihoodMon *m_likelihood_EF; + BjetProbabilityMon *m_probability_EF; - TuningLikelihood *m_tuningLikelihoodIP1D_L2, *m_tuningLikelihoodIP2D_L2, *m_tuningLikelihoodIP3D_L2; TuningLikelihood *m_tuningLikelihoodIP1D_EF, *m_tuningLikelihoodIP2D_EF, *m_tuningLikelihoodIP3D_EF; - const BjetLikelihoodMon *m_constLikelihood_L2, *m_constLikelihood_EF; - const BjetProbabilityMon *m_constProbability_L2, *m_constProbability_EF; + const BjetLikelihoodMon *m_constLikelihood_EF; + const BjetProbabilityMon *m_constProbability_EF; float m_xBeamSpot,m_yBeamSpot,m_zBeamSpot; float m_sigmaX, m_sigmaY, m_sigmaZ; - float m_prmVtxL2Bj,m_prmVtxEFBj; + float m_prmVtxEFBj; - std::vector<std::string> m_taggers, m_TriggerChainBjet, m_TriggerChainL2Bjet, m_TriggerChainMujet,m_TriggerChainMujet_phys ; + std::vector<std::string> m_taggers, m_TriggerChainBjet, m_TriggerChainMujet,m_TriggerChainMujet_phys ; int m_Menu_ppV0; - bool m_useErrIPParam, m_jetDirection, m_l2PrmVtxAtEF, m_useEtaPhiTrackSel; + bool m_useErrIPParam, m_jetDirection, m_useEtaPhiTrackSel; float m_setBeamSpotWidth; - float m_l2TrkSelChi2; - int m_l2TrkSelBLayer, m_l2TrkSelSiHits; - float m_l2TrkSelD0, m_l2TrkSelZ0, m_l2TrkSelPt, m_efTrkSelChi2; + float m_efTrkSelChi2; int m_efTrkSelBLayer, m_efTrkSelPixHits, m_efTrkSelSiHits; float m_efTrkSelD0, m_efTrkSelZ0, m_efTrkSelPt; std::vector<float> m_listCutAppliedLikelihood; - std::vector<float> m_listCutAppliedLikelihood_L2; std::vector<float> m_listCutAppliedLikelihood_EF; std::vector<float> m_listCutAppliedProbability; - std::vector<float> m_listCutAppliedProbability_L2; std::vector<float> m_listCutAppliedProbability_EF; - std::vector<float> m_mon_l2_trk_a0, m_mon_l2_trk_a0_sel, m_mon_l2_trk_Sa0_sel; - std::vector<float> m_mon_l2_trk_z0, m_mon_l2_trk_z0_sel, m_mon_l2_trk_z0_sel_PV, m_mon_l2_trk_Sz0_sel; - std::vector<float> m_mon_l2_trk_prob; - std::vector<float> m_mon_ef_trk_a0, m_mon_ef_trk_a0_sel, m_mon_ef_trk_Sa0_sel; std::vector<float> m_mon_ef_trk_z0, m_mon_ef_trk_z0_sel, m_mon_ef_trk_z0_sel_PV, m_mon_ef_trk_Sz0_sel; std::vector<float> m_mon_ef_trk_prob; - std::vector<float> m_sizeIP1D_L2, m_bIP1D_L2, m_uIP1D_L2; - std::vector<float> m_sizeIP2D_L2, m_bIP2D_L2, m_uIP2D_L2; - std::vector<float> m_sizeIP3D_L2, m_bIP3D_L2, m_uIP3D_L2; - - std::vector<float> m_sizeIP1D_EF, m_bIP1D_EF, m_uIP1D_EF; - std::vector<float> m_sizeIP2D_EF, m_bIP2D_EF, m_uIP2D_EF; - std::vector<float> m_sizeIP3D_EF, m_bIP3D_EF, m_uIP3D_EF; + std::vector<int> m_sizeIP1D_EF; + std::vector<float> m_bIP1D_EF, m_uIP1D_EF; + std::vector<int> m_sizeIP2D_EF; + std::vector<float> m_bIP2D_EF, m_uIP2D_EF; + std::vector<int> m_sizeIP3D_EF; + std::vector<float> m_bIP3D_EF, m_uIP3D_EF; - std::vector<float> m_par_L2Si0, m_par_L2Id0, m_par_EF0; - std::vector<float> m_par_L2Si1, m_par_L2Id1, m_par_EF1; + std::vector<float> m_par_EF0; + std::vector<float> m_par_EF1; /** @brief Pointer to TaggerHelper class. */ TaggerHelper* m_taggerHelper; diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/TaggerHelper.h b/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/TaggerHelper.h index ec1bd148b41f24dd700000aa6f731fbdfab2ac87..d9b738568b1463e0b526376695ac57e6f7289e6d 100644 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/TaggerHelper.h +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/TaggerHelper.h @@ -50,17 +50,11 @@ class TaggerHelper TaggerHelper(MsgStream*); ~TaggerHelper(); - /** @brief To print track parameters and track parameter errors for reconstructed tracks at LVL2 */ - void showParam(const TrigInDetTrack*&, unsigned int); /** @brief To print track parameters and track parameter errors for reconstructed tracks at EF */ void showParam(const Rec::TrackParticle*&, unsigned int); - /** @brief To get the number of tracks in a track collection at LVL2. */ - unsigned int getTrackNumber(const TrigInDetTrackCollection*); /** @brief To get the number of tracks in a track collection at EF. */ unsigned int getTrackNumber(const Rec::TrackParticleContainer*); - /** @brief To get the number of vertices in a vertex collection at LVL2. */ - unsigned int getVerticesNumber(const TrigVertexCollection*&); /** @brief To get the number of vertices in a vertex collection at EF. */ unsigned int getVerticesNumber(const VxContainer*&); diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/TuningLikelihood.h b/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/TuningLikelihood.h index bfaeafe94520ef79318ad89a3796f823698516bf..6ca714742cbde971245b1f4c87551fdce34b54f4 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/TuningLikelihood.h +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/TrigBjetMonitoring/TuningLikelihood.h @@ -23,9 +23,7 @@ * @author Andrea Coccaro <Andrea.Coccaro@ge.infn.it> * * This is the private class used to store likelihood calibrations which are set through the following python files: - * - python/TrigBjetFexTuningSiTrack.py: calibration of LVL2 distributions using SiTrack tracks; - * - python/TrigBjetFexTuningIDScan.py: calibration of LVL2 distributions using IDScan tracks; - * - python/TrigBjetFexTuningEFID.py: calibration of EF distributions. + * - python/TrigBjetFexTuningEFID.py: calibration of EF distributions. */ @@ -33,12 +31,14 @@ class TuningLikelihood { public: - TuningLikelihood(const float*, const float*, const float*, const int); + TuningLikelihood(const int*, const float*, const float*, const int); //EN + // TuningLikelihood(const float*, const float*, const float*, const int); ~TuningLikelihood(); float getBLikelihoodValue(int index) {return m_bLikelihood[index];}; float getULikelihoodValue(int index) {return m_uLikelihood[index];}; + /* const float* getMinXLikelihood() {return m_minXLikelihood;}; const float* getMaxXLikelihood() {return m_maxXLikelihood;}; const float* getNumXLikelihood() {return m_numXLikelihood;}; @@ -50,14 +50,31 @@ class TuningLikelihood { const float* getMinZLikelihood() {return m_minZLikelihood;}; const float* getMaxZLikelihood() {return m_maxZLikelihood;}; const float* getNumZLikelihood() {return m_numZLikelihood;}; + */ + + const int* getMinXLikelihood() {return m_minXLikelihood;}; + const int* getMaxXLikelihood() {return m_maxXLikelihood;}; + const int* getNumXLikelihood() {return m_numXLikelihood;}; + + const int* getMinYLikelihood() {return m_minYLikelihood;}; + const int* getMaxYLikelihood() {return m_maxYLikelihood;}; + const int* getNumYLikelihood() {return m_numYLikelihood;}; + + const int* getMinZLikelihood() {return m_minZLikelihood;}; + const int* getMaxZLikelihood() {return m_maxZLikelihood;}; + const int* getNumZLikelihood() {return m_numZLikelihood;}; private: bool is1D, is2D, is3D; - const float *m_numXLikelihood, *m_minXLikelihood, *m_maxXLikelihood; - const float *m_numYLikelihood, *m_minYLikelihood, *m_maxYLikelihood; - const float *m_numZLikelihood, *m_minZLikelihood, *m_maxZLikelihood; + // const float *m_numXLikelihood, *m_minXLikelihood, *m_maxXLikelihood; + // const float *m_numYLikelihood, *m_minYLikelihood, *m_maxYLikelihood; + // const float *m_numZLikelihood, *m_minZLikelihood, *m_maxZLikelihood; + + const int *m_numXLikelihood, *m_minXLikelihood, *m_maxXLikelihood; + const int *m_numYLikelihood, *m_minYLikelihood, *m_maxYLikelihood; + const int *m_numZLikelihood, *m_minZLikelihood, *m_maxZLikelihood; const float *m_bLikelihood, *m_uLikelihood; const int m_dimensionLikelihood; diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/python/TrigBjetMonitoringConfig.py b/Trigger/TrigMonitoring/TrigBjetMonitoring/python/TrigBjetMonitoringConfig.py index e7e08bf9253780a513336b626f92643534e1c2c6..3ba6683e580851704f1ca1f3fe64da80b372de62 100644 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/python/TrigBjetMonitoringConfig.py +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/python/TrigBjetMonitoringConfig.py @@ -4,86 +4,31 @@ from AthenaCommon.AppMgr import ToolSvc def TrigBjetMonitoringConfig(): - from TriggerMenuPython.HltConfig import * - from TriggerMenuPython.TriggerPythonConfig import * - from TriggerMenuPython.ChainTemplate import * - from TriggerJobOpts.TriggerFlags import TriggerFlags +# from TriggerMenuPython.HltConfig import * +# from TriggerMenuPython.TriggerPythonConfig import * +# from TriggerMenuPython.ChainTemplate import * +# from TriggerJobOpts.TriggerFlags import TriggerFlags from TrigBjetMonitoring.TrigBjetMonitoringConf import HLTBjetMonTool HLTBjetMon = HLTBjetMonTool(name = 'HLTBjetMon', histoPathBase = "/Trigger/HLT"); HLTBjetMon.Taggers = ["IP1D", "IP2D", "IP3D", "CHI2"] - HLTBjetMon.par_L2Si0 = [6.63551e+02,9.76080e-01,1.63175e+01,5.89648] - HLTBjetMon.par_L2Si1 = [1.56781e+03,9.74479e-01,1.71767e+01,3.44048] - HLTBjetMon.par_L2Id0 = [6.63551e+02,9.76080e-01,1.63175e+01,5.89648] - HLTBjetMon.par_L2Id1 = [1.56781e+03,9.74479e-01,1.71767e+01,3.44048] HLTBjetMon.par_EF0 = [6.63551e+02,9.76080e-01,1.63175e+01,5.89648] HLTBjetMon.par_EF1 = [1.56781e+03,9.74479e-01,1.71767e+01,3.44048] - HLTBjetMon.SizeIP1D_L2 = [10,-3,3] - HLTBjetMon.bIP1D_L2 = [0.247396,0.00286118,0.0107199,0.053256,0.0934651,0.127532,0.127952,0.0564605,0.0297562,0.250601] - HLTBjetMon.uIP1D_L2 = [0.245188,0.00316428,0.0102839,0.0675925,0.16129,0.168146,0.0818757,0.0163048,0.00355981,0.242595] - - HLTBjetMon.SizeIP2D_L2 = [20,-3.5,3.5] - HLTBjetMon.bIP2D_L2 = [0.00289932,0.00495937,0.00881242,0.0116354,0.0177393,0.0268569,0.0439858,0.0700797,0.0730172,0.06554, - 0.0648533,0.0881624,0.0971274,0.0855301,0.0807615,0.0726357,0.0664174,0.0510052,0.03825,0.0297181] - HLTBjetMon.uIP2D_L2 = [0.000835018,0.00105476,0.00351587,0.00505406,0.0102839,0.0248308,0.0682957,0.12244,0.138965,0.113562, - 0.115672,0.139316,0.126088,0.0745803,0.0266327,0.0122616,0.00711963,0.00487826,0.002764,0.00184583] - - HLTBjetMon.SizeIP3D_L2 = [20,-3.5,3.5,10,-3,3] - HLTBjetMon.bIP3D_L2 = [0.00106817,0,7.6298e-05,7.6298e-05,0.000114447,0.000190745,0.000152596,0.000114447,0.000419639,0.000686682, - 0.00148781,3.8149e-05,7.6298e-05,0.000343341,0.000419639,0.000343341,0.000228894,0.000228894,0.000610384,0.00118262, - 0.00206005,3.8149e-05,0.000305192,0.00038149,0.000801129,0.000495937,0.00110632,0.000724831,0.000572235,0.00232709, - 0.00274673,3.8149e-05,0.000152596,0.000648533,0.000953725,0.000991874,0.00167856,0.00103002,0.000534086,0.00286118, - 0.00419639,0,0.000228894,0.000839278,0.00129707,0.00156411,0.00183115,0.0019456,0.000686682,0.00515012, - 0.00679052,3.8149e-05,0.000343341,0.00148781,0.00247969,0.00335711,0.00370045,0.00129707,0.00076298,0.00659978, - 0.0101858,0.000190745,0.000839278,0.00289932,0.00511197,0.00618014,0.00515012,0.00148781,0.000648533,0.0112921, - 0.0171671,0.000343341,0.000877427,0.00465418,0.0077061,0.00923206,0.00774425,0.00267043,0.000839278,0.0188456, - 0.0174722,0.000228894,0.00076298,0.00492122,0.00797314,0.0112921,0.00919391,0.00278488,0.000534086,0.0178537, - 0.0169382,0.000190745,0.00076298,0.00469233,0.00877427,0.00877427,0.00606569,0.00247969,0.000991874,0.01587, - 0.0154122,0.000305192,0.000572235,0.00457788,0.00698127,0.0096517,0.00804944,0.00244154,0.00076298,0.0160989, - 0.0218594,0.000190745,0.000953725,0.00614199,0.00976615,0.0130851,0.0101095,0.00335711,0.00144966,0.021249, - 0.0258269,0.00038149,0.000915576,0.00579865,0.0104147,0.0138862,0.0109488,0.0036623,0.00175485,0.0235379, - 0.0206768,0.000228894,0.000953725,0.00400565,0.00873612,0.011254,0.011788,0.00450158,0.001793,0.0215923, - 0.0210583,3.8149e-05,0.000572235,0.00274673,0.00644718,0.0100713,0.0109106,0.0057605,0.00236524,0.0207912, - 0.0185023,7.6298e-05,0.000534086,0.00221264,0.00515012,0.00824019,0.010491,0.00629459,0.00301377,0.0181208, - 0.0157174,7.6298e-05,0.000419639,0.00183115,0.00415824,0.00682867,0.0106436,0.00541716,0.00312822,0.0181971, - 0.0121314,0.000114447,0.000495937,0.00221264,0.00267043,0.00579865,0.00747721,0.00453973,0.00316637,0.0123984, - 0.00843093,0.000190745,0.000534086,0.00137336,0.0020219,0.0039675,0.0057605,0.00331896,0.00316637,0.0094991, - 0.00766795,0.000152596,0.000343341,0.00141151,0.00148781,0.00232709,0.00492122,0.00240339,0.00255598,0.00644718] - HLTBjetMon.uIP3D_L2 = [0.000175793,0,4.39483e-05,4.39483e-05,8.78966e-05,8.78966e-05,4.39483e-05,4.39483e-05,4.39483e-05,0.00026369, - 0.000175793,0,0.000131845,8.78966e-05,0.000131845,0.000219742,4.39483e-05,4.39483e-05,0,0.000219742, - 0.000439483,4.39483e-05,0.000483431,0.000395535,0.000131845,0.000439483,0.000439483,0.000307638,8.78966e-05,0.000747121, - 0.00109871,4.39483e-05,0.00026369,0.000483431,0.000747121,0.000703173,0.00052738,0.00026369,4.39483e-05,0.000878966, - 0.0026369,0,0.000395535,0.000659225,0.00079107,0.00184583,0.00109871,0.000351587,0.00026369,0.00224136, - 0.00501011,0,0.000131845,0.00246111,0.00329612,0.00408719,0.002549,0.000703173,8.78966e-05,0.00650435, - 0.0157335,0.00026369,0.000878966,0.00373561,0.0120418,0.0120858,0.00553749,0.0012745,8.78966e-05,0.0166564, - 0.0294893,0.000439483,0.000703173,0.00711963,0.0198646,0.0232047,0.0105915,0.00188978,8.78966e-05,0.0290498, - 0.0337523,0.000439483,0.000835018,0.00870177,0.0232487,0.022941,0.0113826,0.00219742,0.000175793,0.0352905, - 0.0294893,4.39483e-05,0.00079107,0.00672409,0.0192933,0.0197767,0.00927309,0.00140635,0.000131845,0.0266327, - 0.0301925,0.000175793,0.000878966,0.00694383,0.0193812,0.0203041,0.00835018,0.00175793,0.000395535,0.0272919, - 0.0355981,0.000307638,0.00145029,0.00993232,0.0243913,0.02382,0.0106355,0.00131845,0.000307638,0.0315549, - 0.0308517,0.000351587,0.000878966,0.00887756,0.0210952,0.0211391,0.00953678,0.00149424,0.000307638,0.0315549, - 0.0163927,0.000483431,0.00079107,0.00610882,0.011866,0.0123934,0.00615276,0.00101081,0.000219742,0.0191615, - 0.0065483,0.00026369,0.000615276,0.00224136,0.00320823,0.0027248,0.00241716,0.000878966,0.000439483,0.00729542, - 0.00281269,4.39483e-05,0.000219742,0.00149424,0.000966863,0.00131845,0.00149424,0.00052738,0.000219742,0.00316428, - 0.00197767,8.78966e-05,0.000175793,0.000922915,0.000483431,0.000571328,0.000747121,0.00026369,0.000131845,0.00175793, - 0.0013624,0.000131845,0.00026369,0.000483431,0.000131845,0.000351587,0.000483431,0.00026369,0.000131845,0.0012745, - 0.000703173,4.39483e-05,0.000131845,0.000175793,4.39483e-05,0.000131845,0.000307638,0.000219742,8.78966e-05,0.000922915, - 0.000747121,0,0.000219742,0,8.78966e-05,0,0.00026369,8.78966e-05,0.000307638,0.000131845] HLTBjetMon.SizeIP1D_EF = [10,-3,3] HLTBjetMon.bIP1D_EF = [0.247396,0.00286118,0.0107199,0.053256,0.0934651,0.127532,0.127952,0.0564605,0.0297562,0.250601] HLTBjetMon.uIP1D_EF = [0.245188,0.00316428,0.0102839,0.0675925,0.16129,0.168146,0.0818757,0.0163048,0.00355981,0.242595] - HLTBjetMon.SizeIP2D_EF = [20,-3.5,3.5] + HLTBjetMon.SizeIP2D_EF = [20,-4,4] HLTBjetMon.bIP2D_EF = [0.00289932,0.00495937,0.00881242,0.0116354,0.0177393,0.0268569,0.0439858,0.0700797,0.0730172,0.06554, 0.0648533,0.0881624,0.0971274,0.0855301,0.0807615,0.0726357,0.0664174,0.0510052,0.03825,0.0297181] HLTBjetMon.uIP2D_EF = [0.000835018,0.00105476,0.00351587,0.00505406,0.0102839,0.0248308,0.0682957,0.12244,0.138965,0.113562, 0.115672,0.139316,0.126088,0.0745803,0.0266327,0.0122616,0.00711963,0.00487826,0.002764,0.00184583] - HLTBjetMon.SizeIP3D_EF = [20,-3.5,3.5,10,-3,3] + HLTBjetMon.SizeIP3D_EF = [20,-4,4,10,-3,3] HLTBjetMon.bIP3D_EF = [0.00106817,0,7.6298e-05,7.6298e-05,0.000114447,0.000190745,0.000152596,0.000114447,0.000419639,0.000686682, 0.00148781,3.8149e-05,7.6298e-05,0.000343341,0.000419639,0.000343341,0.000228894,0.000228894,0.000610384,0.00118262, 0.00206005,3.8149e-05,0.000305192,0.00038149,0.000801129,0.000495937,0.00110632,0.000724831,0.000572235,0.00232709, @@ -126,26 +71,20 @@ def TrigBjetMonitoringConfig(): 0.000747121,0,0.000219742,0,8.78966e-05,0,0.00026369,8.78966e-05,0.000307638,0.000131845] -############# Taken out by EN on May 1st 2014 since class LvL1Flags has been suppressed by others recently -# if (TriggerFlags.triggerMenuSetup() in Lvl1Flags.PPv2Menus() or TriggerFlags.triggerMenuSetup() in Lvl1Flags.PPv3Menus()): -# HLTBjetMon.TriggerChainBjet = ["EF_b10_IDTrkNoCut","EF_b10_j30_a4tc_EFFS_IDTrkNoCut"] -# HLTBjetMon.TriggerChainL2Bjet = ["EF_b10_IDTrkNoCut","EF_b10_j30_a4tc_EFFS_IDTrkNoCut"] -# HLTBjetMon.TriggerChainMujet = ["EF_mu4_L1J10_matched", "EF_mu4_L1J20_matched", "EF_mu4_L1J30_matched", -# "EF_mu4_L1J50_matched", "EF_mu4_L1J75_matched", "EF_mu4_j10_a4tc_EFFS", -# "EF_mu4_j135_a4tc_EFFS_L1matched", "EF_mu4_j180_a4tc_EFFS_L1matched"] -# HLTBjetMon.Menu_ppV0 = 3 -# else: -# HLTBjetMon.TriggerChainBjet = ["EF_b55_NoCut_j55_a4tchad"] -# HLTBjetMon.TriggerChainL2Bjet = ["L2_b50_NoCut_j50_c4cchad"] -# HLTBjetMon.TriggerChainMujet = ["EF_mu4T_j55_a4tchad_matched", "EF_mu4T_j55_a4tchad_L2FS_matched"] -# HLTBjetMon.TriggerChainMujet_phys = ["EF_mu4T_j15_a4tchad_matched", "EF_mu4T_j25_a4tchad_matched", "EF_mu4T_j35_a4tchad_matched", -# "EF_mu4T_j55_a4tchad_matched", "EF_mu4T_j80_a4tchad_matched", "EF_mu4T_j110_a4tchad_matched", -# "EF_mu4T_j145_a4tchad_matched", "EF_mu4T_j180_a4tchad_matched", "EF_mu4T_j220_a4tchad_matched", -# "EF_mu4T_j280_a4tchad_matched"] -# HLTBjetMon.Menu_ppV0 = 4 - -############# end of update by EN +# Used for MC + HLTBjetMon.TriggerChainBjet = ["HLT_j55_bperf_EFID"] + +# Used in cosmics +# HLTBjetMon.TriggerChainBjet = ["HLT_j0_perf_bperf_L1RD0_EMPTY"] +# HLTBjetMon.TriggerChainBjet = ["HLT_j0_perf_bperf_L1J12"] +# HLTBjetMon.TriggerChainBjet = ["HLT_j0_perf_bperf_L1MU10"] + +# Dummy to use the code + HLTBjetMon.TriggerChainMujet = ["EF_mu4_L1J10_matched", "EF_mu4_L1J20_matched", "EF_mu4_L1J30_matched", + "EF_mu4_L1J50_matched", "EF_mu4_L1J75_matched", "EF_mu4_j10_a4tc_EFFS", + "EF_mu4_j135_a4tc_EFFS_L1matched", "EF_mu4_j180_a4tc_EFFS_L1matched"] + HLTBjetMon.TriggerChainMujet_phys = ["EF_mu4T_j15_a4tchad_matched", "EF_mu4T_j25_a4tchad_matched"] from AthenaCommon.AppMgr import ToolSvc ToolSvc += HLTBjetMon; diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/BjetLikelihoodMon.cxx b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/BjetLikelihoodMon.cxx index 794b015db4db270769ef2e08695c3010a61da1c7..b5f74a4427ea5d7e6631d66126a92587a16f4ef9 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/BjetLikelihoodMon.cxx +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/BjetLikelihoodMon.cxx @@ -58,130 +58,6 @@ BjetLikelihoodMon::~BjetLikelihoodMon() { //** ----------------------------------------------------------------------------------------------------------------- **// -bool BjetLikelihoodMon::l2TrackSel(const TrigInDetTrack*& track, unsigned int i, float zv) { -//bool BjetLikelihoodMon::l2TrackSel(const TrigInDetTrackCollection*& track, unsigned int i, float zv) { - if(m_bjetMon->m_useEtaPhiTrackSel) { - - if (fabs(track->param()->eta()-m_etaRoI) > 0.2) { - - *m_log << MSG::VERBOSE << "l2TrackSel method" << endreq; - *m_log << MSG::VERBOSE << " Track number " << i+1 << " is not selected (eta matching)" << endreq;; - - m_bjetMon->m_listCutAppliedLikelihood.push_back(2); - return false; - } - - if (fabs(m_taggerHelper->phiCorr(m_taggerHelper->phiCorr(track->param()->phi0())-m_taggerHelper->phiCorr(m_phiRoI))) > 0.2) { - - *m_log << MSG::VERBOSE << "l2TrackSel method" << endreq; - *m_log << MSG::VERBOSE << " Track number " << i+1 << " is not selected (phi matching)" << endreq;; - - m_bjetMon->m_listCutAppliedLikelihood.push_back(3); - return false; - } - } - - float d0 = track->param()->a0(); - float z0 = track->param()->z0(); - m_taggerHelper->IPCorr(track->param()->a0(),track->param()->z0(), d0, z0, track->param()->phi0(), track->param()->eta(), track->param()->pT(), m_xBeamSpot, m_yBeamSpot); - - *m_log << MSG::VERBOSE << "l2TrackSel method" << endreq; - *m_log << MSG::VERBOSE << " Track number " << i+1 << " to be selected must be:" << endreq; - *m_log << MSG::VERBOSE << " Pt " << track->param()->pT() << " >= " << m_bjetMon->m_l2TrkSelPt << endreq; - *m_log << MSG::VERBOSE << " d0 " << fabs(d0) << " <= " << m_bjetMon->m_l2TrkSelD0 << endreq; - *m_log << MSG::VERBOSE << " z0 " << fabs(z0-zv) << " <= " << m_bjetMon->m_l2TrkSelZ0 << endreq; - - if (track->siSpacePoints()) { - *m_log << MSG::VERBOSE << " SiHit " << (int)track->siSpacePoints()->size() << " >= " << m_bjetMon->m_l2TrkSelSiHits << endreq; - *m_log << MSG::VERBOSE << " isBLayer " << ((*track->siSpacePoints())[0]->layer() == 0 ? "1" : "0") << " = 0" << endreq; - - *m_log << MSG::VERBOSE << " Prob(chi2) " << TMath::Prob(track->chi2(),(int)track->siSpacePoints()->size()*3-5) << " > " << m_bjetMon->m_l2TrkSelChi2 << endreq; - } - - else{ - *m_log << MSG::VERBOSE << " SiHit " << (track->NSCT_SpacePoints()+track->NPixelSpacePoints()) << " >= " << m_bjetMon->m_l2TrkSelSiHits << endreq; - *m_log << MSG::VERBOSE << " isBLayer " << ((track->HitPattern() & 0x1) == 0 ? "1" : "0") << " = 0" << endreq; - *m_log << MSG::VERBOSE << " Prob(chi2) " << TMath::Prob(track->chi2(),(track->NSCT_SpacePoints()+track->NPixelSpacePoints())*3-5) << " > " << m_bjetMon->m_l2TrkSelChi2 << endreq; - - } - if (fabs(track->param()->pT()) < m_bjetMon->m_l2TrkSelPt) { - - *m_log << MSG::VERBOSE << " track is not selected (pT cut)" << endreq; - - m_bjetMon->m_listCutAppliedLikelihood.push_back(4); - return false; - } - if (fabs(d0) > m_bjetMon->m_l2TrkSelD0) { - - *m_log << MSG::VERBOSE << " track is not selected (d0 cut)" << endreq; - - m_bjetMon->m_listCutAppliedLikelihood.push_back(5); - return false; - } - if (fabs(z0-zv) > m_bjetMon->m_l2TrkSelZ0) { - - *m_log << MSG::VERBOSE << " track is not selected (z0 cut)" << endreq; - - m_bjetMon->m_listCutAppliedLikelihood.push_back(6); - return false; - } - - if (track->siSpacePoints()) { - - if ((*track->siSpacePoints())[0]->layer()) { - - *m_log << MSG::VERBOSE << " track is not selected (missing b-layer hit)" << endreq; - - m_bjetMon->m_listCutAppliedLikelihood.push_back(7); - return false; - } - - if ((int)track->siSpacePoints()->size() < m_bjetMon->m_l2TrkSelSiHits) { - - *m_log << MSG::VERBOSE << " track is not selected (too few silicon hits)" << endreq; - - m_bjetMon->m_listCutAppliedLikelihood.push_back(9); - return false; - } - if (TMath::Prob(track->chi2(),(int)track->siSpacePoints()->size()*3-5) <= m_bjetMon->m_l2TrkSelChi2) { - - *m_log << MSG::VERBOSE << " track is not selected (chi2 cut)" << endreq; - - m_bjetMon->m_listCutAppliedLikelihood.push_back(10); - return false; - } - } - else { - if ((track->HitPattern() & 0x1)) { - - *m_log << MSG::VERBOSE << " track is not selected (missing b-layer hit)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(7); - return false; - } - if ( (track->NSCT_SpacePoints()+track->NPixelSpacePoints())< m_bjetMon->m_l2TrkSelSiHits) { - - *m_log << MSG::VERBOSE << " track is not selected (too few silicon hits)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(8); - return false; - } - if (TMath::Prob(track->chi2(),(track->NSCT_SpacePoints()+track->NPixelSpacePoints())*3-5) <= m_bjetMon->m_l2TrkSelChi2) { - - *m_log << MSG::VERBOSE << " track is not selected (chi2 cut)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(9); - return false; - } - } - *m_log << MSG::VERBOSE << " track is selected" << endreq; - - m_bjetMon->m_listCutAppliedLikelihood.push_back(11); - return true; - } - - -//** ----------------------------------------------------------------------------------------------------------------- **// bool BjetLikelihoodMon::efTrackSel(const Rec::TrackParticle*& track, unsigned int i, float zv) { @@ -334,187 +210,6 @@ void BjetLikelihoodMon::getLikelihoodTag() { //** ----------------------------------------------------------------------------------------------------------------- **// -void BjetLikelihoodMon::getLikelihoodTag(const TrigInDetTrackCollection*& pointerToL2TrackCollections, - float m_prmvtx, - const ToolHandle<ITrigTrackJetFinderTool> m_trackJetFinderTool) { - - *m_log << MSG::DEBUG << "Executing BjetLikelihoodMon::getLikelihoodTag" << endreq; - - m_zPrmVtx = 0; - - //* Initialize m_taggersWMap (tagger string <-> float W) *// - m_taggersWMap["IP1D"] = 1; m_taggersWMap["IP2D"] = 1; m_taggersWMap["IP3D"] = 1; - - //* Initialize m_taggersXMap (tagger string <-> float X) *// - m_taggersXMap["IP1D"] = -1; m_taggersXMap["IP2D"] = -1; m_taggersXMap["IP3D"] = -1; - - //* TrigTrackJetFinderTool *// - m_trackJetFinderTool->clear(); - - //* Get tracks number *// - m_totTracks = m_taggerHelper->getTrackNumber(pointerToL2TrackCollections); - - //const TrigVertex* prmVertex = (*pointerToPrmVtxCollections)[0]; - // m_zPrmVtx = prmVertex->z(); - m_zPrmVtx = m_prmvtx; - - //* Beam spot shift *// - m_xBeamSpot = 0, m_yBeamSpot = 0; - - m_xBeamSpot = m_bjetMon->m_xBeamSpot; - m_yBeamSpot = m_bjetMon->m_yBeamSpot; - - //* Perform track selection *// - std::vector<bool> isSelected(m_totTracks); - - for (unsigned int j = 0; j < m_totTracks; j++) { - - const TrigInDetTrack* track = (*pointerToL2TrackCollections)[j]; - m_taggerHelper->showParam(track, j); - - //* for monitoring purposes *// - m_bjetMon->m_mon_l2_trk_a0.push_back(track->param()->a0()); - m_bjetMon->m_mon_l2_trk_z0.push_back(track->param()->z0()); - - if (l2TrackSel(track, j, m_zPrmVtx)) isSelected[j] = true; - - //* for monitoring purposes *// - m_bjetMon->m_mon_l2_trk_a0_sel.push_back(track->param()->a0()); - m_bjetMon->m_mon_l2_trk_z0_sel.push_back(track->param()->z0()); - m_bjetMon->m_mon_l2_trk_z0_sel_PV.push_back(track->param()->z0()-m_zPrmVtx); - - } - - if (m_bjetMon->m_jetDirection) { - - *m_log << MSG::DEBUG << "Computing jet direction in BjetLikelihoodMon at LVL2." << endreq; - - //* Primary vertex in TrigTrackJetFinderTool *// - m_trackJetFinderTool->inputPrimaryVertexZ(m_zPrmVtx); - - //* Loop on tracks to add tracks to TrigTrackJetFinderTool *// - for (unsigned int j = 0; j < m_totTracks; j++) { - const TrigInDetTrack* track = (*pointerToL2TrackCollections)[j]; - if (!isSelected[j]) continue; - - m_trackJetFinderTool->addTrack(track, j); - } - - std::vector<int> tracksTrackJet; - float etaTrackJet, phiTrackJet; - - //* Find jet direction *// - m_trackJetFinderTool->findJet(tracksTrackJet, etaTrackJet, phiTrackJet); - - if (etaTrackJet != -99 && phiTrackJet != -99) { - - *m_log << MSG::DEBUG << "eta RoI = " << m_etaRoI << " ; eta Jet at L2 = " << etaTrackJet << endreq; - *m_log << MSG::DEBUG << "phi RoI = " << m_phiRoI << " ; phi Jet at L2 = " << phiTrackJet << endreq; - - m_etaRoI = etaTrackJet; m_phiRoI = phiTrackJet; - - } else - *m_log << MSG::DEBUG << "eta Jet = eta RoI, phi Jet = phi RoI" << endreq; - } - - std::vector<std::string>::iterator pTagger = m_bjetMon->m_taggers.begin(); - std::vector<std::string>::iterator lastTagger = m_bjetMon->m_taggers.end(); - - m_totSelTracks = 0; - - //* Loop over tracks to calculate W *// - for (unsigned int j = 0; j < m_totTracks; j++) { - - const TrigInDetTrack* track = (*pointerToL2TrackCollections)[j]; - if (!isSelected[j]) continue; - - m_totSelTracks++; - - float w=1; - - float errIP1D, errIP2D; - float z0, z0Sign, d0, d0Sign, phiTrack=0, etaTrack=0; - - if (m_bjetMon->m_useErrIPParam) { - errIP1D = getIP1DErr(track->param()->eta()); - errIP2D = getIP2DErr(track->param()->pT()); - } else { - errIP1D = track->param()->ez0(); - errIP2D = track->param()->ea0(); - } - - d0 = track->param()->a0(); - z0 = track->param()->z0(); - phiTrack = track->param()->phi0(); - etaTrack = track->param()->eta(); - - m_taggerHelper->IPCorr(track->param()->a0(), track->param()->z0(), d0, z0, phiTrack, etaTrack, track->param()->pT(), m_xBeamSpot, m_yBeamSpot); - - z0 = z0 - m_zPrmVtx; - d0Sign = m_taggerHelper->signedD0(d0, phiTrack, m_phiRoI); - z0Sign = m_taggerHelper->signedZ0(z0, etaTrack, m_etaRoI); - - float m_sigmaBeamSpot; - m_sigmaBeamSpot = (m_bjetMon->m_sigmaX+m_bjetMon->m_sigmaY)/2; - - pTagger = m_bjetMon->m_taggers.begin(); - - for ( ; pTagger != lastTagger; pTagger++) { - - if ((*pTagger).find("IP") == std::string::npos) - continue; - - if (!j) - *m_log << MSG::DEBUG << "Calculating " << (*pTagger) << " likelihood weight" << endreq; - - if ((*pTagger) == "IP1D") { - - m_IP1D = z0Sign/sqrt(errIP1D*errIP1D); - w = getW("L2_IP1D", scaleVar(m_IP1D)); - - } else if ((*pTagger) == "IP2D") { - - m_IP2D = d0Sign/sqrt(errIP2D*errIP2D + m_sigmaBeamSpot*m_sigmaBeamSpot); - w = getW("L2_IP2D", scaleVar(m_IP2D)); - - } else if ((*pTagger) == "IP3D") { - - m_IP1D = z0Sign/sqrt(errIP1D*errIP1D); - m_IP2D = d0Sign/sqrt(errIP2D*errIP2D + m_sigmaBeamSpot*m_sigmaBeamSpot); - w = getW("L2_IP3D", scaleVar(m_IP2D), scaleVar(m_IP1D)); - - //* for monitoring purposes *// - m_bjetMon->m_mon_l2_trk_Sa0_sel.push_back(m_IP1D); - m_bjetMon->m_mon_l2_trk_Sz0_sel.push_back(m_IP2D); - - } - - m_taggersWMap[(*pTagger)]*= w; - - *m_log << MSG::VERBOSE << "---> w(" << (*pTagger) << ") = " << w - << "; W(" << (*pTagger) << ") = " << m_taggersWMap[(*pTagger)] << endreq; - } - } - - pTagger = m_bjetMon->m_taggers.begin(); - - if (!m_totSelTracks) { - - for ( ; pTagger != lastTagger; pTagger++) - m_taggersXMap[(*pTagger)] = -0.3; - - } else { - - for ( ; pTagger != lastTagger; pTagger++) - m_taggersXMap[(*pTagger)] = getX(m_taggersWMap[(*pTagger)]); - - } - - return; -} - - -//** ----------------------------------------------------------------------------------------------------------------- **// void BjetLikelihoodMon::getLikelihoodTag(const Rec::TrackParticleContainer*& pointerToEFTrackCollections, diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/BjetProbabilityMon.cxx b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/BjetProbabilityMon.cxx index f51fa933f998b448b66ba907a734e022e2c5b95d..c648119804173a06d582d396a8410f0a9a79ae68 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/BjetProbabilityMon.cxx +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/BjetProbabilityMon.cxx @@ -58,22 +58,12 @@ float BjetProbabilityMon::f_ip(float x, int algo, int iclass) { float* p = 0; + if (algo != 6) *m_log << MSG::INFO << " BjetProbabilityMon::f_ip algo " << algo << " doesn't corresponf to EF tracks ! " << endreq; + if (iclass==0){ - if (algo==1){ - p = &m_bjetMon->m_par_L2Si0[0]; - } else if (algo==2){ - p = &m_bjetMon->m_par_L2Id0[0]; - } else { - p = &m_bjetMon->m_par_EF0[0]; - } + p = &m_bjetMon->m_par_EF0[0]; } else if (iclass==1){ - if (algo==1){ - p = &m_bjetMon->m_par_L2Si1[0]; - } else if (algo==2){ - p = &m_bjetMon->m_par_L2Id1[0]; - } else { - p = &m_bjetMon->m_par_EF1[0]; - } + p = &m_bjetMon->m_par_EF1[0]; } float y1 = p[2]*p[3]*erfc(fabs(x)/(sqrt(2)*p[3])); @@ -89,130 +79,6 @@ float BjetProbabilityMon::f_ip(float x, int algo, int iclass) { //** ----------------------------------------------------------------------------------------------------------------- **// -bool BjetProbabilityMon::l2TrackSel(const TrigInDetTrack*& track, unsigned int i, float zv) { - - if(m_bjetMon->m_useEtaPhiTrackSel) { - - if (fabs(track->param()->eta()-m_etaRoI) > 0.2) { - - *m_log << MSG::VERBOSE << "l2TrackSel method" << endreq; - *m_log << MSG::VERBOSE << " Track number " << i+1 << " is not selected (eta matching)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(2); - return false; - } - - if (fabs(m_taggerHelper->phiCorr(m_taggerHelper->phiCorr(track->param()->phi0())-m_taggerHelper->phiCorr(m_phiRoI))) > 0.2) { - - *m_log << MSG::VERBOSE << "l2TrackSel method" << endreq; - *m_log << MSG::VERBOSE << " Track number " << i+1 << " is not selected (phi matching)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(3); - return false; - } - } - - float d0 = track->param()->a0(); - float z0 = track->param()->z0(); - m_taggerHelper->IPCorr(track->param()->a0(),track->param()->z0(), d0, z0, track->param()->phi0(), track->param()->eta(), track->param()->pT(), m_xBeamSpot, m_yBeamSpot); - - *m_log << MSG::VERBOSE << "l2TrackSel method" << endreq; - *m_log << MSG::VERBOSE << " Track number " << i+1 << " to be selected must be:" << endreq; - *m_log << MSG::VERBOSE << " Pt " << track->param()->pT() << " >= " << m_bjetMon->m_l2TrkSelPt << endreq; - *m_log << MSG::VERBOSE << " d0 " << fabs(d0) << " <= " << m_bjetMon->m_l2TrkSelD0 << endreq; - *m_log << MSG::VERBOSE << " z0 " << fabs(z0-zv) << " <= " << m_bjetMon->m_l2TrkSelZ0 << endreq; -if (track->siSpacePoints()) { - - *m_log << MSG::VERBOSE << " SiHit " << (int)track->siSpacePoints()->size() << " >= " << m_bjetMon->m_l2TrkSelSiHits << endreq; - *m_log << MSG::VERBOSE << " isBLayer " << ((*track->siSpacePoints())[0]->layer() == 0 ? "1" : "0") << " = 0" << endreq; - *m_log << MSG::VERBOSE << " Prob(chi2) " << TMath::Prob(track->chi2(),(int)track->siSpacePoints()->size()*3-5) << " > " << m_bjetMon->m_l2TrkSelChi2 << endreq; - - } - else{ - *m_log << MSG::VERBOSE << " SiHit " << (track->NSCT_SpacePoints()+track->NPixelSpacePoints()) << " >= " << m_bjetMon->m_l2TrkSelSiHits << endreq; - *m_log << MSG::VERBOSE << " isBLayer " << ((track->HitPattern() & 0x1) == 0 ? "1" : "0") << " = 0" << endreq; - *m_log << MSG::VERBOSE << " Prob(chi2) " << TMath::Prob(track->chi2(),(track->NSCT_SpacePoints()+track->NPixelSpacePoints())*3-5) << " > " << m_bjetMon->m_l2TrkSelChi2 << endreq; - - } - - if (fabs(track->param()->pT()) < m_bjetMon->m_l2TrkSelPt) { - - *m_log << MSG::VERBOSE << " track is not selected (pT cut)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(4); - return false; - } - if (fabs(d0) > m_bjetMon->m_l2TrkSelD0) { - - *m_log << MSG::VERBOSE << " track is not selected (d0 cut)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(5); - return false; - } - if (fabs(z0-zv) > m_bjetMon->m_l2TrkSelZ0) { - - *m_log << MSG::VERBOSE << " track is not selected (z0 cut)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(6); - return false; - } - if (track->siSpacePoints()) { - - if ((*track->siSpacePoints())[0]->layer()) { - - *m_log << MSG::VERBOSE << " track is not selected (missing b-layer hit)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(7); - return false; - } - if ((int)track->siSpacePoints()->size() < m_bjetMon->m_l2TrkSelSiHits) { - - *m_log << MSG::VERBOSE << " track is not selected (too few silicon hits)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(8); - return false; - } - if (TMath::Prob(track->chi2(),(int)track->siSpacePoints()->size()*3-5) <= m_bjetMon->m_l2TrkSelChi2) { - - *m_log << MSG::VERBOSE << " track is not selected (chi2 cut)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(9); - return false; - } - } - else { - if ((track->HitPattern() & 0x1)) { - - *m_log << MSG::VERBOSE << " track is not selected (missing b-layer hit)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(7); - return false; - } - if ( (track->NSCT_SpacePoints()+track->NPixelSpacePoints())< m_bjetMon->m_l2TrkSelSiHits) { - - *m_log << MSG::VERBOSE << " track is not selected (too few silicon hits)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(8); - return false; - } - if (TMath::Prob(track->chi2(),(track->NSCT_SpacePoints()+track->NPixelSpacePoints())*3-5) <= m_bjetMon->m_l2TrkSelChi2) { - - *m_log << MSG::VERBOSE << " track is not selected (chi2 cut)" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(9); - return false; - } - } - - - *m_log << MSG::VERBOSE << " track is selected" << endreq; - - m_bjetMon->m_listCutAppliedProbability.push_back(10); - return true; -} - - -//** ----------------------------------------------------------------------------------------------------------------- **// bool BjetProbabilityMon::efTrackSel(const Rec::TrackParticle*& track, unsigned int i, float zv) { @@ -335,92 +201,6 @@ void BjetProbabilityMon::getProbabilityTag() { //** ----------------------------------------------------------------------------------------------------------------- **// -void BjetProbabilityMon::getProbabilityTag(const TrigInDetTrackCollection*& pointerToL2TrackCollections, - //const TrigVertexCollection*& pointerToPrmVtxCollections, - float m_prmvtx, - const ToolHandle<ITrigTrackJetFinderTool> m_trackJetFinderTool) { - - *m_log << MSG::DEBUG << "Executing BjetProbabilityMon::getProbabilityTag" << endreq; - - //* Initialize m_taggersXMap (tagger string <-> float X) *// - m_taggersXMap["CHI2"] = -1; - - //* TrigTrackJetFinderTool *// - m_trackJetFinderTool->clear(); - - //* Get tracks number *// - m_totTracks = m_taggerHelper->getTrackNumber(pointerToL2TrackCollections); - - m_zPrmVtx = m_prmvtx; - m_trackJetFinderTool->inputPrimaryVertexZ(m_zPrmVtx); - - //* Beam spot shift *// - m_xBeamSpot = 0, m_yBeamSpot = 0; - - m_xBeamSpot = m_bjetMon->m_xBeamSpot; - m_yBeamSpot = m_bjetMon->m_yBeamSpot; - - m_totSelTracks = 0; - - //* Loop on tracks to add tracks to TrigTrackJetFinderTool *// - for (unsigned int j = 0; j < m_totTracks; j++) { - - const TrigInDetTrack* track = (*pointerToL2TrackCollections)[j]; - - m_taggerHelper->showParam(track, j); - - //m_bjetMon->m_mon_l2_trk_a0.push_back(track->param()->a0()); - //m_bjetMon->m_mon_l2_trk_z0.push_back(track->param()->z0()); - - if (!l2TrackSel(track, j, m_zPrmVtx)) continue; - - //m_bjetMon->m_mon_l2_trk_a0_sel.push_back(track->param()->a0()); - //m_bjetMon->m_mon_l2_trk_z0_sel.push_back(track->param()->z0()); - //m_bjetMon->m_mon_l2_trk_z0_sel_PV.push_back(track->param()->z0()-m_zPrmVtx); - - m_totSelTracks++; - - m_trackJetFinderTool->addTrack(track, j); - } - - std::vector<int> tracksTrackJet; - float etaTrackJet=0, phiTrackJet=0; - - //* Find jet direction *// - m_trackJetFinderTool->findJet(tracksTrackJet, etaTrackJet, phiTrackJet); - - setJetPhi(phiTrackJet); - - for(unsigned int i=0; i<tracksTrackJet.size(); i++) { - int id = tracksTrackJet[i]; - const TrigInDetTrack* track = (*pointerToL2TrackCollections)[id]; - addTrack(track); - } - - float prob; - - if(tracksTrackJet.size()<1) { - prob=1.0; - } else { - int n=0; - getPositiveJetProb(prob,n); - if (n==0) prob=1.0; - } - - float val = 1.-prob; - if (val>=1) val = 0.999; - if (val<=0) val = 0.001; - - if (!m_totSelTracks) - m_taggersXMap["CHI2"] = -0.3; - else - m_taggersXMap["CHI2"] = val; - - return; -} - - -//** ----------------------------------------------------------------------------------------------------------------- **// void BjetProbabilityMon::getProbabilityTag(const Rec::TrackParticleContainer*& pointerToEFTrackCollections, @@ -525,30 +305,6 @@ void BjetProbabilityMon::setJetPhi(float jetPhi) { //** ----------------------------------------------------------------------------------------------------------------- **// -void BjetProbabilityMon::addTrack(const TrigInDetTrack*& track) { - - float d0,z0; - m_taggerHelper->IPCorr(track->param()->a0(), track->param()->z0(),d0,z0,track->param()->phi0(),track->param()->eta(), track->param()->pT(), m_xBeamSpot, m_yBeamSpot); - - float phi0 = track->param()->phi0(); - float signed_d0 = m_taggerHelper->signedD0(d0, phi0, m_jetPhi); - float sign = signed_d0/TMath::Abs(d0); - - float p = getTrackProbability(track); - - //* for monitoring purposes *// - m_bjetMon->m_mon_l2_trk_prob.push_back(p); - - float dphi = phi0 - m_jetPhi; - if(dphi>TMath::Pi()) dphi -= TMath::TwoPi(); - if(dphi<-TMath::Pi()) dphi += TMath::TwoPi(); - - if(sign>=0 && p>=0) {m_PI_pos *= p; m_n_pos++;} - if(sign<0 && p>=0) {m_PI_neg *= p; m_n_neg++;} -} - - -//** ----------------------------------------------------------------------------------------------------------------- **// void BjetProbabilityMon::addTrack(const Rec::TrackParticle*& track) { @@ -578,43 +334,6 @@ void BjetProbabilityMon::addTrack(const Rec::TrackParticle*& track) { } -//** ----------------------------------------------------------------------------------------------------------------- **// - - -float BjetProbabilityMon::getTrackProbability(const TrigInDetTrack*& track) { - - float p = -1.0; - - float d0,z0; - m_taggerHelper->IPCorr(track->param()->a0(), track->param()->z0(), d0, z0, track->param()->phi0(), track->param()->eta(), track->param()->pT(), m_xBeamSpot, m_yBeamSpot); - - float phi0 = track->param()->phi0(); - float signed_d0 = m_taggerHelper->signedD0(d0, phi0, m_jetPhi); - - float pscat = pScat(track); - int nSiHits; - if (track->siSpacePoints()) { - nSiHits = (int)track->siSpacePoints()->size(); - } - else nSiHits = track->NSCT_SpacePoints()+track->NPixelSpacePoints(); - - float d0_error; - if (m_bjetMon->m_useErrIPParam) - d0_error = d0Error(pscat, nSiHits); - else - d0_error = track->param()->ea0(); - - float m_sigmaBeamSpot; - m_sigmaBeamSpot = (m_bjetMon->m_sigmaX+m_bjetMon->m_sigmaY)/2; - - float ip = TMath::Abs(signed_d0/sqrt(d0_error*d0_error + m_sigmaBeamSpot*m_sigmaBeamSpot)); - if(ip <= m_maxIP) { - if(nSiHits < 7) p = f_ip(-ip,track->algorithmId(),0); - if(nSiHits >= 7) p = f_ip(-ip,track->algorithmId(),1); - } else p = 0.0001; - - return p; -} //** ----------------------------------------------------------------------------------------------------------------- **// diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx index 89ed2fb931ceca410c6d0d61180626565b27d176..7c48f2eb30d0654832051bb26f6df68f50e6feef 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/HLTBjetMonTool.cxx @@ -28,8 +28,6 @@ #include "GeoPrimitives/GeoPrimitives.h" -#include "TrigParticle/TrigL2Bjet.h" -#include "TrigParticle/TrigL2BjetContainer.h" #include "TrigParticle/TrigEFBjet.h" #include "TrigParticle/TrigEFBjetContainer.h" @@ -68,48 +66,26 @@ namespace Analysis { class MuonContainer; } HLTBjetMonTool::HLTBjetMonTool(const std::string & type, const std::string & name, const IInterface* parent) : IHLTMonTool(type, name, parent), m_trackJetFinderTool("TrigTrackJetFinderTool"), - m_likelihood_L2(0), m_likelihood_EF(0), - m_probability_L2(0), m_probability_EF(0), - m_tuningLikelihoodIP1D_L2(0), - m_tuningLikelihoodIP2D_L2(0), - m_tuningLikelihoodIP3D_L2(0), m_tuningLikelihoodIP1D_EF(0), m_tuningLikelihoodIP2D_EF(0), m_tuningLikelihoodIP3D_EF(0), - m_constLikelihood_L2(0), m_constLikelihood_EF(0), m_xBeamSpot(0), m_yBeamSpot(0), - m_prmVtxL2Bj(0), m_prmVtxEFBj(0) { declareProperty ("Taggers", m_taggers); declareProperty ("TriggerChainBjet", m_TriggerChainBjet); - declareProperty ("TriggerChainL2Bjet", m_TriggerChainL2Bjet); declareProperty ("TriggerChainMujet", m_TriggerChainMujet); declareProperty ("TriggerChainMujet_phys", m_TriggerChainMujet_phys); declareProperty ("Menu_ppV0", m_Menu_ppV0); - declareProperty ("par_L2Si0", m_par_L2Si0); - declareProperty ("par_L2Si1", m_par_L2Si1); - declareProperty ("par_L2Id0", m_par_L2Id0); - declareProperty ("par_L2Id1", m_par_L2Id1); declareProperty ("par_EF0", m_par_EF0); declareProperty ("par_EF1", m_par_EF1); - declareProperty ("SizeIP1D_L2", m_sizeIP1D_L2); - declareProperty ("bIP1D_L2", m_bIP1D_L2); - declareProperty ("uIP1D_L2", m_uIP1D_L2); - declareProperty ("SizeIP2D_L2", m_sizeIP2D_L2); - declareProperty ("bIP2D_L2", m_bIP2D_L2); - declareProperty ("uIP2D_L2", m_uIP2D_L2); - declareProperty ("SizeIP3D_L2", m_sizeIP3D_L2); - declareProperty ("bIP3D_L2", m_bIP3D_L2); - declareProperty ("uIP3D_L2", m_uIP3D_L2); - declareProperty ("SizeIP1D_EF", m_sizeIP1D_EF); declareProperty ("bIP1D_EF", m_bIP1D_EF); declareProperty ("uIP1D_EF", m_uIP1D_EF); @@ -122,18 +98,10 @@ HLTBjetMonTool::HLTBjetMonTool(const std::string & type, const std::string & nam declareProperty ("UseErrIPParam", m_useErrIPParam = false); declareProperty ("JetDirection", m_jetDirection = true); - declareProperty ("L2PrmVtxAtEF", m_l2PrmVtxAtEF = true); declareProperty ("UseEtaPhiTrackSel", m_useEtaPhiTrackSel = false); declareProperty ("SetBeamSpotWidth", m_setBeamSpotWidth = 0.05); - declareProperty ("L2TrkSel_Chi2", m_l2TrkSelChi2 = 0.001); - declareProperty ("L2TrkSel_BLayer", m_l2TrkSelBLayer = 1); - declareProperty ("L2TrkSel_SiHits", m_l2TrkSelSiHits = 4); - declareProperty ("L2TrkSel_D0", m_l2TrkSelD0 = 1*CLHEP::mm); - declareProperty ("L2TrkSel_Z0", m_l2TrkSelZ0 = 2*CLHEP::mm); - declareProperty ("L2TrkSel_Pt", m_l2TrkSelPt = 2*CLHEP::GeV); - declareProperty ("EFTrkSel_Chi2", m_efTrkSelChi2 = 0.0); declareProperty ("EFTrkSel_BLayer", m_efTrkSelBLayer = 1); declareProperty ("EFTrkSel_PixHits", m_efTrkSelPixHits = 2); @@ -151,13 +119,8 @@ HLTBjetMonTool::HLTBjetMonTool(const std::string & type, const std::string & nam HLTBjetMonTool::~HLTBjetMonTool() { - if (m_likelihood_L2) delete m_likelihood_L2; if (m_likelihood_EF) delete m_likelihood_EF; - if (m_probability_L2) delete m_probability_L2; if (m_probability_EF) delete m_probability_EF; - if (m_tuningLikelihoodIP1D_L2) delete m_tuningLikelihoodIP1D_L2; - if (m_tuningLikelihoodIP2D_L2) delete m_tuningLikelihoodIP2D_L2; - if (m_tuningLikelihoodIP3D_L2) delete m_tuningLikelihoodIP3D_L2; if (m_tuningLikelihoodIP1D_EF) delete m_tuningLikelihoodIP1D_EF; if (m_tuningLikelihoodIP2D_EF) delete m_tuningLikelihoodIP2D_EF; if (m_tuningLikelihoodIP3D_EF) delete m_tuningLikelihoodIP3D_EF; @@ -170,20 +133,10 @@ HLTBjetMonTool::~HLTBjetMonTool() { StatusCode HLTBjetMonTool::init() { - m_likelihood_L2 = new BjetLikelihoodMon(this, m_log); m_likelihood_EF = new BjetLikelihoodMon(this, m_log); - m_probability_L2 = new BjetProbabilityMon(this, m_log); m_probability_EF = new BjetProbabilityMon(this, m_log); - m_tuningLikelihoodIP1D_L2 = new TuningLikelihood(&m_sizeIP1D_L2[0], &m_bIP1D_L2[0], &m_uIP1D_L2[0], m_sizeIP1D_L2.size()); - m_likelihood_L2->fillLikelihoodMap("L2_IP1D", m_tuningLikelihoodIP1D_L2); - - m_tuningLikelihoodIP2D_L2 = new TuningLikelihood(&m_sizeIP2D_L2[0], &m_bIP2D_L2[0], &m_uIP2D_L2[0], m_sizeIP2D_L2.size()); - m_likelihood_L2->fillLikelihoodMap("L2_IP2D", m_tuningLikelihoodIP2D_L2); - - m_tuningLikelihoodIP3D_L2 = new TuningLikelihood(&m_sizeIP3D_L2[0], &m_bIP3D_L2[0], &m_uIP3D_L2[0], m_sizeIP3D_L2.size()); - m_likelihood_L2->fillLikelihoodMap("L2_IP3D", m_tuningLikelihoodIP3D_L2); m_tuningLikelihoodIP1D_EF = new TuningLikelihood(&m_sizeIP1D_EF[0], &m_bIP1D_EF[0], &m_uIP1D_EF[0], m_sizeIP1D_EF.size()); m_likelihood_EF->fillLikelihoodMap("EF_IP1D", m_tuningLikelihoodIP1D_EF); @@ -197,9 +150,7 @@ StatusCode HLTBjetMonTool::init() { // m_tuningLikelihoodCOMB_EF = new TuningLikelihood(&m_sizeCOMB_EF[0], &m_bCOMB_EF[0], &m_uCOMB_EF[0], m_sizeCOMB_EF.size()); // m_likelihood_EF->fillLikelihoodMap("EF_COMB", m_tuningLikelihoodCOMB_EF); - m_constLikelihood_L2 = const_cast<const BjetLikelihoodMon*>(m_likelihood_L2); m_constLikelihood_EF = const_cast<const BjetLikelihoodMon*>(m_likelihood_EF); - m_constProbability_L2 = const_cast<const BjetProbabilityMon*>(m_probability_L2); m_constProbability_EF = const_cast<const BjetProbabilityMon*>(m_probability_EF); @@ -210,6 +161,8 @@ StatusCode HLTBjetMonTool::init() { } else *m_log << MSG::VERBOSE << "Retrieved tool " << m_trackJetFinderTool << endreq; + *m_log << MSG::INFO << "in HLTBjetMonTool::init - retrieved tool: " << m_trackJetFinderTool << endreq; + return StatusCode::SUCCESS; } @@ -225,7 +178,7 @@ StatusCode HLTBjetMonTool::proc(){ StatusCode HLTBjetMonTool::proc(bool endOfEventsBlock, bool endOfLumiBlock, bool endOfRun){ #endif - *m_log << MSG::VERBOSE<< "HLTBjetMonTool::proc" << endreq; + *m_log << MSG::INFO << "in HLTBjetMonTool::proc" << endreq; return StatusCode::SUCCESS; @@ -242,35 +195,31 @@ StatusCode HLTBjetMonTool::book(){ #endif - *m_log << MSG::VERBOSE<< "HLTBjetMonTool::book" << endreq; + *m_log << MSG::VERBOSE<< "HLTBjetMonTool::book" << endreq; + *m_log << MSG::INFO<< " entered HLTBjetMonTool::book" << endreq; - addMonGroup(new MonGroup(this,"HLT/BjetMon", run, ManagedMonitorToolBase::ATTRIB_MANAGED)); //EN + addMonGroup(new MonGroup(this,"HLT/BjetMon", run, ManagedMonitorToolBase::ATTRIB_MANAGED)); //EN - // int size_ChainBjet =m_TriggerChainBjet.size(); - + *m_log << MSG::INFO<< "in HLTBjetMonTool::book added directory HLT/BjetMon, run: " << run << " " << ManagedMonitorToolBase::ATTRIB_MANAGED << endreq; + + int size_ChainBjet = m_TriggerChainBjet.size(); + if (size_ChainBjet <= 0) { + *m_log << MSG::INFO << " ===> in HLTBjetMonTool: TriggerChainBjet has no size! Return " << endreq; + return StatusCode::FAILURE; + } std::string chainName; - std::string chainNameL2; - - if (m_Menu_ppV0==3){ - chainName = "EF_b10_IDTrkNoCut";//EF_b10_j30_a4tc_EFFS_IDTrkNoCut"; - chainNameL2 = "EF_b10_IDTrkNoCut";//EF_b10_j30_a4tc_EFFS_IDTrkNoCut"; - } else { - chainName = "EF_b55_NoCut_j55_a4tchad"; - chainNameL2 = "L2_b50_NoCut_j50_c4cchad";} - *m_log << MSG::DEBUG<< "BOOK IDTrkNoCut chain fired." << chainName<<endreq; + chainName = m_TriggerChainBjet.at(0); + + *m_log << MSG::INFO<< "in HLTBjetMonTool::book chainName used: " << chainName << endreq; + + *m_log << MSG::INFO<< "in HLTBjetMonTool::book newRun: " << newRun << endreq; if(newRun){ addMonGroup(new MonGroup(this,"HLT/BjetMon/Shifter", run, ManagedMonitorToolBase::ATTRIB_MANAGED)); //EN - - addHistogram(new TH1F("L2Bjet_XIP1D","IP1D tagger distribution at LVL2", 200, -10, 15)); - addHistogram(new TH1F("L2Bjet_XIP2D","IP2D tagger distribution at LVL2", 200, -10, 15)); - addHistogram(new TH1F("L2Bjet_XIP3D","IP3D tagger distribution at LVL2", 200, -10, 15)); - addHistogram(new TH1F("L2Bjet_XComb","COMB tagger distribution at LVL2", 200, -10, 15)); - addHistogram(new TH1F("L2Bjet_XCHI2","JetProb tagger distribution at LVL2", 100, -1, 1)); - addHistogram(new TH1F("L2Bjet_CounterXComb","Track Counter at LVL2 : XCOMB patological cases", 3, -1, 2)); - //addHistogram(new TH1F("L2Bjet_XSV","SV tagger distribution at LVL2", 2000, -50, 50)); + *m_log << MSG::INFO<< " in HLTBjetMonTool::book added directory HLT/BjetMon/Shifter, run: " << run << " " << ManagedMonitorToolBase::ATTRIB_MANAGED << endreq; + addHistogram(new TH1F("EFBjet_XIP1D","IP1D tagger distribution at EF", 200, -10, 15)); addHistogram(new TH1F("EFBjet_XIP2D","IP2D tagger distribution at EF", 200, -10, 15)); addHistogram(new TH1F("EFBjet_XIP3D","IP3D tagger distribution at EF", 200, -10, 15)); @@ -278,13 +227,19 @@ StatusCode HLTBjetMonTool::book(){ addHistogram(new TH1F("EFBjet_XCHI2","JetProb tagger distribution at EF", 100, -1, 1)); addHistogram(new TH1F("EFBjet_CounterXComb","Track Counter at EF : XCOMB patological cases", 3, -1, 2)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XCHI2").c_str()),"JetProb tagger distribution at LVL2 using IDTrkNoCut chain", 100, -1, 1)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_XCHI2").c_str()),"JetProb tagger distribution at EF using IDTrkNoCut chain", 100, -1, 1)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XComb").c_str()),"IP3D+SV1 tagger distribution at LVL2 using IDTrkNoCut chain", 200, -10, 15)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_XComb").c_str()),"IP3D+SV1 tagger distribution at EF using IDTrkNoCut chain", 200, -10, 15)); + *m_log << MSG::INFO<< " in HLTBjetMonTool::book added directory HLT/BjetMon/Shifter histograms booked " << endreq; + addMonGroup(new MonGroup(this,"HLT/BjetMon/mu-jet", run, ManagedMonitorToolBase::ATTRIB_MANAGED)); //EN + *m_log << MSG::INFO<< " in HLTBjetMonTool::book added directory HLT/BjetMon/mu-jet, run: " << run << " " << ManagedMonitorToolBase::ATTRIB_MANAGED << endreq; + + *m_log << MSG::INFO<< " in HLTBjetMonTool::book - m_TriggerChainMujet.at(1): " << m_TriggerChainMujet.at(1) << endreq; + + + addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)).c_str()),const_cast<char*>((m_TriggerChainMujet.at(1)+" versus offline jet pT").c_str()),300,0,300000)); // addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(2)).c_str()),const_cast<char*>((m_TriggerChainMujet.at(2)+" versus offline jet pT").c_str()),300,0,300000)); // addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(3)).c_str()),const_cast<char*>((m_TriggerChainMujet.at(3)+" versus offline jet pT").c_str()),300,0,300000)); @@ -295,31 +250,13 @@ StatusCode HLTBjetMonTool::book(){ // addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(7)).c_str()),const_cast<char*>((m_TriggerChainMujet.at(7)+" versus offline jet pT").c_str()),300,0,300000)); // addHistogram(new TH1F("MuJet_ALL","All mu-jet trigger versus offline jet pT",300,0,300000)); - addHistogram(new TH1F("NumOffMuJet","Number of online mu-jets matched offline",10,0,10)); - addHistogram(new TH1F("MuJet_ALL","All mu-jet trigger versus offline jet pT",300,0,300000)); + addHistogram(new TH1F("NumOffMuJet","Number of online mu-jets matched offline",10,0,10)); + addHistogram(new TH1F("MuJet_ALL","All mu-jet trigger versus offline jet pT",300,0,300000)); + + ///************ COMB **********// - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XComb").c_str()),"Comb tagger distribution at LVL2", 200, -10, 15)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XIP3D").c_str()),"IP3D tagger distribution at L2", 200, -10, 15)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XSV0").c_str()),"SV0 tagger distribution at L2", 200, -1, 15)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XMVtx").c_str()),"MVtx distribution at L2", 200, -1, 5000)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XNVtx").c_str()),"NVtx distribution at L2", 21, -1, 20)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XEVtx").c_str()),"EVtx distribution at L2", 100, 0, 1.2)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_CounterXComb").c_str()),"Track Counter at LVL2 : XComb patological cases", 3, -1, 2)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_CounterXSV").c_str()),"Track Counter at LVL2 : XSV patological cases", 3, -1, 2)); - - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XComb").c_str()),"Comb tagger distribution at LVL2", 200, -10, 15)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XIP3D").c_str()),"IP3D tagger distribution at L2", 200, -10, 15)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XSV0").c_str()),"SV0 tagger distribution at L2", 200, -1, 15)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XMVtx").c_str()),"MVtx distribution at L2", 200, -1, 5000)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XNVtx").c_str()),"NVtx distribution at L2", 21, -1, 20)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XEVtx").c_str()),"EVtx distribution at L2", 100, 0, 1.2)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_CounterXComb").c_str()),"Track Counter at LVL2 : XCOMB patological cases", 3, -1, 2)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_CounterXSV").c_str()),"Track Counter at LVL2 : XSV patological cases", 3, -1, 2)); - - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XComb_pTrel2").c_str()),"Comb tagger distribution at LVL2", 100, -10, 15)); - addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XComb_pTrel2").c_str()),"Comb tagger distribution at LVL2", 100, -10, 15)); addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_EF_XComb").c_str()),"Comb tagger distribution at EF", 200, -10, 15)); addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_EF_XIP3D").c_str()),"IP3D tagger distribution at EF", 200, -10, 15)); @@ -341,21 +278,20 @@ StatusCode HLTBjetMonTool::book(){ addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_EF_XComb_pTrel2").c_str()),"Comb tagger distribution at EF", 200, -10, 15)); addHistogram(new TH1F(const_cast<char*>(("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_EF_XComb_pTrel2").c_str()),"Comb tagger distribution at EF", 200, -10, 15)); + + + ///************ COMB **********// - addHistogram(new TH1F("pTrel_muChains","pTrel",100,0,10)); - addHistogram(new TH1F("pTrel","pTrel",100,0,10)); + + addHistogram(new TH1F("pTrel_muChains","pTrel",100,0,10)); + addHistogram(new TH1F("pTrel","pTrel",100,0,10)); + + *m_log << MSG::INFO<< " in HLTBjetMonTool::book added directory HLT/BjetMon/mu-jet histograms booked " << endreq; addMonGroup(new MonGroup(this,"HLT/BjetMon/b-jet", run, ManagedMonitorToolBase::ATTRIB_MANAGED)); //EN - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_trk_a0").c_str()),"transverse IP for all tracks at LVL2", 200, -10, 10)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_trk_a0_sel").c_str()), "transverse IP for selected tracks at LVL2", 200, -10, 10)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_trk_Sa0_sel").c_str()), "transverse IP significance for selected tracks at LVL2", 200, -15, 15)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_trk_z0").c_str()), "longitudinal IP for all tracks at LVL2", 200, -400, 400)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_trk_z0_sel").c_str()), "longitudinal IP for selected tracks at LVL2", 200, -400, 400)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_trk_z0_sel_PV").c_str()),"longitudinal IP wrt PV for selected tracks at LVL2", 200, -20, 20)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_trk_Sz0_sel").c_str()), "longitudinal IP significance for selected tracks at LVL2", 200, -20, 20)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_trk_prob").c_str()), "reconstructed track probability estimated by JetProb at LVL2", 40, 0, 1)); + *m_log << MSG::INFO<< " in HLTBjetMonTool::book added directory HLT/BjetMon/b-jet, run: " << run << " " << ManagedMonitorToolBase::ATTRIB_MANAGED << endreq; addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_trk_a0").c_str()), "transverse IP for all tracks at EF", 200, -10, 10)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_trk_a0_sel").c_str()), "transverse IP for selected tracks at EF", 200, -10, 10)); @@ -366,19 +302,8 @@ StatusCode HLTBjetMonTool::book(){ addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_trk_Sz0_sel").c_str()), "longitudinal IP significance for selected tracks at EF", 200, -20, 20)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_trk_prob").c_str()), "reconstructed track probability estimated by JetProb at EF", 40, 0, 1)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_stepsToSelect").c_str()), "Steps to select tracks for JetProb tagger", 11, 0, 11)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_stepsToSelect").c_str()), "Steps to select tracks for JetProb tagger", 11, 0, 11)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XIP1D").c_str()),"IP1D tagger distribution at LVL2 using IDTrkNoCut chain", 200, -10, 15)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XIP2D").c_str()),"IP2D tagger distribution at LVL2 using IDTrkNoCut chain", 200, -10, 15)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XIP3D").c_str()),"IP3D tagger distribution at LVL2 using IDTrkNoCut chain", 200, -10, 15)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XSV0").c_str()),"SV0 tagger distribution at LVL2 using IDTrkNoCut chain", 200, -1, 15)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XMVtx").c_str()),"Mass distribution at LVL2 using IDTrkNoCut chain", 200, -1, 5000)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XNVtx").c_str()),"Number distribution at LVL2 using IDTrkNoCut chain", 21, -1, 20)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XEVtx").c_str()),"Energy distribution at LVL2 using IDTrkNoCut chain", 100, 0, 1.2)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_CounterXComb").c_str()),"Track Counter at LVL2 using IDTrkNoCut chain : XComb patological cases", 3, -1, 2)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_CounterXSV").c_str()),"Track Counter at LVL2 using IDTrkNoCut chain : XSV patological cases", 3, -1, 2)); - addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_XIP1D").c_str()),"IP1D tagger distribution at EF using IDTrkNoCut chain", 200, -10, 15)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_XIP2D").c_str()),"IP2D tagger distribution at EF using IDTrkNoCut chain", 200, -10, 15)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_XIP3D").c_str()),"IP3D tagger distribution at EF using IDTrkNoCut chain", 200, -10, 15)); @@ -389,27 +314,27 @@ StatusCode HLTBjetMonTool::book(){ addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_CounterXComb").c_str()),"Track Counter at EF using IDTrkNoCut chain : XComb patological cases", 3, -1, 2)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_CounterXSV").c_str()),"Track Counter at EF using IDTrkNoCut chain : XSV patological cases", 3, -1, 2)); - addHistogram(new TH1F("L2Bjet_XIP3D_Recomputed","IP3D tagger distribution at LVL2 recomputed starting from reconstructed tracks", 200, -50, 50)); - addHistogram(new TH1F("L2Bjet_XCHI2_Recomputed","JetProb tagger distribution at LVL2 recomputed starting from reconstructed tracks", 100, -1, 1)); - addHistogram(new TH1F("EFBjet_XIP3D_Recomputed","IP3D tagger distribution at EF recomputed starting from reconstructed tracks", 200, -50, 50)); - addHistogram(new TH1F("EFBjet_XCHI2_Recomputed","JetProb tagger distribution at EF recomputed starting from reconstructed tracks", 100, -1, 1)); + addHistogram(new TH1F("EFBjet_XIP3D_Recomputed","IP3D tagger distribution at EF recomputed starting from reconstructed tracks", 200, -50, 50)); + addHistogram(new TH1F("EFBjet_XCHI2_Recomputed","JetProb tagger distribution at EF recomputed starting from reconstructed tracks", 100, -1, 1)); + + *m_log << MSG::INFO<< " in HLTBjetMonTool::book added directory HLT/BjetMon/b-jet histograms booked " << endreq; } if (newLowStatInterval) { - addMonGroup(new MonGroup(this,"HLT/BjetMon/LowStat", ManagedMonitorToolBase::lowStat, ManagedMonitorToolBase::ATTRIB_MANAGED)); //EN + addMonGroup(new MonGroup(this,"HLT/BjetMon/LowStat", ManagedMonitorToolBase::lowStat, ManagedMonitorToolBase::ATTRIB_MANAGED )); //EN + + *m_log << MSG::INFO<< " in HLTBjetMonTool::book added directory HLT/BjetMon/lowStat " << " " << " " << ManagedMonitorToolBase::lowStat << endreq; - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_trk_prob_LS").c_str()), "track probability estimated by JetProb at LVL2", 40, 0, 1)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_trk_prob_LS").c_str()), "track probability estimated by JetProb at EF", 40, 0, 1)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XCHI2_LS").c_str()),"JetProb tagger distribution at LVL2", 100, -1, 1)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_XCHI2_LS").c_str()),"JetProb tagger distribution at EF", 100, -1, 1)); - addHistogram(new TH1F(const_cast<char*>(("L2Bjet_"+chainNameL2+"_XComb_LS").c_str()),"Comb tagger distribution at LVL2", 200, -10, 15)); addHistogram(new TH1F(const_cast<char*>(("EFBjet_"+chainName+"_XComb_LS").c_str()),"Comb tagger distribution at EF", 200, -10, 15)); + *m_log << MSG::INFO<< " in HLTBjetMonTool::book added directory HLT/BjetMon/lowstat histograms booked " << endreq; } @@ -422,25 +347,18 @@ StatusCode HLTBjetMonTool::book(){ StatusCode HLTBjetMonTool::fill() { + *m_log << MSG::INFO<< "====> Entering HLTBjetMonTool::fill()" << endreq; + StatusCode sc = StatusCode::FAILURE; //* Clear RoI-based monitoring *// m_listCutAppliedLikelihood.clear(); - m_listCutAppliedLikelihood_L2.clear(); m_listCutAppliedLikelihood_EF.clear(); m_listCutAppliedProbability.clear(); - m_listCutAppliedProbability_L2.clear(); m_listCutAppliedProbability_EF.clear(); //* Clear track-based monitoring *// - m_mon_l2_trk_a0.clear(); - m_mon_l2_trk_a0_sel.clear(); - m_mon_l2_trk_Sa0_sel.clear(); - m_mon_l2_trk_z0.clear(); - m_mon_l2_trk_z0_sel.clear(); - m_mon_l2_trk_z0_sel_PV.clear(); - m_mon_l2_trk_Sz0_sel.clear(); - m_mon_l2_trk_prob.clear(); + m_mon_ef_trk_a0.clear(); m_mon_ef_trk_a0_sel.clear(); m_mon_ef_trk_Sa0_sel.clear(); @@ -455,69 +373,6 @@ StatusCode HLTBjetMonTool::fill() { //setCurrentMonGroup("HLT/BjetMon/Shifter"); //////////////////////////////////// - ////////////////////////////// - //* LVL2 b-tagging from SG *// - ////////////////////////////// - - const DataHandle<TrigL2BjetContainer> trigL2Bjet, lastTrigL2Bjet; - - sc = m_storeGate->retrieve(trigL2Bjet,lastTrigL2Bjet); - - if(sc.isFailure()) - *m_log << MSG::DEBUG<< "Failed to retrieve L2 Bjet container" << endreq; - else { - *m_log << MSG::DEBUG << "Retrieved L2 Bjet container" << endreq; - - for(int j = 1; trigL2Bjet != lastTrigL2Bjet; ++trigL2Bjet, ++j) { - - *m_log << MSG::VERBOSE << "Looking at TrigL2BjetContainer " << j << endreq; - - TrigL2BjetContainer::const_iterator pL2BjetItr = trigL2Bjet->begin(); - TrigL2BjetContainer::const_iterator lastL2BjetItr = trigL2Bjet->end(); - - for (int k=1; pL2BjetItr != lastL2BjetItr; ++pL2BjetItr, ++k) { - - *m_log << MSG::DEBUG << "Looking at TrigL2Bjet " << k << "/" << trigL2Bjet->size() << endreq; - - if ((*pL2BjetItr)) { - - // *m_log << MSG::DEBUG<< "TrigL2Bjet->xIP1D() = " << (*pL2BjetItr)->xIP1D() << "; TrigL2Bjet->xIP2D() = " << (*pL2BjetItr)->xIP2D() -// << "; TrigL2Bjet->xIP3D() = " << (*pL2BjetItr)->xIP3D() << "; TrigL2Bjet->xCHI2() = " << (*pL2BjetItr)->xCHI2() -// << "; TrigL2Bjet->xComb() = " << (*pL2BjetItr)->xComb() -// << "; TrigL2Bjet->xMVtx() = " << (*pL2BjetItr)->xSV() -// << "; TrigL2Bjet->xMVtx() = " << (*pL2BjetItr)->xMVtx() -// << endreq; - - if((*pL2BjetItr)->xComb()>-42){ - hist("L2Bjet_XIP1D","HLT/BjetMon/Shifter")->Fill((*pL2BjetItr)->xIP1D()); - hist("L2Bjet_XIP2D","HLT/BjetMon/Shifter")->Fill((*pL2BjetItr)->xIP2D()); - hist("L2Bjet_XIP3D","HLT/BjetMon/Shifter")->Fill((*pL2BjetItr)->xIP3D()); - hist("L2Bjet_XComb","HLT/BjetMon/Shifter")->Fill((*pL2BjetItr)->xComb()); - hist("L2Bjet_CounterXComb","HLT/BjetMon/Shifter")->Fill(1); - } - else if ((*pL2BjetItr)->xComb()==-46) - hist("L2Bjet_CounterXComb","HLT/BjetMon/Shifter")->Fill(0); - else hist("L2Bjet_CounterXComb","HLT/BjetMon/Shifter")->Fill(-1); - - hist("L2Bjet_XCHI2","HLT/BjetMon/Shifter")->Fill((*pL2BjetItr)->xCHI2()); - // hist("L2Bjet_XSV","HLT/BjetMon/Shifter")->Fill((*pL2BjetItr)->xSV1()); - - - } // else { - -// *m_log << MSG::VERBOSE << "pL2BjetItr is NULL" << endreq; - -// hist("L2Bjet_XIP1D","HLT/BjetMon/Shifter")->Fill(-50.0); -// hist("L2Bjet_XIP2D","HLT/BjetMon/Shifter")->Fill(-50.0); -// hist("L2Bjet_XIP3D","HLT/BjetMon/Shifter")->Fill(-50.0); -// hist("L2Bjet_XCHI2","HLT/BjetMon/Shifter")->Fill(-1.0); -// hist("L2Bjet_XComb","HLT/BjetMon/Shifter")->Fill(-50.0); -// //hist("L2Bjet_XSV","HLT/BjetMon/Shifter")->Fill(-50.0); - -// } - } - } - } //////////////////////////// @@ -529,24 +384,26 @@ StatusCode HLTBjetMonTool::fill() { sc = m_storeGate->retrieve(trigEFBjet,lastTrigEFBjet); if( sc.isFailure() ){ - *m_log << MSG::VERBOSE << "Failed to retrieve EF Bjet container" << endreq; + *m_log << MSG::INFO << "Failed to retrieve EF Bjet container" << endreq; } else { - *m_log << MSG::DEBUG << "Retrieved EF Bjet container" << endreq; + *m_log << MSG::INFO << "Retrieved EF Bjet container" << endreq; for(int j = 1; trigEFBjet != lastTrigEFBjet; ++trigEFBjet, ++j) { - *m_log << MSG::VERBOSE << "Looking at TrigEFBjetContainer " << j << endreq; + *m_log << MSG::INFO << "Looking at TrigEFBjetContainer " << j << endreq; TrigEFBjetContainer::const_iterator pEFBjetItr = trigEFBjet->begin(); TrigEFBjetContainer::const_iterator lastEFBjetItr = trigEFBjet->end(); + + if (pEFBjetItr == lastEFBjetItr) *m_log << MSG::INFO << " TrigEFBjetContainer is empty - no HLT/BjetMon/Shifter/EFB histos filled" << endreq; for (int k=1; pEFBjetItr != lastEFBjetItr; ++pEFBjetItr, ++k) { - *m_log << MSG::VERBOSE << "Looking at TrigEFBjet " << k << "/" << trigEFBjet->size() << endreq; + *m_log << MSG::INFO << "Looking at TrigEFBjet " << k << "/" << trigEFBjet->size() << endreq; if ((*pEFBjetItr)) { - // *m_log << MSG::DEBUG + // *m_log << MSG::INFO // << "TrigEFBjet->xIP1D() = " << (*pEFBjetItr)->xIP1D() << "; TrigEFBjet->xIP2D() = " << (*pEFBjetItr)->xIP2D() // << "; TrigEFBjet->xIP3D() = " << (*pEFBjetItr)->xIP3D() << "; TrigEFBjet->xCHI2() = " << (*pEFBjetItr)->xCHI2() // << "; TrigEFBjet->xMVtx() = " << (*pEFBjetItr)->xSV() @@ -568,7 +425,7 @@ StatusCode HLTBjetMonTool::fill() { } // else { -// *m_log << MSG::VERBOSE << "pEFBjetItr is NULL" << endreq; +// *m_log << MSG::INFO << "pEFBjetItr is NULL" << endreq; // hist("EFBjet_XIP1D","HLT/BjetMon/Shifter")->Fill(-50.0); // hist("EFBjet_XIP2D","HLT/BjetMon/Shifter")->Fill(-50.0); @@ -596,20 +453,22 @@ StatusCode HLTBjetMonTool::fill() { int size_TriggerChainMujet =m_TriggerChainMujet_phys.size(); - *m_log << MSG::DEBUG << "HLT/BjetMon/mu-jet" << endreq; + *m_log << MSG::INFO << "HLT/BjetMon/mu-jet" << endreq; // get muons const Analysis::MuonContainer* muonColl = 0; StatusCode sc_muon = m_storeGate->retrieve(muonColl,"StacoMuonCollection"); if(sc_muon.isFailure() && !muonColl) - (*m_log) << MSG::DEBUG << "No StacoMuonCollection container found" << endreq; + (*m_log) << MSG::INFO << "No StacoMuonCollection container found" << endreq; // get jets const JetCollection* jetColl; StatusCode sc_jet = m_storeGate->retrieve(jetColl,"AntiKt4TopoEMJets"); if(sc_jet.isFailure() && !jetColl) - *m_log << MSG::DEBUG << "No AntiKt4TopoEMJets container found" << endreq; + *m_log << MSG::INFO << "No AntiKt4TopoEMJets container found" << endreq; + if (!sc_muon.isSuccess() || !sc_jet.isSuccess()) *m_log << MSG::INFO << " No mu-jet histograms will be filled " << endreq; + if (sc_muon.isSuccess() && sc_jet.isSuccess()) { std::vector<float> ppjetVector; @@ -632,7 +491,7 @@ StatusCode HLTBjetMonTool::fill() { Analysis::MuonContainer::const_iterator muItr = (*muonColl).begin(); Analysis::MuonContainer::const_iterator muEnd = (*muonColl).end(); - // *m_log << MSG::DEBUG<<" jet pt "<< fabs((*jetItr)->pt(P4SignalState::JETEMSCALE)) << + // *m_log << MSG::INFO<<" jet pt "<< fabs((*jetItr)->pt(P4SignalState::JETEMSCALE)) << // " pjet.perp() "<< pjet.perp()<< endreq; TLorentzVector pmu1; for (; muItr != muEnd; ++muItr) { @@ -650,7 +509,7 @@ StatusCode HLTBjetMonTool::fill() { if(msatIP){ muID_z0=msatIP->perigeeParameters()->parameters()[Trk::z0]; muID_theta=msatIP->perigeeParameters()->parameters()[Trk::theta]; - *m_log << MSG::VERBOSE << "muTrk "<<msatIP->perigeeParameters()->parameters()[Trk::d0]<<endreq; + *m_log << MSG::INFO << "muTrk "<<msatIP->perigeeParameters()->parameters()[Trk::d0]<<endreq; @@ -661,7 +520,7 @@ StatusCode HLTBjetMonTool::fill() { if ((trkInfo.patternRecoInfo(preco) & 1)!=1){ pattInfoInt = (pattInfoInt | (one << i)); patt=1; - *m_log << MSG::VERBOSE << "muTrk pattInfoInt "<<pattInfoInt<<" "<<one<<" "<<patt<<" preco "<<preco<<endreq; + *m_log << MSG::INFO << "muTrk pattInfoInt "<<pattInfoInt<<" "<<one<<" "<<patt<<" preco "<<preco<<endreq; } } } @@ -675,7 +534,7 @@ StatusCode HLTBjetMonTool::fill() { { if(idFitQual->numberDoF() > 0){ chi2overDof = idFitQual->chiSquared()/(double)idFitQual->numberDoF(); - *m_log << MSG::DEBUG <<"idFitQual->chiSquared() "<<idFitQual->chiSquared()<<" idFitQual->numberDoF() "<<idFitQual->numberDoF()<<endreq; + *m_log << MSG::INFO <<"idFitQual->chiSquared() "<<idFitQual->chiSquared()<<" idFitQual->numberDoF() "<<idFitQual->numberDoF()<<endreq; } } } @@ -692,7 +551,7 @@ StatusCode HLTBjetMonTool::fill() { if(chi2overDof>3) continue; double ptrel=pmu.perp(pjet+pmu); - // (*m_log) << MSG::DEBUG <<" pTrel : "<<ptrel<<endreq; + // (*m_log) << MSG::INFO <<" pTrel : "<<ptrel<<endreq; ptrel= ptrel/1000.; hist("pTrel","HLT/BjetMon/mu-jet")->Fill(ptrel); @@ -701,87 +560,6 @@ StatusCode HLTBjetMonTool::fill() { if (getTDT()->isPassed(m_TriggerChainMujet_phys.at(i))) hist("pTrel_muChains","HLT/BjetMon/mu-jet")->Fill(ptrel); } - ///////////*************************/////////// - /////////////******** L2 ********///////////// - ///////////*************************/////////// - - const DataHandle<TrigL2BjetContainer> trigL2Bjet, lastTrigL2Bjet; - sc = m_storeGate->retrieve(trigL2Bjet,lastTrigL2Bjet); - if(sc.isFailure()) - *m_log << MSG::VERBOSE << "Failed to retrieve L2 Bjet container" << endreq; - else { *m_log << MSG::VERBOSE << "Retrieved L2 Bjet container" << endreq; - for(int j = 1; trigL2Bjet != lastTrigL2Bjet; ++trigL2Bjet, ++j) { - *m_log << MSG::VERBOSE << "Looking at TrigL2BjetContainer " << j <<endreq; - TrigL2BjetContainer::const_iterator pL2BjetItr1 = trigL2Bjet->begin(); - TrigL2BjetContainer::const_iterator lastL2BjetItr1 = trigL2Bjet->end(); - - for (int k=1; pL2BjetItr1 != lastL2BjetItr1; ++pL2BjetItr1, ++k) { - *m_log << MSG::VERBOSE << "Looking at TrigL2Bjet " << k << "/" << trigL2Bjet->size() << endreq; - - // *m_log << MSG::DEBUG << " p_L2 "<<(*pL2BjetItr1)->px()<<" "<<(*pL2BjetItr1)->py()<<" "<<(*pL2BjetItr1)->pz()<<" "<<(*pL2BjetItr1)->e()<<endreq; - - TLorentzVector pL2; - pL2.SetPtEtaPhiM(1, (*pL2BjetItr1)->eta(), (*pL2BjetItr1)->phi(), 5000); - - if(pL2.DeltaR(pjet_mu)<0.4){ - // *m_log << MSG::DEBUG << "L2 Bjet DELAR OFF" << pL2.DeltaR(pjet_mu)<<endreq; - - if (getTDT()->isPassed(m_TriggerChainMujet.at(1))){ - if((*pL2BjetItr1)->xComb()>-42){ - hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XComb","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xComb()); - hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XIP3D","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xIP3D()); - hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_CounterXComb","HLT/BjetMon/mu-jet")->Fill(1);} - else if ((*pL2BjetItr1)->xComb()==-46) - hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_CounterXComb","HLT/BjetMon/mu-jet")->Fill(0); - else hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_CounterXComb","HLT/BjetMon/mu-jet")->Fill(-1); - - if((*pL2BjetItr1)->xSV()!=0){ - hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XSV0","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xSV()); - hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XMVtx","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xMVtx()); - hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XNVtx","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xNVtx()); - hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XEVtx","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xEVtx()); - hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_CounterXSV","HLT/BjetMon/mu-jet")->Fill(1);} - else hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_CounterXSV","HLT/BjetMon/mu-jet")->Fill(0); - } - - if (getTDT()->isPassed(m_TriggerChainMujet.at(0))){ - if((*pL2BjetItr1)->xComb()>-42){ - hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XComb","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xComb()); - hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XIP3D","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xIP3D()); - hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_CounterXComb","HLT/BjetMon/mu-jet")->Fill(1); - } - else if((*pL2BjetItr1)->xComb()==-46) - hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_CounterXComb","HLT/BjetMon/mu-jet")->Fill(0); - else hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_CounterXComb","HLT/BjetMon/mu-jet")->Fill(-1); - - if((*pL2BjetItr1)->xSV()!=0){ - hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XSV0","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xSV()); - hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XMVtx","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xMVtx()); - hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XNVtx","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xNVtx()); - hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XEVtx","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xEVtx()); - hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_CounterXSV","HLT/BjetMon/mu-jet")->Fill(1); - } - else hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_CounterXSV","HLT/BjetMon/mu-jet")->Fill(0); - - - } - - - if(ptrel>2){ - if((*pL2BjetItr1)->xComb()>-42){ - if (getTDT()->isPassed(m_TriggerChainMujet.at(1))) - hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_L2_XComb_pTrel2","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xComb()); - - if (getTDT()->isPassed(m_TriggerChainMujet.at(0))) - hist("MuJet_"+m_TriggerChainMujet.at(0)+"_MatchOffmu_L2_XComb_pTrel2","HLT/BjetMon/mu-jet")->Fill((*pL2BjetItr1)->xComb()); - } - } - } - } - } - } - - ///////////*************************/////////// /////////////******** EF ********///////////// @@ -790,23 +568,23 @@ StatusCode HLTBjetMonTool::fill() { const DataHandle<TrigEFBjetContainer> trigEFBjet, lastTrigEFBjet; sc = m_storeGate->retrieve(trigEFBjet,lastTrigEFBjet); if(sc.isFailure()) - *m_log << MSG::VERBOSE << "Failed to retrieve EF Bjet container" << endreq; - else { *m_log << MSG::VERBOSE << " Retrieved EF Bjet container" << endreq; + *m_log << MSG::INFO << "Failed to retrieve EF Bjet container" << endreq; + else { *m_log << MSG::INFO << " Retrieved EF Bjet container" << endreq; for(int j = 1; trigEFBjet != lastTrigEFBjet; ++trigEFBjet, ++j) { - *m_log << MSG::VERBOSE << "Looking at TrigEFBjetContainer " << j << endreq; + *m_log << MSG::INFO << "Looking at TrigEFBjetContainer " << j << endreq; TrigEFBjetContainer::const_iterator pEFBjetItr1 = trigEFBjet->begin(); TrigEFBjetContainer::const_iterator lastEFBjetItr1 = trigEFBjet->end(); for (int k=1; pEFBjetItr1 != lastEFBjetItr1; ++pEFBjetItr1, ++k) { - *m_log << MSG::VERBOSE << "Looking at TrigEFBjet " << k << "/" << trigEFBjet->size() << endreq; + *m_log << MSG::INFO << "Looking at TrigEFBjet " << k << "/" << trigEFBjet->size() << endreq; if ((*pEFBjetItr1)) { - // *m_log << MSG::DEBUG << " p_EF "<<(*pEFBjetItr1)->px()<<" "<<(*pEFBjetItr1)->py()<<" "<<(*pEFBjetItr1)->pz()<<" "<<(*pEFBjetItr1)->e()<<endreq; + // *m_log << MSG::INFO << " p_EF "<<(*pEFBjetItr1)->px()<<" "<<(*pEFBjetItr1)->py()<<" "<<(*pEFBjetItr1)->pz()<<" "<<(*pEFBjetItr1)->e()<<endreq; TLorentzVector pEF; pEF.SetPtEtaPhiM(1, (*pEFBjetItr1)->eta(), (*pEFBjetItr1)->phi(), 5000); if(pEF.DeltaR(pjet_mu)<0.4){ - // *m_log << MSG::DEBUG << "EF Bjet DELAR OFF" << pEF.DeltaR(pjet_mu)<<endreq; + // *m_log << MSG::INFO << "EF Bjet DELAR OFF" << pEF.DeltaR(pjet_mu)<<endreq; if (getTDT()->isPassed(m_TriggerChainMujet.at(1))){ if((*pEFBjetItr1)->xComb()>-42){ hist("MuJet_"+m_TriggerChainMujet.at(1)+"_MatchOffmu_EF_XComb","HLT/BjetMon/mu-jet")->Fill((*pEFBjetItr1)->xComb()); @@ -897,27 +675,26 @@ StatusCode HLTBjetMonTool::fill() { //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// - *m_log << MSG::VERBOSE << "HLT/BjetMon/b-jet Trigger passing" << endreq; + *m_log << MSG::INFO << " Look for HLT/BjetMon/b-jet Trigger passing" << endreq; + + int size_TriggerChainBjet =m_TriggerChainBjet.size(); std::string chainName; - std::string chainNameL2; + if (size_TriggerChainBjet > 0) chainName = m_TriggerChainBjet.at(0); for (int i =0; i<size_TriggerChainBjet; i++){ if (!getTDT()->isPassed(m_TriggerChainBjet.at(i))){ - *m_log << MSG::DEBUG<< "IDTrkNoCut chain not fired." << endreq; + *m_log << MSG::INFO<< "IDTrkNoCut chain not fired." << endreq; // return StatusCode::SUCCESS; }else { - *m_log << MSG::DEBUG << "IDTrkNoCut chain fired." << endreq; + *m_log << MSG::INFO << "IDTrkNoCut chain fired." << endreq; chainName = m_TriggerChainBjet.at(i); - chainNameL2 = m_TriggerChainL2Bjet.at(i); } } - - if (m_Menu_ppV0==3){ - chainName = "EF_b10_IDTrkNoCut"; - chainNameL2 = "EF_b10_IDTrkNoCut"; - } + + *m_log << MSG::INFO << " Retrieveing beam spot. Trigger chainName: " << chainName << endreq; + ////////////******************////////////// //********** Retrieve beam spot **********// ////////////******************////////////// @@ -943,124 +720,21 @@ StatusCode HLTBjetMonTool::fill() { m_sigmaY = m_iBeamCondSvc->beamSigma(1); m_sigmaZ = m_iBeamCondSvc->beamSigma(2); - *m_log << MSG::DEBUG << " beam spot X " << m_sigmaX << " beam spot Y " << m_sigmaY << " beam spot Z " << m_sigmaZ<< endreq; - } + // Temporary change to give beamspot reasonable values + m_sigmaX = 0.001; + m_sigmaY = 0.001; + m_sigmaZ = 0.003; - ////////////******************////////////// - //********* Retrieve LVL2 tracks *********// - ////////////******************////////////// - - *m_log << MSG::DEBUG << " Retrieve LVL2 tracks" << endreq; - - const TrigInDetTrackCollection* pointerToL2TrackCollection = 0; - - // std::vector<Trig::Feature<TrigInDetTrackCollection> > trigL2TrackVector = - //(getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs)).get<TrigInDetTrackCollection>(); - std::vector<Trig::Feature<TrigInDetTrackCollection> > trigL2TrackVector = - (getTDT()->features(chainNameL2,TrigDefs::alsoDeactivateTEs)).get<TrigInDetTrackCollection>(); - //L2_b50_NoCut_j50_c4cchad - std::vector<Trig::Feature<TrigInDetTrackCollection> >::const_iterator pL2TrackItr = trigL2TrackVector.begin(); - std::vector<Trig::Feature<TrigInDetTrackCollection> >::const_iterator lastL2TrackItr = trigL2TrackVector.end(); - - for(int j = 1; pL2TrackItr != lastL2TrackItr; ++pL2TrackItr, ++j) { - - const TrigInDetTrackCollection* pL2Track = (*pL2TrackItr).cptr(); - - if (pL2Track->size()) { - - *m_log << MSG::DEBUG << " Retrieved LVL2 tracks with algo " << pL2Track->front()->algorithmId() << endreq; - - if (pL2Track->front()->algorithmId() == 6) - pointerToL2TrackCollection = pL2Track; - - } + *m_log << MSG::INFO << " beam spot X " << m_sigmaX << " beam spot Y " << m_sigmaY << " beam spot Z " << m_sigmaZ<< endreq; } - ////////////*******************////////////// - //********* Retrieve LVL2 prm vtx *********// - ////////////*******************////////////// - - //std::vector<Trig::Feature<TrigL2Bjet> > trigL2BjetVector = - // (getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs)).get<TrigL2Bjet>(); - - std::vector<Trig::Feature<TrigL2Bjet> > trigL2BjetVector = - (getTDT()->features(chainNameL2,TrigDefs::alsoDeactivateTEs)).get<TrigL2Bjet>(); - std::vector<Trig::Feature<TrigL2Bjet> >::const_iterator pL2BjetItr = trigL2BjetVector.begin(); - std::vector<Trig::Feature<TrigL2Bjet> >::const_iterator lastL2BjetItr = trigL2BjetVector.end(); - - for(int j = 1; pL2BjetItr != lastL2BjetItr; ++pL2BjetItr, ++j) { - - const TrigL2Bjet* L2Bjet = (*pL2BjetItr).cptr(); - - // *m_log << MSG::DEBUG << "TrigL2Bjet->prmVtx() = " << L2Bjet->prmVtx() << endreq; - - m_prmVtxL2Bj = L2Bjet->prmVtx(); - - } - - ////////////*******************////////////// - //***** Compute LVL2 b-tagging weights ****// - ////////////*******************////////////// - - if (m_sigmaX > m_setBeamSpotWidth || m_sigmaY > m_setBeamSpotWidth) { - - m_listCutAppliedLikelihood.push_back(1); - m_listCutAppliedProbability.push_back(1); - - m_likelihood_L2->getLikelihoodTag(); - m_probability_L2->getProbabilityTag(); - } else { - if(pointerToL2TrackCollection) { - - m_likelihood_L2->getLikelihoodTag(pointerToL2TrackCollection, m_prmVtxL2Bj, m_trackJetFinderTool); - m_probability_L2->getProbabilityTag(pointerToL2TrackCollection, m_prmVtxL2Bj, m_trackJetFinderTool); - - hist("L2Bjet_XIP3D_Recomputed","HLT/BjetMon/b-jet")->Fill(m_likelihood_L2->getXIP3D()); - hist("L2Bjet_XCHI2_Recomputed","HLT/BjetMon/b-jet")->Fill(m_probability_L2->getXCHI2()); - - m_listCutAppliedLikelihood_L2 = m_listCutAppliedLikelihood; - m_listCutAppliedProbability_L2 = m_listCutAppliedProbability; - - for(unsigned int i=0; i<m_mon_l2_trk_a0.size(); i++) - hist("L2Bjet_"+chainNameL2+"_trk_a0","HLT/BjetMon/b-jet")->Fill(m_mon_l2_trk_a0[i]); - - for(unsigned int i=0; i<m_mon_l2_trk_a0_sel.size(); i++) - hist("L2Bjet_"+chainNameL2+"_trk_a0_sel","HLT/BjetMon/b-jet")->Fill(m_mon_l2_trk_a0_sel[i]); - - for(unsigned int i=0; i<m_mon_l2_trk_Sa0_sel.size(); i++) - hist("L2Bjet_"+chainNameL2+"_trk_Sa0_sel","HLT/BjetMon/b-jet")->Fill(m_mon_l2_trk_Sa0_sel[i]); - - for(unsigned int i=0; i<m_mon_l2_trk_z0.size(); i++) - hist("L2Bjet_"+chainNameL2+"_trk_z0","HLT/BjetMon/b-jet")->Fill(m_mon_l2_trk_z0[i]); - - for(unsigned int i=0; i<m_mon_l2_trk_z0_sel.size(); i++) - hist("L2Bjet_"+chainNameL2+"_trk_z0_sel","HLT/BjetMon/b-jet")->Fill(m_mon_l2_trk_z0_sel[i]); - - for(unsigned int i=0; i<m_mon_l2_trk_z0_sel_PV.size(); i++) - hist("L2Bjet_"+chainNameL2+"_trk_z0_sel_PV","HLT/BjetMon/b-jet")->Fill(m_mon_l2_trk_z0_sel_PV[i]); - - for(unsigned int i=0; i<m_mon_l2_trk_Sz0_sel.size(); i++) - hist("L2Bjet_"+chainNameL2+"_trk_Sz0_sel","HLT/BjetMon/b-jet")->Fill(m_mon_l2_trk_Sz0_sel[i]); - - for(unsigned int i=0; i<m_mon_l2_trk_prob.size(); i++) { - hist("L2Bjet_"+chainNameL2+"_trk_prob","HLT/BjetMon/b-jet")->Fill(m_mon_l2_trk_prob[i]); - hist("L2Bjet_"+chainNameL2+"_trk_prob_LS","HLT/BjetMon/LowStat")->Fill(m_mon_l2_trk_prob[i]); - } - - for(unsigned int i=0; i<m_listCutAppliedLikelihood_L2.size(); i++) - hist("L2Bjet_"+chainNameL2+"_stepsToSelect","HLT/BjetMon/b-jet")->Fill(m_listCutAppliedLikelihood_L2[i]); - - } else { - - *m_log << MSG::DEBUG << "No L2 track collection found" <<endreq; - - } - } ////////////*******************////////////// //********** Retrieve EF tracks ***********// ////////////*******************////////////// + + *m_log << MSG::INFO << " Retrieve EF tracks" << endreq; const Rec::TrackParticleContainer* pointerToEFTrackCollection = 0; @@ -1074,7 +748,7 @@ StatusCode HLTBjetMonTool::fill() { const Rec::TrackParticleContainer* pEFTrack = (*pEFTrackItr).cptr(); if (pEFTrack->size() != 0) { - *m_log << MSG::DEBUG << " Retrieved EF tracks " <<endreq; + *m_log << MSG::INFO << " Retrieved EF tracks " <<endreq; pointerToEFTrackCollection = pEFTrack; } } @@ -1084,6 +758,8 @@ StatusCode HLTBjetMonTool::fill() { //********** Retrieve EF prm vtx **********// ////////////*******************////////////// + *m_log << MSG::INFO << " Retrieve EF prm vtx" << endreq; + std::vector<Trig::Feature<TrigEFBjet> > trigEFBjetVector = (getTDT()->features(chainName,TrigDefs::alsoDeactivateTEs)).get<TrigEFBjet>(); std::vector<Trig::Feature<TrigEFBjet> >::const_iterator pEFBjetItr = trigEFBjetVector.begin(); @@ -1093,7 +769,7 @@ StatusCode HLTBjetMonTool::fill() { const TrigEFBjet* EFBjet = (*pEFBjetItr).cptr(); - //*m_log << MSG::DEBUG << "TrigEFBjet->prmVtx() = " << EFBjet->prmVtx() << endreq; + //*m_log << MSG::INFO << "TrigEFBjet->prmVtx() = " << EFBjet->prmVtx() << endreq; m_prmVtxEFBj = EFBjet->prmVtx(); @@ -1103,8 +779,14 @@ StatusCode HLTBjetMonTool::fill() { //****** Compute EF b-tagging weights ******// ////////////********************////////////// + + *m_log << MSG::INFO << " Compute EF b-tagging weights" << endreq; + + *m_log << MSG::INFO << " m_sigmaX = " << m_sigmaX << " m_setBeamSpotWidth = " << m_setBeamSpotWidth + << " m_sigmaY = " << m_sigmaY << " m_setBeamSpotWidth = " << m_setBeamSpotWidth << endreq; + if (m_sigmaX > m_setBeamSpotWidth || m_sigmaY > m_setBeamSpotWidth) { - // *m_log << MSG::DEBUG << "EF b-tagging weights Bjet BeamSpot "<< endreq; + // *m_log << MSG::INFO << "EF b-tagging weights Bjet BeamSpot "<< endreq; m_listCutAppliedLikelihood.push_back(1); m_listCutAppliedProbability.push_back(1); @@ -1155,57 +837,11 @@ StatusCode HLTBjetMonTool::fill() { } else { - *m_log << MSG::DEBUG << "No Ef track collection found" <<endreq; + *m_log << MSG::INFO << "No Ef track collection found" <<endreq; } } - ////////////********************////////////// - //***** LVL2 b-tagging with chainName ******// - ////////////********************////////////// - // *m_log << MSG::DEBUG <<" chainName "<<chainName<< endreq; - //* feature already retrieved above *// - pL2BjetItr = trigL2BjetVector.begin(); - - for(int j = 1; pL2BjetItr != lastL2BjetItr; ++pL2BjetItr, ++j) { - - *m_log << MSG::VERBOSE << "Looking at TrigL2Bjet " << j << "/" << trigL2BjetVector.size() << " in trigger "<< chainName << endreq; - - const TrigL2Bjet* L2Bjet = (*pL2BjetItr).cptr(); - - *m_log << MSG::DEBUG << "TrigL2Bjet->xIP1D() = " << L2Bjet->xIP1D() << "; TrigL2Bjet->xIP2D() = " << L2Bjet->xIP2D() - << "; TrigL2Bjet->xIP3D() = " << L2Bjet->xIP3D() << "; TrigL2Bjet->xCHI2() = " << L2Bjet->xCHI2() - <<"; TrigL2Bjet->xSV() = " << L2Bjet->xSV()<< "; TrigL2Bjet->xMVtx() = " << L2Bjet->xMVtx() - << "; TrigL2Bjet->xNVtx() = " << L2Bjet->xNVtx()<< "; TrigL2Bjet->xEVtx() = " << L2Bjet->xEVtx()<<endreq; - - if(L2Bjet->xComb()>-42){ - hist("L2Bjet_"+chainNameL2+"_XIP1D","HLT/BjetMon/b-jet")->Fill(L2Bjet->xIP1D()); - hist("L2Bjet_"+chainNameL2+"_XIP2D","HLT/BjetMon/b-jet")->Fill(L2Bjet->xIP2D()); - hist("L2Bjet_"+chainNameL2+"_XIP3D","HLT/BjetMon/b-jet")->Fill(L2Bjet->xIP3D()); - hist("L2Bjet_"+chainNameL2+"_XComb","HLT/BjetMon/Shifter")->Fill(L2Bjet->xComb()); - hist("L2Bjet_"+chainNameL2+"_XComb_LS","HLT/BjetMon/LowStat")->Fill(L2Bjet->xComb()); - hist("L2Bjet_"+chainNameL2+"_CounterXComb","HLT/BjetMon/b-jet")->Fill(1); - } - else if (L2Bjet->xComb()==-46) - hist("L2Bjet_"+chainNameL2+"_CounterXComb","HLT/BjetMon/b-jet")->Fill(0); - else hist("L2Bjet_"+chainNameL2+"_CounterXComb","HLT/BjetMon/b-jet")->Fill(-1); - - // *m_log << MSG::DEBUG <<" L2Bjet->xSV() : "<<L2Bjet->xSV()<<" L2Bjet->xMVtx(): "<<L2Bjet->xMVtx()<< - // " L2Bjet->xEVtx() : "<<L2Bjet->xMVtx()<<" L2Bjet->xNVtx() : "<<L2Bjet->xNVtx()<<endreq; - - if(L2Bjet->xMVtx()>0){ - hist("L2Bjet_"+chainNameL2+"_XSV0","HLT/BjetMon/b-jet")->Fill(L2Bjet->xSV()); - hist("L2Bjet_"+chainNameL2+"_XMVtx","HLT/BjetMon/b-jet")->Fill(L2Bjet->xMVtx()); - hist("L2Bjet_"+chainNameL2+"_XNVtx","HLT/BjetMon/b-jet")->Fill(L2Bjet->xNVtx()); - hist("L2Bjet_"+chainNameL2+"_XEVtx","HLT/BjetMon/b-jet")->Fill(L2Bjet->xEVtx()); - hist("L2Bjet_"+chainNameL2+"_CounterXSV","HLT/BjetMon/b-jet")->Fill(1); - } - else hist("L2Bjet_"+chainNameL2+"_CounterXSV","HLT/BjetMon/b-jet")->Fill(0); - - hist("L2Bjet_"+chainNameL2+"_XCHI2","HLT/BjetMon/Shifter")->Fill(L2Bjet->xCHI2()); - hist("L2Bjet_"+chainNameL2+"_XCHI2_LS","HLT/BjetMon/LowStat")->Fill(L2Bjet->xCHI2()); - } - ////////////********************////////////// //***** EF b-tagging with "+chainName+"*****// @@ -1213,44 +849,71 @@ StatusCode HLTBjetMonTool::fill() { //* feature already retrieved above *// + + + *m_log << MSG::INFO << " Try to fill HLT/BjetMon/b-jet/EFB histos" << endreq; + + pEFBjetItr = trigEFBjetVector.begin(); + if (pEFBjetItr == lastEFBjetItr) *m_log << MSG::INFO << " HLT/BjetMon/b-jet/EFB histos won't be filled" << endreq; + for(int j = 1; pEFBjetItr != lastEFBjetItr; ++pEFBjetItr, ++j) { - *m_log << MSG::VERBOSE << "Looking at TrigEFBjet " << j << "/" << trigEFBjetVector.size() << " in trigger "<<chainName << endreq; + *m_log << MSG::INFO << "Looking at TrigEFBjet " << j << "/" << trigEFBjetVector.size() << " in trigger "<<chainName << endreq; const TrigEFBjet* EFBjet = (*pEFBjetItr).cptr(); - *m_log << MSG::DEBUG << "TrigEFBjet->xIP1D() = " << EFBjet->xIP1D() << "; TrigEFBjet->xIP2D() = " << EFBjet->xIP2D() + *m_log << MSG::INFO << "TrigEFBjet->xIP1D() = " << EFBjet->xIP1D() << "; TrigEFBjet->xIP2D() = " << EFBjet->xIP2D() << "; TrigEFBjet->xIP3D() = " << EFBjet->xIP3D() << "; TrigEFBjet->xCHI2() = " << EFBjet->xCHI2() <<"; TrigEFBjet->xSV() = " << EFBjet->xSV()<< "; TrigEFBjet->xMVtx() = " << EFBjet->xMVtx() << "; TrigEFBjet->xNVtx() = " << EFBjet->xNVtx()<< "; TrigEFBjet->xEVtx() = " << EFBjet->xEVtx()<<endreq; - + // *m_log << MSG::INFO << "Start filling histograms " << endreq; + if(EFBjet->xComb()>-42){ hist("EFBjet_"+chainName+"_XIP1D","HLT/BjetMon/b-jet")->Fill(EFBjet->xIP1D()); + // *m_log << MSG::INFO << " EFBjet->xIP1D() " << EFBjet->xIP1D() << endreq; hist("EFBjet_"+chainName+"_XIP2D","HLT/BjetMon/b-jet")->Fill(EFBjet->xIP2D()); + // *m_log << MSG::INFO << " EFBjet->xIP2D() " << EFBjet->xIP2D() << endreq; hist("EFBjet_"+chainName+"_XIP3D","HLT/BjetMon/b-jet")->Fill(EFBjet->xIP3D()); + // *m_log << MSG::INFO << " EFBjet->xIP3D() " << EFBjet->xIP3D() << endreq; hist("EFBjet_"+chainName+"_XComb","HLT/BjetMon/Shifter")->Fill(EFBjet->xComb()); + // *m_log << MSG::INFO << " EFBjet->xComb() " << EFBjet->xComb() << endreq; hist("EFBjet_"+chainName+"_CounterXComb","HLT/BjetMon/b-jet")->Fill(1); + // *m_log << MSG::INFO << " Fill " <<" 1 " << endreq; } - else if (EFBjet->xComb()==-46) + else if (EFBjet->xComb()==-46) { hist("EFBjet_"+chainName+"_CounterXComb","HLT/BjetMon/b-jet")->Fill(0); - else hist("EFBjet_"+chainName+"_CounterXComb","HLT/BjetMon/b-jet")->Fill(-1); - + // *m_log << MSG::INFO << " Fill " <<" 0 " << endreq; + } + else { + hist("EFBjet_"+chainName+"_CounterXComb","HLT/BjetMon/b-jet")->Fill(-1); + // *m_log << MSG::INFO << " Fill " <<" -1 " << endreq; + } if(EFBjet->xMVtx()>0){ hist("EFBjet_"+chainName+"_XSV0","HLT/BjetMon/b-jet")->Fill(EFBjet->xSV()); + // *m_log << MSG::INFO << " Fill EFBjet->xSV() " << EFBjet->xSV() << endreq; hist("EFBjet_"+chainName+"_XMVtx","HLT/BjetMon/b-jet")->Fill(EFBjet->xMVtx()); + // *m_log << MSG::INFO << " Fill EFBjet->xMVtx() " << EFBjet->xMVtx() << endreq; hist("EFBjet_"+chainName+"_XNVtx","HLT/BjetMon/b-jet")->Fill(EFBjet->xNVtx()); + // *m_log << MSG::INFO << " Fill EFBjet->xNVtx() " << EFBjet->xNVtx() << endreq; hist("EFBjet_"+chainName+"_XEVtx","HLT/BjetMon/b-jet")->Fill(EFBjet->xEVtx()); + // *m_log << MSG::INFO << " Fill EFBjet->xEVtx() " << EFBjet->xEVtx() << endreq; hist("EFBjet_"+chainName+"_CounterXSV","HLT/BjetMon/b-jet")->Fill(1); + // *m_log << MSG::INFO << " Fill " <<" 1 again " << endreq; + } + else { + hist("EFBjet_"+chainName+"_CounterXSV","HLT/BjetMon/b-jet")->Fill(0); + // *m_log << MSG::INFO << " Fill " <<" 0 again " << endreq; } - else hist("EFBjet_"+chainName+"_CounterXSV","HLT/BjetMon/b-jet")->Fill(0); - hist("EFBjet_"+chainName+"_XCHI2","HLT/BjetMon/Shifter")->Fill(EFBjet->xCHI2()); + // *m_log << MSG::INFO << " Fill EFBjet->xCHI2() " << EFBjet->xCHI2() << endreq; hist("EFBjet_"+chainName+"_XCHI2_LS","HLT/BjetMon/LowStat")->Fill(EFBjet->xCHI2()); - + // *m_log << MSG::INFO << " Fill EFBjet->xCHI2() LS " << EFBjet->xCHI2() << endreq; } + *m_log << MSG::INFO<< "====> Ended successfully HLTBjetMonTool::fill()" << endreq; + return StatusCode::SUCCESS; } diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/TaggerHelper.cxx b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/TaggerHelper.cxx index a65024b270a562688821d6853ff50288115dce8f..627b2c5ec42a661a7f6dc2a241f1bb9249b62031 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/TaggerHelper.cxx +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/TaggerHelper.cxx @@ -36,26 +36,6 @@ TaggerHelper::TaggerHelper(MsgStream* log) : TaggerHelper::~TaggerHelper() {} -//** ----------------------------------------------------------------------------------------------------------------- **// - - -void TaggerHelper::showParam(const TrigInDetTrack*& track, unsigned int i) { - - //* Print track impact parameters at L2 *// - *m_log << MSG::VERBOSE << "Print track impact parameters at L2:" << endreq; - *m_log << MSG::VERBOSE << " Track number " << i+1 << endreq; - *m_log << MSG::VERBOSE << " d0 = " << track->param()->a0() - << " z0 = " << track->param()->z0() - << " eta = " << track->param()->eta() - << " phi0 = " << track->param()->phi0() - << " pT = " << track->param()->pT() << endreq; - *m_log << MSG::VERBOSE << " errd0 = " << track->param()->ea0() - << " errz0 = " << track->param()->ez0() - << " errphi0 = " << track->param()->ephi0() - << " erreta = " << track->param()->eeta() - << " errpT = " << track->param()->epT() << endreq; - -} //** ----------------------------------------------------------------------------------------------------------------- **// @@ -83,23 +63,6 @@ void TaggerHelper::showParam(const Rec::TrackParticle*& track, unsigned int i) { //** ----------------------------------------------------------------------------------------------------------------- **// -unsigned int TaggerHelper::getTrackNumber(const TrigInDetTrackCollection* pointerToL2TrackCollections) { - - unsigned int nTracks; - - if (pointerToL2TrackCollections) { - nTracks = pointerToL2TrackCollections->size(); - *m_log << MSG::DEBUG << "Found " << nTracks << " tracks in the RoI" << endreq; - } else { - nTracks = 0; - *m_log << MSG::DEBUG << "No tracks in the RoI" << endreq; - } - - return nTracks; -} - - -//** ----------------------------------------------------------------------------------------------------------------- **// unsigned int TaggerHelper::getTrackNumber(const Rec::TrackParticleContainer* pointerToEFTrackCollections) { @@ -118,23 +81,6 @@ unsigned int TaggerHelper::getTrackNumber(const Rec::TrackParticleContainer* poi } -//** ----------------------------------------------------------------------------------------------------------------- **// - - -unsigned int TaggerHelper::getVerticesNumber(const TrigVertexCollection*& pointerToPrmVtxCollections) { - - unsigned int nVertices; - - if (pointerToPrmVtxCollections) { - nVertices = pointerToPrmVtxCollections->size(); - *m_log << MSG::DEBUG << "Found " << nVertices << " vertices in the RoI" << endreq; - } else { - nVertices = 0; - *m_log << MSG::DEBUG << "No vertices in the RoI" << endreq; - } - - return nVertices; -} //** ----------------------------------------------------------------------------------------------------------------- **// diff --git a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/TuningLikelihood.cxx b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/TuningLikelihood.cxx index 1a1cb0e118c8001af97beda48a9c26d3481b8f17..180314b0615b60b49361b38c2eb07e3ee4af7885 100755 --- a/Trigger/TrigMonitoring/TrigBjetMonitoring/src/TuningLikelihood.cxx +++ b/Trigger/TrigMonitoring/TrigBjetMonitoring/src/TuningLikelihood.cxx @@ -19,7 +19,8 @@ //** ----------------------------------------------------------------------------------------------------------------- **// -TuningLikelihood::TuningLikelihood(const float *sizeLikelihood, const float *bLikelihood, +//TuningLikelihood::TuningLikelihood(const float *sizeLikelihood, const float *bLikelihood, +TuningLikelihood::TuningLikelihood(const int *sizeLikelihood, const float *bLikelihood, const float *uLikelihood, const int dimensionLikelihood) : m_bLikelihood(&bLikelihood[0]), m_uLikelihood(&uLikelihood[0]),