001
002
003
004
005
006
007
008
009
010
011
012
013 #include "AtlfastAlgs/GlobalEventData.h"
014
015 #include "AtlfastUtils/HepMC_helper/MCCuts.h"
016 #include "AtlfastUtils/HepMC_helper/AscendingEta.h"
017 #include "AtlfastUtils/HepMC_helper/SelectJetTag.h"
018 #include "AtlfastUtils/HepMC_helper/SelectTauTag.h"
019 #include "AtlfastUtils/HepMC_helper/IsCharged.h"
020 #include "AtlfastUtils/HepMC_helper/BFieldCutter.h"
021 #include "AtlfastUtils/HepMC_helper/RejectType.h"
022 #include "AtlfastUtils/HepMC_helper/Unseen.h"
023 #include "TruthHelper/GenIMCselector.h"
024 #include "TruthHelper/IsGenType.h"
025 #include "TruthHelper/IsGenStable.h"
026 #include "TruthHelper/NCutter.h"
027
028 #include "AtlfastEvent/ParticleCodes.h"
029
030 namespace Atlfast {
031
032 GlobalEventData* GlobalEventData::m_instance = 0;
033
034 GlobalEventData* GlobalEventData::Instance() {
035 if(m_instance == 0){
036 m_instance = new GlobalEventData();
037 }
038 return m_instance;
039 }
040
041 void GlobalEventData::setValues(int lumi,
042 bool fieldOn,
043 double barrelForwardEta,
044 int randSeed,
045 std::vector<int> invisibles,
046 std::string mcLocation,
047 std::vector<int> monopoleIDs,
048 bool justHardScatter,
049 std::string detEffectsFileName,
050 std::string muonAlignFileName,
051 std::string muonLinearFitAlignFileName,
052 double muonMisalignment){
053
054 m_lumi = lumi;
055
056 m_fieldOn = fieldOn;
057
058 m_barrelForwardEta = barrelForwardEta;
059
060 m_randSeed = randSeed;
061
062 m_invisibles = invisibles;
063
064 m_mcLocation = mcLocation;
065
066 m_adjustMissEtForIsolation = true;
067
068 m_monopoleIDs = monopoleIDs;
069
070 m_justHardScatter = justHardScatter;
071
072 m_detEffectsFileName = detEffectsFileName;
073
074 m_muonAlignFileName = muonAlignFileName;
075
076 m_muonLinearFitAlignFileName = muonLinearFitAlignFileName;
077
078 m_muonMisalignment = muonMisalignment;
079
080 std::vector<int> temp = m_invisibles;
081 TruthHelper::GenIMCselector* selector;
082 std::vector<TruthHelper::GenIMCselector*> selectors;
083 temp.push_back(ParticleCodes::MUON);
084
085 selector = new TruthHelper::IsGenStable();
086 selectors.push_back( selector );
087
088 selector = new HepMC_helper::RejectType(temp);
089 selectors.push_back( selector );
090
091 try{
092
093
094 selector = new HepMC_helper::BFieldCutter(m_fieldOn);
095 }catch(std::string errMsg){
096 std::cerr<<"GlobalEventData: error makign a BFieldCutter "
097 <<errMsg
098 <<std::endl;
099 }catch(...){
100 std::cerr<<"GlobalEventData: error makign a BFieldCutter "
101 <<std::endl;
102 }
103 selectors.push_back(selector);
104
105
106 m_visibleToCal = new TruthHelper::NCutter(selectors);
107
108
109
110 std::vector<TruthHelper::GenIMCselector*>::iterator iter;
111
112 for(iter=selectors.begin(); iter!=selectors.end(); delete *iter, ++iter);
113 selectors.erase(selectors.begin(), selectors.end());
114
115 selector = new TruthHelper::IsGenStable();
116 selectors.push_back( selector );
117
118 selector = new HepMC_helper::Unseen(m_invisibles);
119 selectors.push_back( selector );
120
121 m_visibleToAtlas = new TruthHelper::NCutter(selectors);
122
123 for(iter=selectors.begin(); iter!=selectors.end(); delete *iter, ++iter);
124 }
125
126
127 }
128
129
130
131
132
133
134
135
136
137
138
139
| 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.
|
|