Skip to content
Snippets Groups Projects
Commit 3c1f4a87 authored by Adam Edward Barton's avatar Adam Edward Barton :speech_balloon:
Browse files

Merge branch 'TrigT1NSWSimTools_cleanup_master' into 'master'

Cleanup TrigT1NSWSimTools

See merge request atlas/athena!20198
parents 08ec5ba9 06b66be9
No related branches found
No related tags found
No related merge requests found
Showing
with 51 additions and 250 deletions
// -*- c++ -*-
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef NSWL1_IPADTDSTOOL_H
......@@ -29,9 +29,6 @@ namespace NSWL1 {
Note to self: Sandro's original design was to have an interface and
then an "Offline" and an "Online" tool. I don't know whether this
is still what we want...to be discussed.
davide.gerbaudo@gmail.com
Oct 2015
*/
class IPadTriggerLogicTool: public virtual IAlgTool {
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ISTRIPCLUSTERTOOL_H
......@@ -8,7 +8,7 @@
//basic includes
#include "GaudiKernel/IAlgTool.h"
//local includes
#include "TriggerTypes.h"
#include "TrigT1NSWSimTools/TriggerTypes.h"
#include "TrigT1NSWSimTools/StripData.h"
#include "TrigT1NSWSimTools/StripClusterData.h"
#include <vector>
......@@ -26,7 +26,6 @@ namespace NSWL1 {
* This class implements the public interface of the Strip clustering Tools.
* It Current unclear what it will output to input the StripTrigger simulation.
*
* @author Jacob Searcy <jsearcy@umich.edu>
*
*
*/
......
......@@ -22,7 +22,6 @@ namespace NSWL1 {
* This class implements the public interface of the Strip Segmentfinding tool Tools.
* It Current unclear what it will output to input the StripTrigger simulation.
*
* @author Jacob Searcy <jsearcy@umich.edu>
*
*
*/
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ISTRIPTDSTOOL_H
......@@ -22,7 +22,6 @@ class StripOfflineData;
* This class implements the public interface of the TDS Tools.
* It returns a vector of StripData to input the StripTrigger simulation.
*
* @author Jacob Searcy <jsearcy@umich.edu>
*
*
*/
......
// Dear emacs, this is -*- c++ -*-
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
*/
#ifndef NSW_L1TDRSTGCTRIGGERLOGIC_H
......@@ -10,11 +10,14 @@
#include "TrigT1NSWSimTools/TriggerTypes.h"
#include "TrigT1NSWSimTools/SectorTriggerCandidate.h"
#include "TrigT1NSWSimTools/SingleWedgePadTrigger.h"
#include "GaudiKernel/MsgStream.h"
#include "TRandom.h"
#include "AthenaBaseComps/AthMsgStreamMacros.h"
#include "AthenaKernel/MsgStreamMember.h"
#include <string>
#include <vector>
#include "TRandom.h"
//forward declarations
class MsgStream;
namespace NSWL1 {
......@@ -46,7 +49,7 @@ class L1TdrStgcTriggerLogic {
public:
L1TdrStgcTriggerLogic(IMessageSvc* svc , std::string);//get svc from parent class / messaging level is set automatically/ via setMsgLvl
L1TdrStgcTriggerLogic();//get svc from parent class
virtual ~L1TdrStgcTriggerLogic();
/**
@brief main function to compute trigger candidates
......@@ -101,15 +104,21 @@ class L1TdrStgcTriggerLogic {
const std::vector< size_t > &padIndicesLayer1,
const std::vector< size_t > &padIndicesLayer2,
const std::vector< size_t > &padIndicesLayer3);
MsgStream& msgStream(){return m_msg;}
protected:
/// Log a message using the Athena controlled logging system
MsgStream& msg(MSG::Level lvl) const { return m_msg.get() << lvl; }
/// Check whether the logging system is active at the provided verbosity level
bool msgLvl(MSG::Level lvl) { return m_msg.get().level() <= lvl; }
/// Private message stream member
mutable Athena::MsgStreamMember m_msg;
private:
TRandom m_rand;
std::vector< SectorTriggerCandidate > m_secTrigCand;
bool m_writePickle; /// after computing the triggers, write the canditates to 'pickle' files (for event display)
std::string m_picklePrefix; /// path where the pickle files will be written
int m_msglvl;
mutable MsgStream m_msg;
};
......
......@@ -8,7 +8,7 @@
// local includes
#include <stdint.h>
#include <ostream>
#include <iostream>
// namespace for the NSW LVL1 related classes
namespace NSWL1 {
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MMFPGAOFFLINETOOL_H
......@@ -18,13 +18,8 @@
//forward declarations
class IIncidentSvc;
class IAtRndmGenSvc;
class TTree;
namespace CLHEP {
class HepRandomEngine;
}
// namespace for the NSW LVL1 related classes
namespace NSWL1 {
......@@ -82,8 +77,6 @@ namespace NSWL1 {
// needed Servives, Tools and Helpers
ServiceHandle< IIncidentSvc > m_incidentSvc; //!< Athena/Gaudi incident Service
ServiceHandle< IAtRndmGenSvc > m_rndmSvc; //!< Athena random number service
CLHEP::HepRandomEngine* m_rndmEngine; //!< Random number engine
// hidden variables
std::vector< std::vector<MMCandidateData*> >
......@@ -92,12 +85,8 @@ namespace NSWL1 {
int m_mmcandidate_cache_eventNumber; //!< event number associated to the current MM Strip cache
cStatus m_mmcandidate_cache_status[32]; //!< status of the current cache
// properties: container and service names
StringProperty m_rndmEngineName; //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
BooleanProperty m_doNtuple; //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
//properties
BooleanProperty m_doNtuple;
// analysis ntuple
TTree* m_tree; //!< ntuple for analysis
......@@ -105,6 +94,7 @@ namespace NSWL1 {
// analysis variable to be put into the ntuple
int m_nMMCandidates; //!< number of Candidates delivered
}; // end of MMFPGAOfflineTool class
} // namespace NSWL1
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MMSTRIPOFFLINEDATA_H
......@@ -12,10 +12,6 @@
// local includes
#include "TrigT1NSWSimTools/MMStripData.h"
// forward declarations
class TVector3;
// namespace for the NSW LVL1 related classes
namespace NSWL1 {
......@@ -45,7 +41,6 @@ namespace NSWL1 {
MMStripOfflineData(Identifier id, const MmIdHelper* helper);
~MMStripOfflineData();
//void setStripCharge(float charge); //!< set the strip charge
void setTrigBCID(int bcid); //!< set the trig BCID
//! methods for retrieving the bare data
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MMSTRIPTDSOFFLINETOOL_H
......@@ -18,57 +18,19 @@
//forward declarations
class IIncidentSvc;
class IAtRndmGenSvc;
class MmIdHelper;
class MmDigit;
class TTree;
//MMT_Loader includes
//C++ language libararies
#include <dirent.h>
#include <map>
#include <vector>
#include <string>
#include <fstream>
#include <cmath>
#include <cstdlib>
#include <cstdio>
#include <iostream>
//ROOT libraries
#include "TMultiGraph.h"
#include "TCanvas.h"
#include "TColor.h"
#include "TGraphErrors.h"
#include "TLatex.h"
#include "TStyle.h"
#include "TH2D.h"
#include "Rtypes.h"
#include "TTree.h"
#include "TFile.h"
#include "TObject.h"
#include "TROOT.h"
#include "TH1F.h"
#include "TRandom3.h"
#include "TF1.h"
#include "TLorentzVector.h"
#include "MMT_struct.h"
#include "MMT_Finder.h"
#include "MMT_Fitter.h"
//#include "/afs/cern.ch/user/m/mkhader/mm_trig/MM_Trigger/plots/mmt_plot/atlasstyle-00-03-05/AtlasStyle.h"
namespace CLHEP {
class HepRandomEngine;
}
namespace MuonGM {
class MuonDetectorManager;
}
//local includes
#include "MMT_struct.h"
#include "MMT_Finder.h"
#include "MMT_Fitter.h"
// namespace for the NSW LVL1 related classes
namespace NSWL1 {
......@@ -106,37 +68,24 @@ namespace NSWL1 {
//MMTrigger stuff
int eta_bin(double theta) const;
std::string eta_str(int eta) const;
int n_etabins;
int correct_bcid;
int m_n_etabins;
std::vector<double> m_etabins;
double etalo,etahi;
std::string nom;
//MMT_Loader stuff
//debug stuff
std::vector<std::vector<std::vector<double> > >strip_poss,yvals;
std::map<int,double> strip500;
std::map<int,int> zplanes;
std::vector<TH1D*> m_diff_xuv;
MMT_Parameters *m_par;
//MMT_Finder m_find;
//load event stuff
std::vector<hitData_entry> event_hitDatas(int find_event) const;
std::vector<hitData_key> event_hitData_keys(int find_event) const;
std::map<int,evFit_entry> Event_Fit;//key is event no.
std::map<int,evInf_entry> Event_Info;//key is event no.
std::map<int,evAna_entry> Event_Analysis;//key is event no.
std::map<hitData_key,hitData_entry> Hits_Data_Set_Time;//key is hit_index? <BC_time,time>?
std::map<hitData_key,hitData_entry> m_Hits_Data_Set_Time;//key is hit_index? <BC_time,time>?
//VMM info
std::vector<std::vector<bool> > VMM_chip_status;
std::vector<std::vector<int> > VMM__chip_last_hit_time;
std::vector<std::vector<bool> > m_VMM_chip_status;
std::vector<std::vector<int> > m_VMM__chip_last_hit_time;
bool Mimic_VMM_Chip_Deadtime(hitData_entry& candy);
double VMM_deadtime;
int num_VMM_per_plane;
double m_VMM_deadtime;
//Import_Athena..._.m stuff
double phi_shift(double athena_phi) const;
......@@ -145,20 +94,10 @@ namespace NSWL1 {
int Get_Strip_ID(double X,double Y,int plane) const;
//x <---> u/v switches
bool uvxxmod;
void xxuv_to_uvxx(TVector3& hit,int plane)const;
void hit_rot_stereo_fwd(TVector3& hit)const;//x to v, u to x
void hit_rot_stereo_bck(TVector3& hit)const;//x to u, v to x
//Hist stuff
//TH1::SetDefaultSumw2();
//TH1D *m_fit_the;
//event counter should be fixed when code is better understood
int evtcount = 0;
//MMT_Loader stuff end
enum cStatus {OK, FILL_ERROR, CLEARED};
......@@ -191,10 +130,6 @@ namespace NSWL1 {
// needed Servives, Tools and Helpers
ServiceHandle< IIncidentSvc > m_incidentSvc; //!< Athena/Gaudi incident Service
ServiceHandle< IAtRndmGenSvc > m_rndmSvc; //!< Athena random number service
CLHEP::HepRandomEngine* m_rndmEngine; //!< Random number engine
const MuonGM::MuonDetectorManager* m_detManager; //!< MuonDetectorManager
const MmIdHelper* m_MmIdHelper; //!< MM offline Id helper
// hidden variables
std::vector< std::vector<MMStripData*> > m_mmstrip_cache; //!< cache for the MM Strip hit data in the event
......@@ -202,15 +137,6 @@ namespace NSWL1 {
int m_mmstrip_cache_eventNumber; //!< event number associated to the current MM Strip cache
cStatus m_mmstrip_cache_status; //!< status of the current cache
// properties: container and service names
StringProperty m_rndmEngineName; //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
StringProperty m_MmDigitContainer; //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
StringProperty m_MmSdoContainer; //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
StringProperty m_MmHitContainer;
StringProperty m_Truth_ContainerName;
StringProperty m_MuEntry_ContainerName;
BooleanProperty m_doNtuple; //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
......@@ -231,28 +157,8 @@ namespace NSWL1 {
std::vector<double>* m_res_dth;
/*
int m_nMMStripHits; //!< number of Strip hit delivered
std::vector<int>* m_MMhitPDGId; //!< PDG id of particles creating the hits
std::vector<float>* m_MMhitDepositEnergy; //!< energy deposited by particles
std::vector<float>* m_MMhitKineticEnergy; //!< kinetic energy of particles
std::vector<float>* m_mmstripGlobalX; //!< global position X of the Strip hit
std::vector<float>* m_mmstripGlobalY; //!< global position Y of the Strip hit
std::vector<float>* m_mmstripGlobalZ; //!< global position Z of the Strip hit
std::vector<float>* m_mmstripTruthHitGlobalX; //!< global position X of the truth hit associated to the Strip hit
std::vector<float>* m_mmstripTruthHitGlobalY; //!< global position Y of the truth hit associated to the Strip hit
std::vector<float>* m_mmstripTruthHitGlobalZ; //!< global position Z of the truth hit associated to the Strip hit
*/
//std::vector<float>* m_mmstripGlobalX; //!< global position X of the Strip hit
//std::vector<float>* m_mmstripGlobalY; //!< global position Y of the Strip hit
//std::vector<float>* m_mmstripGlobalZ;
//These are not in MMDigitvariables, need to find what they correspond to in previous ntuple
// Variables from MMDigitVariables for ntuple (maybe keep)
//int m_NSWMM_nDigits;
std::vector<std::string> *m_NSWMM_dig_stationName;
std::vector<int> *m_NSWMM_dig_stationEta;
std::vector<int> *m_NSWMM_dig_stationPhi;
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MMT_FINDER_H
......@@ -7,13 +7,14 @@
#include "AthenaKernel/MsgStreamMember.h"
#include "AthenaBaseComps/AthMsgStreamMacros.h"
#include "MMT_struct.h"
class MMT_Finder{
public:
MMT_Finder(MMT_Parameters *par, int nUVRoads = 1, int outputLevel = MSG::WARNING);
MMT_Finder(MMT_Parameters *par, int nUVRoads = 1);
~MMT_Finder(){}
int Coincidence_Gate(const std::vector<bool>& plane_hits) const;
void set_roads(int roads) { m_nRoads=roads; }
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MMT_FITTER_H
......@@ -19,7 +19,6 @@ class MMT_Fitter{
int get_last() const {return m_last;}
int SC_ROI_n_x() const {return m_par->n_x;}
int SC_ROI_n_y() const {return m_par->n_y;}
/* std::vector<int> xent,yent; */
int find_hitData(const std::vector<hitData_entry>& hitDatas, const hitData_key& key) const;
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MM_STRUCT_H
#define MM_STRUCT_H
#include <fstream>
// #include "fixed_point.h"
#include "MuonReadoutGeometry/MMReadoutElement.h"
#include "MuonReadoutGeometry/MuonDetectorManager.h"
......@@ -15,16 +14,9 @@
#include "AthenaKernel/MsgStreamMember.h"
#include "TTree.h"
#include "TH1F.h"
#include "TLorentzVector.h"
#include "TMath.h"
#include<cmath>
// using namespace fpml;
//flags
const double crep_pt=200.;
/*
......@@ -34,10 +26,8 @@ const double crep_pt=200.;
--road (Finder in MMT_Finder)
*/
//constants and convsersions
//constants and conversions
const int yzdex=2,bkdex=13,zbardex=2;
// double store_const;
template<unsigned char T> class float32fixed
{
......@@ -68,7 +58,6 @@ public:
//=== return input value with fixed point precision
return ::roundf(m_fixp_content * std::pow(2., scale)) / std::pow(2., scale);
// return fixedPointPrecision(T, m_fixp_content);
}
......@@ -190,7 +179,6 @@ struct par_par{
double h;
int ctx,ctuv;
double uverr;
//fixed_point<int,1> uverr; //need int here
std::string setup;
bool islarge,q_dlm,genbg;
double qt;
......@@ -205,9 +193,6 @@ struct par_par{
};
// const par_par standard=par_par(0.0009,4,4,0.0035,"xxuvxxuv",true);
// const par_par dlm=par_par(0.0009,4,4,0.007,"xxuvuvxx",true,true); //.0035 for uv_tol before...
class MMT_Parameters{
public:
MMT_Parameters(par_par inputParams,char wedgeSize, const MuonGM::MuonDetectorManager* detManager);
......@@ -232,7 +217,6 @@ class MMT_Parameters{
int ybin(float32fixed<18> y,int plane=0)const;
int ybin(float32fixed<yzdex> y,int plane=0)const;
int ybin(double y,int plane=0)const;
// double ymid_eta_bin(int bin,int plane)const;
//fill the tables
void Local_Slope_A_B();
......@@ -430,26 +414,14 @@ struct hitData_info{
//members
int plane;
//char addc,vmm,strip;//strip is in a vmm (0-63); char for storage as a byte
float32fixed<yzdex> y,z;//actual values divided by store_const() to make fixed point calculations doable--all this stuff is dimensionless in the end, so it's okay.
float32fixed<2> slope;
// /// Log a message using the Athena controlled logging system
// MsgStream& msg( MSG::Level lvl ) const { return m_msg << lvl; }
// /// Check whether the logging system is active at the provided verbosity level
// bool msgLvl( MSG::Level lvl ) const { return m_msg.get().level() <= lvl; }
// private:
// /// Private message stream member
// mutable Athena::MsgStreamMember m_msg;
};
struct Hit{
//make a well-behaved constructor
/* Hit(int _plane=-1, int _strip=0, int _station_eta=0, double _slope=0, int bct=0, double t=0, double gt=0, int vmm=0); */
Hit(const hitData_key&k=hitData_key(),const hitData_info&i=hitData_info());
/* double slope()const {return info.slope();} */
bool operator==(const Hit& rhs) const;
void print_track(const std::vector<Hit>& track) const;
void print() const;
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef MMTRIGGERTOOL_H
......@@ -16,14 +16,12 @@
//forward declarations
class IIncidentSvc;
class IAtRndmGenSvc;
class MmIdHelper;
class MmDigit;
class TTree;
#include "MMLoadVariables.h"
#include "MuonDigitContainer/MmDigitContainer.h"
#include "MuonDigitContainer/MmDigit.h"
namespace MuonGM {
......@@ -76,12 +74,7 @@ namespace NSWL1 {
// properties: container and service names
StringProperty m_rndmEngineName; //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
StringProperty m_MmDigitContainer; //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
StringProperty m_MmSdoContainer; //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
StringProperty m_MmHitContainer;
StringProperty m_Truth_ContainerName;
StringProperty m_MuEntry_ContainerName;
BooleanProperty m_doNtuple; //!< property, see @link MMStripTdsOfflineTool::MMStripTdsOfflineTool @endlink
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
// -*-c++-*-
......@@ -8,7 +8,6 @@
// local includes
#include <stdint.h>
#include <ostream>
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef PADOFFLINEDATA_H
......@@ -12,11 +12,6 @@
// local includes
#include "TrigT1NSWSimTools/PadData.h"
// forward declarations
class TVector3;
// namespace for the NSW LVL1 related classes
namespace NSWL1 {
......@@ -44,15 +39,12 @@ namespace NSWL1 {
public:
PadOfflineData(Identifier id, float time, uint16_t bc_tag, const sTgcIdHelper* helper);
//PadOfflineData(Identifier id, float time, uint16_t bc_tag, bool isdead, bool ispileup, const sTgcIdHelper* helper);
~PadOfflineData();
//! methods for retrieving the bare data
uint32_t id() const; //!< get the 32 bit word identifing the fragment
uint16_t BC_Tag() const; //!< get the BCID
float time() const; //!< get the arrival time after the delay is applied
//bool isDead() const; //!< get the isDead bool
//bool isPileup() const; //!< get the isPileup bool
//! helper methods decoding the hit fragment position within the NSW detector
int sideId() const; //!< get the side (0==sideC, 1==sideA)
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
// -*-c++-*-
......
// -*- c++ -*-
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
#ifndef NSWL1_PADDATA_H
......@@ -9,7 +9,6 @@
#include "TrigT1NSWSimTools/TriggerTypes.h"
#include "TrigT1NSWSimTools/GeoUtils.h"
#include <ostream>
#include <vector>
......@@ -79,7 +78,5 @@ namespace NSWL1 {
} // namespace NSWL1
/// \todo
// std::ostream& operator<<(std::ostream& stream, NSWL1::PadTrigger& pt);
#endif
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
// -*-c++-*-
......@@ -21,13 +21,7 @@
//forward declarations
class IIncidentSvc;
class IAtRndmGenSvc;
class TTree;
class sTgcDigitContainer;
namespace CLHEP {
class HepRandomEngine;
}
namespace MuonGM {
class MuonDetectorManager;
......@@ -52,7 +46,6 @@ namespace NSWL1 {
// DG--todo
// DG--todo It returns a vector of PadData to input the PadTrigger simulation.
davide.gerbaudo@gmail.com
Oct 2015
*/
......@@ -78,8 +71,6 @@ namespace NSWL1 {
See test/test_4on4padTrigger.cxx
*/
static std::vector<std::unique_ptr<PadTrigger>> build4of4SingleWedgeTriggers(const std::vector<std::shared_ptr<PadData>> &pads);
///// from PadData to the TDR-style PadWithHits
//static PadWithHits convert(const PadData &pd);
/**
@brief transfer the geometric info from PadData to PadWithHits
Note: it needs to access the MuonDetectorManager
......@@ -93,32 +84,16 @@ namespace NSWL1 {
private:
/// get the output tree from the athena histogram service
TTree* get_tree_from_histsvc();
// // methods implementing the internal data processing
// CacheStatus fill_pad_cache(); //!< loop over the digit container, apply the additional processing then fill the cache
// void clear_cache(); //!< clear the pad hit cache deleting the PadData pointers
// needed Servives, Tools and Helpers
ServiceHandle< IIncidentSvc > m_incidentSvc; //!< Athena/Gaudi incident Service
ServiceHandle< IAtRndmGenSvc > m_rndmSvc; //!< Athena random number service
CLHEP::HepRandomEngine* m_rndmEngine; //!< Random number engine
const MuonGM::MuonDetectorManager* m_detManager; //!< MuonDetectorManager
// DG-2015-10-02 probably not needed
// const sTgcIdHelper* m_sTgcIdHelper; //!< sTgc offline Id helper
// \todo
// DG-2015-10-02 : can probably get rid of all this caching below
// hidden variables
// std::vector< std::vector<PadData*> > m_pad_cache; //!< cache for the PAD hit data in the event (one per sector)
int m_pad_cache_runNumber; //!< run number associated to the current PAD cache
int m_pad_cache_eventNumber; //!< event number associated to the current PAD cache
// CacheStatus m_pad_cache_status; //!< status of the current cache
// properties: container and service names
StringProperty m_rndmEngineName; //!< property, todo
StringProperty m_sTgcDigitContainer; //!< property, todo
StringProperty m_sTgcSdoContainer; //!< property, todo
// properties: configuration
FloatProperty m_PadEfficiency; //!< property, todo
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
// -*-c++-*-
......@@ -9,7 +9,6 @@
#include "GeoPrimitives/GeoPrimitives.h" // Amg::Vector3D (cannot fw declare typedef)
#include "TrigT1NSWSimTools/TriggerTypes.h"
#include <string>
#include <utility> // pair
#include <vector>
class TTree;
......@@ -43,11 +42,6 @@ public:
void clear_ntuple_variables(); ///< set to 0 all pointers of internal containers
void fill_num_pad_triggers(size_t num); ///< store the number of pad triggers per event
void fill_pad_trigger_basics(const std::vector<std::unique_ptr<PadTrigger>> &triggers); ///< store basic information about the pad triggers
/*
void fill_num_pad_hits(size_t num); ///< store the number of hits for one pad
void fill_hit_global_pos(const Amg::Vector3D& pos); ///< store global position of a hit
void fill_truth_hit_global_pos(const Amg::Vector3D& pos); ///< store global position of a truth-matched hit
*/
private:
std::string m_treename;
TTree* m_tree; ///< ntuple for analysis
......@@ -71,21 +65,6 @@ private:
std::vector<std::vector<float>>* m_padTriggerlocalminY;
std::vector<std::vector<float>>* m_padTriggerlocalmaxY;
// int m_nPadHits; ///< number of PAD hit delivered
// std::vector<float>* m_padGlobalX; ///< global position X of the PAD hit
// std::vector<float>* m_padGlobalY; ///< global position Y of the PAD hit
// std::vector<float>* m_padGlobalZ; ///< global position Z of the PAD hit
// std::vector<float>* m_padTruthHitGlobalX; ///< global position X of the truth hit associated to the PAD hit
// std::vector<float>* m_padTruthHitGlobalY; ///< global position Y of the truth hit associated to the PAD hit
// std::vector<float>* m_padTruthHitGlobalZ; ///< global position Z of the truth hit associated to the PAD hit
// std::vector<int>* m_padEtaIdFromOfflineId; ///< PAD eta Id from the offline Id
// std::vector<int>* m_padPhiIdFromOfflineId; ///< PAD phi Id from the offline Id
// std::vector<int>* m_padSectorFromOfflineId; ///< PAD sector Id from the offline Id
// std::vector<int>* m_padLayerFromOfflineId; ///< PAD layer Id from the offline Id
// std::vector<int>* m_offlineIdPadEtaConverted; ///< PAD eta Id from the offline Id that were converted
// std::vector<int>* m_offlineIdPadPhiConverted; ///< PAD phi Id from the offline Id that were converted
// std::vector<int>* m_padEtaIdFromOldSimu; ///< PAD eta Id from the standalone simulation code
// std::vector<int>* m_padPhiIdFromOldSimu; ///< PAD phi Id from the standalone simulation code
}; // PadTriggerValidationTree
} // NSWL1
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
*/
// -*-c++-*-
......@@ -10,7 +10,7 @@
// forward declarations
class MsgStream;
class TVcetor3;
class TVector3;
class PadOfflineData;
namespace std {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment