Report problems to ATLAS LXR Team (with time and IP address indicated)

The LXR Cross Referencer

source navigation ]
diff markup ]
identifier search ]
general search ]
 
 
Architecture: linux ]
Version: head ] [ nightly ] [ GaudiDev ]
  Links to LXR source navigation pages for stable releases [ 12.*.* ]   [ 13.*.* ]   [ 14.*.* ] 

001 //Dear emacs, this is -*- c++ -*-
002 
003 ///////////////////////////////////////////////////////////////////
004 // HggSelector.h, (c) ATLAS Detector software 2007
005 // author: Marcello Fanti, marcello.fanti@mi.infn.it
006 ///////////////////////////////////////////////////////////////////
007 
008 
009 #ifndef HIGGSANALYSYSUTILS_HGGSELECTOR_H
010 #define HIGGSANALYSYSUTILS_HGGSELECTOR_H
011 
012 // Gaudi
013 #include "GaudiKernel/AlgTool.h"
014 #include "StoreGate/StoreGateSvc.h"
015 
016 // 12.0.6 #include "TrigSteeringEvent/TriggerDecision.h"
017 #include "TrigDecision/TrigDecisionTool.h"
018 
019 #include "HiggsAnalysisUtils/IHggSelector.h"
020 
021 #include "HiggsAnalysisUtils/IConversionFlagTool.h"
022 #include "HiggsAnalysisUtils/IHggTrackIsolationTool.h"
023 #include "HiggsAnalysisUtils/IPhotonIdentificationTool.h"
024 #include "HiggsAnalysisUtils/PhotonLogLikelihood.h"
025 #include "HiggsAnalysisUtils/IHggTruthTool.h"
026 
027 #include <iostream>
028 #include <fstream>
029 #include <string>
030 
031 class HggSelector : public AlgTool, virtual public IHggSelector {
032   
033 public:
034   
035   /** AlgTool like constructor */
036   HggSelector(const std::string&,const std::string&,const IInterface*);
037   
038   /**Virtual destructor*/
039   virtual ~HggSelector();
040   
041   /** AlgTool initialize method.*/
042   StatusCode initialize();
043   /** AlgTool finalize method */
044   StatusCode finalize();
045 
046   // public methods:
047  
048   virtual StatusCode load() ;
049 
050   virtual int RunNumber() const   { return m_run0 ; } ;
051   virtual int EventNumber() const { return m_evt0 ; } ;
052 
053   virtual const std::vector<const Hgg::gamma*>& getAllGammas() const { return m_allGamma ; } ;
054   virtual const std::vector<bool>&  isSelected() const { return m_isSelected ; } ; 
055 
056   virtual const std::vector<const Hgg::gamma*>& getSelectedGammas() const { return m_selGamma ; } ;
057   virtual const std::vector<int>& getIndexSelected() const { return m_indexSelected ; } ; 
058 
059   virtual bool okHggInclusive() const ;
060   virtual bool getTriggerDecision(unsigned level) const { return m_triggerStatus[level] ; } ;
061   virtual bool getTriggerDecision(const std::string& triggerMenu) const ;
062 
063   virtual int photonCuts(const Hgg::gamma* g, int itune=0) const ;
064   virtual double photonLogLH(const Hgg::gamma* g) const ;
065   virtual bool photonOK(const Hgg::gamma* g) const ;
066   virtual float photonPtIsolation(const Hgg::gamma* g) const ;
067 
068   virtual int electronCuts(const Analysis::Electron* el, int itune=0) const ;
069   virtual double electronLogLH(const Analysis::Electron* el) const ;
070   virtual float electronPtIsolation(const Analysis::Electron* el) const ;
071 
072   virtual unsigned getNumberEvents()   const { return m_numberEvents ; } ;
073   virtual unsigned getNumberTwoGamma() const { return m_numberTwoGamma ; } ;
074   virtual unsigned getNumberHgg()      const { return m_numberHgg ; } ;
075   //virtual unsigned getNumberHggTrig()  const { return m_numberHggTrig ; } ;
076 
077   enum gammaType { unconv , conv1 , conv2 } ;
078 
079 private:
080 
081   bool okIndexAll(unsigned i) const { return i<m_allGamma.size() ; } ;
082   bool okIndexSel(unsigned i) const { return i<m_selGamma.size() ; } ;
083   // void addGamma(const Hgg::gamma* g) ;
084   void clear() ;
085   StatusCode RecoLoader() ;
086   StatusCode TriggerStatus() ;
087   void writeEvtSummary() ;
088   void writeEvtDetails() ;
089 
090 private:
091 
092   /// a handle on Store Gate and other tools
093   StoreGateSvc* m_storeGate;
094 
095   ToolHandle<IConversionFlagTool>       m_ConvTool ;
096   ToolHandle<IHggTruthTool>             m_Truth ;
097   ToolHandle<IHggTrackIsolationTool>       m_TrackIsol ;
098   ToolHandle<IPhotonIdentificationTool> m_PhotId ;
099   ToolHandle<IPhotonLogLikelihood>      m_PhotLLH ;
100 
101   // some containers are shared by all methods...
102   const VxContainer* m_vxContainer ;
103   const Rec::TrackParticleContainer* m_trkContainer ;
104 
105   // algtool properties:
106   bool m_dumpReco, m_dumpTriggerDec, m_useTrigger ;
107   std::vector<std::string> m_useGammaTypeNames, m_TriggerMenuL1, m_TriggerMenuL2, m_TriggerMenuEF ;
108   unsigned m_useGammaType[31] ;
109   float m_PtCut1, m_PtCut2, m_PtIsolCut ;
110   int m_photIDtune ;
111   float m_photIDlogLHcut ;
112   std::string m_photonContainerName;
113   std::string m_electronContainerName;
114   std::string m_conversionContainerName;
115   std::string m_trackParticleContainerName;
116   //std::string m_jetContainerName;
117   std::string m_evtsummary_name, m_evtdetails_name ;
118   bool m_write_evtsummary, m_write_evtdetails ;
119   std::ofstream m_evtdetails, m_evtsummary, m_dumpRecoFile ;
120 
121   std::string m_TriggerDecisionKey ;
122   bool m_triggerStatus[3] ;
123   // 12.0.6 const TriggerDecision* m_trigDec ;
124   /** handle for Trigdecision tool */
125   ToolHandle<TrigDec::TrigDecisionTool> m_trigDec;
126 
127   int m_run0, m_evt0 ;
128   bool m_MCloaded ;
129 
130   std::vector<const Hgg::gamma*> m_allGamma , m_selGamma ;
131   // these vectors have the same size as m_allGamma:
132   std::vector<bool> m_isSelected ;
133   //std::vector<int> m_cutsID[4] ; // results of ID cuts for each itune
134   //std::vector<float> m_logLH   ; // results from log lokelihood
135   //std::vector<float> m_ptIsol  ; // pt for isolation
136   // these vectors have the same size as m_selGamma:
137   std::vector<int>  m_indexSelected ;
138 
139   //std::vector<float> m_RecoEtaClus, m_RecoPhiClus, m_RecoEta, m_RecoPhi, m_RecoE, m_RecoEt, m_Rconv, m_Zconv ;
140   //std::vector<float> m_RecoEtaS0, m_RecoEtaS1, m_RecoEtaS2, m_RecoEtaS3 ;
141   //std::vector<int> m_convFlag ;
142   
143   // some statistics:
144   unsigned m_numberEvents, m_numberTwoGamma, m_numberHgg, m_numberHggTrig ;
145 
146 };
147 
148 
149 #endif // HIGGSANALYSYSUTILS_HGGSELECTOR_H
150 

source navigation ] diff markup ] identifier search ] general search ]

Due to the LXR bug, the updates fail sometimes to remove references to deleted files. The Saturday's full rebuilds fix these problems
This page was automatically generated by the LXR engine. Valid HTML 4.01!