From 9282a12dd14b4c64244628d3bf09de162baced6b Mon Sep 17 00:00:00 2001
From: Michel Angelo Aguilera Pulgar <michel.angelo.aguilera.pulgar@cern.ch>
Date: Wed, 30 Sep 2020 21:44:36 +0200
Subject: [PATCH] Adding basicVars 1

---
 .../python/TrigTauMonitoringConfigMT.py       | 40 +++++++++++++++++--
 .../src/TrigTauMonitorAlgorithm.cxx           | 29 ++++++++++++++
 .../src/TrigTauMonitorAlgorithm.h             |  1 +
 3 files changed, 67 insertions(+), 3 deletions(-)

diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfigMT.py b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfigMT.py
index 3bbf0ade1af..da1b2ba8a2b 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfigMT.py
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfigMT.py
@@ -193,6 +193,9 @@ class TrigTauMonAlgBuilder:
         self.bookRNNTrack( monAlg, trigger, online=False )
         self.bookRNNCluster( monAlg, trigger, online=True )
         self.bookRNNCluster( monAlg, trigger, online=False )
+        self.bookbasicVars( monAlg, trigger, online=True )
+        self.bookbasicVars( monAlg, trigger, online=False )
+
   #
   # Book RNN Variables
   #
@@ -229,10 +232,10 @@ class TrigTauMonAlgBuilder:
     monGroup.defineHistogram('track_dPhi',title='track_dPhi;track_dPhi;Events',xbins=100,xmin=-0.5,xmax=0.5)
     monGroup.defineHistogram('track_d0_abs_log',title='track_d0_abs_log;track_d0_abs_log;Events',xbins=50,xmin=-7,xmax=2)
     monGroup.defineHistogram('track_z0sinThetaTJVA_abs_log',title='track_z0sinThetaTJVA_abs_log;track_z0sinThetaTJVA_abs_log;Events',xbins=50,xmin=-10,xmax=4)
-    monGroup.defineHistogram('track_nIBLHitsAndExp',title='track_nIBLHitsAndExp; track_nIBLHitsAndExp;Events',xbins=3,xmin=0,xmax=3)
+    monGroup.defineHistogram('track_nIBLHitsAndExp',title='track_nIBLHitsAndExp; track_nIBLHitsAndExp;Events',xbins=3,xmin=0,xmax=3)
     monGroup.defineHistogram('track_nPixelHitsPlusDeadSensors',title='track_nPixelHitsPlusDeadSensors;track_nPixelHitsPlusDeadSensors;Events',xbins=11,xmin=0,xmax=11)
     monGroup.defineHistogram('track_nSCTHitsPlusDeadSensors',title='track_nSCTHitsPlusDeadSensors;track_nSCTHitsPlusDeadSensors;Events',xbins=20,xmin=0,xmax=20)
-
+        
   def bookRNNCluster( self, monAlg, trigger, online ):
 
     monGroupName = trigger+'_RNN_'+('HLT' if online else 'Offline')+'_InputCluster'
@@ -248,4 +251,35 @@ class TrigTauMonAlgBuilder:
     monGroup.defineHistogram('cluster_SECOND_R_log10',title='cluster_SECOND_R_log10; cluster_SECOND_R_log10;Events',xbins=50,xmin=-3,xmax=7)
     monGroup.defineHistogram('cluster_SECOND_LAMBDA_log10',title='cluster_SECOND_LAMBDA_log10; cluster_SECOND_LAMBDA_log10;Events',xbins=50,xmin=-3,xmax=7)
     monGroup.defineHistogram('cluster_CENTER_LAMBDA_log10',title='cluster_CENTER_LAMBDA_log10; cluster_CENTER_LAMBDA_log10;Events',xbins=50,xmin=-2,xmax=5)
