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;
047 StoreGateSvc* m_storeGate;
048 MagFieldAthenaSvc* m_fieldSvc;
049 std::string m_DataLocation;
050 BPhys::XtoYZFinder * jpsiFinder;
051 BPhys::BFlavourCombinedTagger * myFlavourTagger;
052
053
054 TFile* outputFile;
055 TTree* tagTree;
056 TTree* resultTree;
057 BPhys::NTupleMaker m_bsNtupleMaker;
058
059
060
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
082 int eventCntr;
083 int jpsiCandidateCntr;
084 int bsCandidateCntr;
085
086 int lvl1passed;
087 int lvl2passed;
088 int efpassed;
089
090
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
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
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 };
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.
|
|