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 #include <string>
002 #include <vector>
003 #include <list>
004 
005 #include "BPhysAnalysisObjects/Vertex.h"
006 #include "BPhysAnalysisObjects/BCompositeParticle.h"
007 
008 #include "BPhysAnalysisTools/BPhysToolBox.h"
009 #include "BPhysAnalysisTools/CDFVertexing.h"
010 #include "BPhysAnalysisTools/VKalVrtFitter.h"
011 #include "BPhysAnalysisTools/XtoYZFinder.h" 
012 #include "BPhysAnalysisTools/NTupleMaker.h"
013 #include "BPhysAnalysisTools/BFlavourCombinedTagger.h"   //FLAVOUR TAGGER 
014 
015 #include "EventInfo/EventInfo.h"
016 #include "EventInfo/EventID.h"
017 
018 #include "McParticleEvent/TruthParticle.h"
019 #include "McParticleEvent/TruthParticleContainer.h"
020 
021 #include "muonEvent/MuonContainer.h"
022 
023 #include "TrigDecision/TrigDecisionTool.h"
024 
025 #include "CBNT_Utils/CBNT_AthenaAwareBase.h"
026 
027 class StoreGateSvc;
028 class IHistogram1D;
029 
030 /////////////////////////////////////////////////////////////////////////////
031 class FlavourTagging : public Algorithm {
032 public:
033   FlavourTagging (const std::string& name, ISvcLocator* pSvcLocator);
034   StatusCode initialize();
035   StatusCode execute();
036   StatusCode finalize();
037   void initializeBranches(void);
038   void clearTaggingBranches(void);
039   void clearResultBranches(void);
040   void calculate();
041   void uncertainty();
042   std::vector<const Analysis::Muon*> findExcludedMuons(const Analysis::MuonContainer*, BPhys::BCompositeParticle *);
043 
044 private:
045 
046   ToolHandle<TrigDec::TrigDecisionTool> m_trigDec;      // Trigger decision tool
047   StoreGateSvc* m_storeGate;                            // Storegate service
048   MagFieldAthenaSvc*  m_fieldSvc;                       //Magnetic field service
049   std::string m_DataLocation;
050   BPhys::XtoYZFinder * jpsiFinder;                      // XtoYZFinder
051   BPhys::BFlavourCombinedTagger * myFlavourTagger;      // Flavour Tagger
052 
053 
054   TFile* outputFile;                                    // N-tuple output file
055   TTree* tagTree;                                       // Tree for Tagging information n-tuple
056   TTree* resultTree;                                    // Tree for the final Tagging Results;
057   BPhys::NTupleMaker m_bsNtupleMaker;                   // Ntuple makers
058 
059 
060   //Objects passed from .py job options script:
061   double m_muonPtCut;
062   double m_muonPrCut;
063   double m_muonMass;
064   double m_jpsiWidth;
065   double m_jpsiPDGMass;
066   double m_kaonMass;
067   double m_phiChi2Cut;
068   double m_minPhiMass;
069   double m_maxPhiMass;
070   double m_minBsMass;
071   double m_maxBsMass;
072   double m_phiPDGMass;
073   double m_BsPDGMass;
074   bool useTruth; 
075   bool useVKalVrt;  
076   bool m_useField;
077   bool m_useTrigger;
078   std::string m_muonCollName;
079   std::string m_userFName;
080 
081   //Counters: 
082   int eventCntr;
083   int jpsiCandidateCntr;
084   int bsCandidateCntr;
085   //trigger counters:
086   int lvl1passed;
087   int lvl2passed;
088   int efpassed; 
089 
090   //resultTree branches:
091   std::vector<double> *         m_Kappa;
092   std::vector<double> *         m_Exclusion;
093   std::vector<double> *         m_DeltaR;
094   std::vector<double> *         m_D0Cut;
095   std::vector<int>    *         m_MethodFlag;
096   std::vector<int> *         m_JetChargeCorrect;
097   std::vector<int> *         m_JetChargeWrong;
098   std::vector<int> *         m_JetChargeNoTag;
099   std::vector<int> *         m_MuonCorrect;
100   std::vector<int> *         m_MuonWrong;
101   std::vector<int> *         m_MuonNoTag;
102   std::vector<double> *         m_JetChargeEff;
103   std::vector<double> *         m_JetChargeDil;
104   std::vector<double> *         m_JetChargeQual;
105   std::vector<double> *         m_JetChargeWTF;
106   std::vector<double> *         m_JetChargeSigmaEff;
107   std::vector<double> *         m_JetChargeSigmaDil;
108   std::vector<double> *         m_JetChargeSigmaQual;
109   std::vector<double> *         m_JetChargeSigmaWTF;
110   std::vector<double> *         m_MuonTagEff;
111   std::vector<double> *         m_MuonTagDil;
112   std::vector<double> *         m_MuonTagQual;
113   std::vector<double> *         m_MuonTagWTF;
114   std::vector<double> *         m_MuonTagSigmaEff;
115   std::vector<double> *         m_MuonTagSigmaDil;
116   std::vector<double> *         m_MuonTagSigmaQual;
117   std::vector<double> *         m_MuonTagSigmaWTF;
118 
119   //taggingTree branches: 
120   std::vector<double> *         m_bPt;
121   std::vector<double> *         m_bMass;
122   std::vector<double> *         m_jpsiPt;
123   std::vector<double> *         m_jpsiMass;
124   std::vector<double> *         m_JetCharge;
125   std::vector<int>    *         m_NumberJetParticles;
126   std::vector<double> *         m_Isolation;
127   std::vector<int>*             m_JetChargeTag;
128   std::vector<double>*    m_aan_taggingMuonPt;
129   std::vector<double>*    m_aan_taggingMuonPtRel;
130   std::vector<double>*    m_aan_LeptonTag;
131   std::vector<double>*    m_aan_LeptonTagMixed;
132 
133   //persistent objects to be passed to resultTree:
134   int m_counterAll, m_jetcounterCorrect, m_jetcounterWrong, m_jetcounterNoTag;
135   double m_jetrecoEfficiency, m_jetefficiency, m_jetwrongTagFraction, m_jetdilution, m_jetquality;
136   double m_jetsigmaRE, m_jetsigmaE, m_jetsigmaWTF, m_jetsigmaD, m_jetsigmaQ;
137   int m_mucounterCorrect, m_mucounterWrong, m_mucounterNoTag;
138   double m_murecoEfficiency, m_muefficiency, m_muwrongTagFraction, m_mudilution, m_muquality;
139   double m_musigmaRE, m_musigmaE, m_musigmaWTF, m_musigmaD, m_musigmaQ;
140   double  m_qjetkappa, m_qjetexclusion, m_qjetdeltaR, m_d0cut;
141   int m_methodFlag;
142 
143 };

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!