-
+    
+def bookbasicVars( self, monAlg, trigger, online ):
+  
+    monGroup = self.helper.addGroup( monAlg, trigger+'_basicVars_' + ('HLT' if online else 'Offline'), 
+                                     self.basePath+'/'+trigger+'_basicVars_' + ('HLT' if online else 'Offline') )+'/basicVars'
+    
+    monGroup.defineHistogram('hEFEt', title='EF Et;E_{T}[GeV];Nevents',xbins=50,xmin=0,xmax=100)
+    monGroup.defineHistogram('hEFEta', title='EF TrigCaloCluster Eta; #eta ; Nevents',xbins=26,xmin=-2.6,xmax=2.6)
+    #addHistogram(new TH1F("hEFNUM","Online mu; Online #mu ; Nevents",100,0,100));
+    monGroup.defineHistogram('hEFNUM,mu;hEFNUM_mu', type='TH2F', title='Online vs offline mu; Online #mu ; Offline #mu',
+                               path='Shifter/cell',
+                               xbins=100,xmin=0,xmax=100,ybins=100,ymin=0,ymax=100)
+    #/addHistogram(new TH2F('hEFNUMvsmu','Online vs offline mu; Online #mu ; Offline #mu',  100,0,100,100,0,100));
+    monGroup.defineHistogram('hEFPhi', title='EF TrigCaloCluster Phi; #phi ; Nevents',xbins=16,xmin=-3.2,xmax=3.2)
+    monGroup.defineHistogram('hEFnTrack', title='EF number of tracks;number of tracks;Nevents',xbins=10,xmin=0,xmax=10)
+    monGroup.defineHistogram('hEFEta,Phi;hEFEta_Phi', type='TH2F', title='EF TrigCaloCluster Eta vs Phi; #eta ; #phi ; Nevents',
+                               path='Shifter/cell',
+                               xbins=26,xmin=-2.6,xmax=2.6,ybins=16,ymin=-3.2,ymax=3.2)
+    #addHistogram(new TH2F("hEFEtaVsPhi","EF TrigCaloCluster Eta vs Phi; #eta ; #phi ; Nevents",26,-2.6,2.6,16,-3.2,3.2));
+    monGroup.defineHistogram('hEFEt,Phi;hEFEt_Phi', type='TH2F', title='Et from tau Jet vs #phi; #phi^{EF}; Raw E_{T} [GeV]',
+                               path='Shifter/cell',
+                               xbins=16,xmin=-3.2,xmax=3.2,ybins=50,ymin=0,ymax=100)
+    #addHistogram(new TH2F("hEFEtVsPhi","Et from tau Jet vs #phi; #phi^{EF}; Raw E_{T} [GeV]",16,-3.2,3.2,50,0.0,100.0));
+    monGroup.defineHistogram('hEFEt,Eta;hEFEt_Eta', type='TH2F', title='Et from tau Jet vs #eta; #eta^{EF}; Raw E_{T}[GeV]',
+                               path='Shifter/cell',
+                               xbins=26,xmin=-2.6,xmax=2.6,ybins=50,ymin=0,ymax=100)
+    #addHistogram(new TH2F("hEFEtVsEta","Et from tau Jet vs #eta; #eta^{EF}; Raw E_{T}[GeV]",26,-2.6,2.6,50,0.0,100.0));
+    monGroup.defineHistogram('hEFEtRaw', title='EF Et Raw;Uncalibrated E_{T}[GeV];Nevents',xbins=50,xmin=0,xmax=100)
+    monGroup.defineHistogram('hEFnWideTrack', title='EF number of wide tracks;number of tracks;Nevents',xbins=10,xmin=0,xmax=10)
+
+    monGroup.defineHistogram('hEFIsoFrac', title='Iso Fraction at EF; isoFrac at EF; Candidates',xbins=50,xmin=-0.1,xmax=1.1)
+    monGroup.defineHistogram('hEFEMFraction', title='Em Fraction at EF; EM Fraction at EF; Candidates',xbins=50,xmin=-0.05,xmax=1.1)
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.cxx
index 1fc9586e8c9..9a826cf4982 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.cxx
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.cxx
@@ -395,6 +395,35 @@ void TrigTauMonitorAlgorithm::fillRNNCluster(const std::string trigger, std::vec
 
 }
 
+void TrigTauMonitorAlgorithm::fillbasicVars(const std::string trigger, std::vector<const xAOD::TauJet*> tau_vec,bool online) const
+{
+  ATH_MSG_DEBUG("Fill Basic Variables: " << trigger); 
+
+  auto monGroup = getGroup(trigger+( online ? "/basicVars/HLT" : "/basicVars/Offline"));  
+
+  //auto hEFEt           = Monitored::Collection("hEFEt", tau_vec,  [] (const xAOD::TauJet* tau){return tau->pt()/GeV; });
+  auto hEFEt           = Monitored::Collection("hEFEt", tau_vec,  [] (const xAOD::TauJet* tau){return tau->pt(); });
+  auto hEFEta          = Monitored::Collection("hEFEta", tau_vec,  [] (const xAOD::TauJet* tau){return tau->eta(); });                                                     
+
+  //int num_vxt = m_mu_online;
+  //auto hEFNUM          = Monitored::Collection("hEFNUM", tau_vec,  [] (const xAOD::TauJet* tau){return num_vxt; });   
+  //hist2("hEFNUMvsmu")->Fill(num_vxt,mu);
+  auto hEFPhi          = Monitored::Collection("hEFPhi", tau_vec,  [] (const xAOD::TauJet* tau){return tau->phi(); });
+  auto hEFnTrack       = Monitored::Collection("hEFnTrack", tau_vec,  [] (const xAOD::TauJet* tau){
+      int nTracks=-1;
+      tau->detail(xAOD::TauJetParameters::nChargedTracks, EFnTrack);
+      return EFnTrack; }); 
+  auto hEFnWideTrack   = Monitored::Collection("hEFnWideTrack", tau_vec,  [] (const xAOD::TauJet* tau){
+      int EFWidenTrack(-1);
+      // XAODTAU_VERSIONS_TAUJET_V3_H 
+      EFWidenTrack = tau->nTracksIsolation();
+      return EFWidenTrack; }); 
+  //hist2("hEFEtaVsPhi")->Fill(aEFTau->eta(),aEFTau->phi());
+  //hist2("hEFEtVsPhi")->Fill(aEFTau->phi(),aEFTau->pt()/GeV);
+  //hist2("hEFEtVsEta")->Fill(aEFTau->eta(),aEFTau->pt()/GeV);
+  fill(monGroup, hEFEt,hEFEta,hEFPhi,hEFnTrack,hEFnWideTrack);
+}
+
 TrigInfo TrigTauMonitorAlgorithm::getTrigInfo(const std::string trigger) const{ 
   return m_trigInfo.at(trigger); 
 }
diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.h b/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.h
index bb51486e5c1..e8760d6170c 100644
--- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.h
+++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorAlgorithm.h
@@ -49,6 +49,7 @@ class TrigTauMonitorAlgorithm : public AthMonitorAlgorithm {
   void fillRNNInputVars(const std::string trigger, std::vector<const xAOD::TauJet*> tau_vec,const std::string nProng, bool online) const;
   void fillRNNTrack(const std::string trigger, std::vector<const xAOD::TauJet*> tau_vec, bool online) const;
   void fillRNNCluster(const std::string trigger, std::vector<const xAOD::TauJet*> tau_vec, bool online) const;
+  void fillbasicVars(const std::string trigger, std::vector<const xAOD::TauJet> tau_vec, bool online) const;
   void fillDistributions(std::vector< std::pair< const xAOD::TauJet*, const TrigCompositeUtils::Decision * >> pairObjs, const std::string trigger) const;
 
   inline double dR(const double eta1, const double phi1, const double eta2, const double phi2) const
-- 
GitLab