CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
BeamFitter Class Reference

#include <BeamFitter.h>

Public Member Functions

 BeamFitter ()
 
 BeamFitter (const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iColl)
 
void dumpBWTxtFile (std::string &)
 
void dumpTxtFile (std::string &, bool)
 
reco::BeamSpot getBeamSpot ()
 
std::map< int, reco::BeamSpotgetBeamSpotMap ()
 
reco::BeamSpot getBeamWidth ()
 
std::vector< BSTrkParametersgetBSvector ()
 
TH1F * getCutFlow ()
 
std::pair< int, int > getFitLSRange ()
 
int getNPVs ()
 
const std::map< int, int > & getNPVsperBX ()
 
int getNTracks ()
 
std::size_t getPVvectorSize ()
 
std::pair< time_t, time_t > getRefTime ()
 
int getRunNumber ()
 
void readEvent (const edm::Event &iEvent)
 
void resetCutFlow ()
 
void resetLSRange ()
 
void resetPVFitter ()
 
void resetRefTime ()
 
void resetTotTrk ()
 
void resetTrkVector ()
 
void resizeBSvector (unsigned int nsize)
 
void resizePVvector (unsigned int npvsize)
 
void runAllFitter ()
 
bool runBeamWidthFitter ()
 
bool runFitter ()
 
bool runFitterNoTxt ()
 
bool runPVandTrkFitter ()
 
void setFitLSRange (int ls0, int ls1)
 
void SetPVInfo (const std::vector< float > &v1_)
 
void setRefTime (time_t t0, time_t t1)
 
void setRun (int run)
 
void subtractFromCutFlow (const TH1F *toSubtract)
 
void write2DB ()
 
virtual ~BeamFitter ()
 

Private Member Functions

void updateBTime ()
 

Private Attributes

std::vector
< reco::TrackBase::TrackAlgorithm
algorithm_
 
bool appendRunTxt_
 
edm::EDGetTokenT< reco::BeamSpotbeamSpotToken_
 
double convergence_
 
int countPass [9]
 
bool debug_
 
bool falgo
 
std::ofstream fasciiDIP
 
std::ofstream fasciiFile
 
reco::BeamSpot fbeamspot
 
reco::BeamSpot fbeamWidthFit
 
int fbeginLumiOfFit
 
char fbeginTimeOfFit [32]
 
std::map< int, reco::BeamSpotfbspotPVMap
 
std::vector< BSTrkParametersfBSvector
 
int fcharge
 
double fcov [7][7]
 
double fd0
 
double fd0bs
 
double fdxdz
 
double fdxdzErr
 
double fdydz
 
double fdydzErr
 
int fendLumiOfFit
 
char fendTimeOfFit [32]
 
double feta
 
bool ffilename_changed
 
TFile * file_
 
bool fitted_
 
int flumi
 
double fnormchi2
 
int fnPixelLayerMeas
 
int fnPXBLayerMeas
 
int fnPXFLayerMeas
 
int fnStripLayerMeas
 
int fnTECLayerMeas
 
int fnTIBLayerMeas
 
int fnTIDLayerMeas
 
int fnTOBLayerMeas
 
int fnTotLayerMeas
 
std::vector< float > ForDIPPV_
 
double fphi0
 
double fpt
 
TTree * fPVTree_
 
bool fpvValid
 
double fpvx
 
double fpvy
 
double fpvz
 
bool fquality
 
std::time_t freftime [2]
 
int frun
 
int frunFit
 
double fsigmad0
 
double fsigmaZ
 
double fsigmaz0
 
double fsigmaZErr
 
double ftheta
 
int ftotal_tracks
 
TTree * ftree_
 
TTree * ftreeFit_
 
double fvx
 
double fvy
 
double fwidthX
 
double fwidthXErr
 
double fwidthY
 
double fwidthYErr
 
double fx
 
double fxErr
 
double fy
 
double fyErr
 
double fz
 
double fz0
 
double fzErr
 
TH1F * h1cutFlow
 
TH1F * h1ntrks
 
TH1F * h1vz_event
 
TH1F * h1z
 
double inputBeamWidth_
 
bool isMuon_
 
int min_Ntrks_
 
PVFitterMyPVFitter
 
std::string outputDIPTxt_
 
std::string outputfilename_
 
std::string outputTxt_
 
std::vector
< reco::TrackBase::TrackQuality
quality_
 
bool saveBeamFit_
 
bool saveNtuple_
 
bool savePVVertices_
 
edm::EDGetTokenT
< reco::TrackCollection
tracksToken_
 
std::vector< std::string > trk_Algorithm_
 
double trk_MaxEta_
 
double trk_MaxIP_
 
double trk_MaxNormChi2_
 
double trk_MaxZ_
 
int trk_MinNPixLayers_
 
int trk_MinNTotLayers_
 
double trk_MinpT_
 
std::vector< std::string > trk_Quality_
 
edm::EDGetTokenT< edm::View
< reco::Vertex > > 
vertexToken_
 
bool writeDIPBadFit_
 
bool writeDIPTxt_
 
bool writeTxt_
 

Detailed Description

Definition at line 38 of file BeamFitter.h.

Constructor & Destructor Documentation

BeamFitter::BeamFitter ( )
inline

Definition at line 40 of file BeamFitter.h.

40 {}
BeamFitter::BeamFitter ( const edm::ParameterSet iConfig,
edm::ConsumesCollector &&  iColl 
)

Definition at line 39 of file BeamFitter.cc.

References reco::TrackBase::algoByName(), algorithm_, appendRunTxt_, beamSpotToken_, convergence_, debug_, falgo, fasciiDIP, fbeginLumiOfFit, fbeginTimeOfFit, fBSvector, fcharge, fcov, fd0, fd0bs, fdxdz, fdxdzErr, fdydz, fdydzErr, fendLumiOfFit, fendTimeOfFit, feta, ffilename_changed, file_, fitted_, flumi, fnormchi2, fnPixelLayerMeas, fnPXBLayerMeas, fnPXFLayerMeas, fnStripLayerMeas, fnTECLayerMeas, fnTIBLayerMeas, fnTIDLayerMeas, fnTOBLayerMeas, fnTotLayerMeas, fphi0, fpt, fPVTree_, fpvValid, fpvx, fpvy, fpvz, fquality, frun, frunFit, fsigmad0, fsigmaZ, fsigmaz0, fsigmaZErr, ftheta, ftotal_tracks, ftree_, ftreeFit_, fvx, fvy, fwidthX, fwidthXErr, fwidthY, fwidthYErr, fx, fxErr, fy, fyErr, fz, fz0, fzErr, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), h1cutFlow, h1ntrks, h1vz_event, inputBeamWidth_, HLT_25ns14e33_v1_cff::InputTag, isMuon_, j, min_Ntrks_, MyPVFitter, outputDIPTxt_, outputfilename_, outputTxt_, quality_, reco::TrackBase::qualityByName(), PVFitter::resetAll(), resetCutFlow(), resetRefTime(), saveBeamFit_, saveNtuple_, savePVVertices_, PVFitter::setTree(), tracksToken_, trk_Algorithm_, trk_MaxEta_, trk_MaxIP_, trk_MaxNormChi2_, trk_MaxZ_, trk_MinNPixLayers_, trk_MinNTotLayers_, trk_MinpT_, trk_Quality_, vertexToken_, writeDIPBadFit_, writeDIPTxt_, and writeTxt_.

40  : fPVTree_(0)
41 {
42 
43  debug_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<bool>("Debug");
45  iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<edm::InputTag>("TrackCollection"));
47  iConfig.getUntrackedParameter<edm::InputTag>("primaryVertex", edm::InputTag("offlinePrimaryVertices")));
49  iConfig.getUntrackedParameter<edm::InputTag>("beamSpot", edm::InputTag("offlineBeamSpot")));
50  writeTxt_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<bool>("WriteAscii");
51  outputTxt_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<std::string>("AsciiFileName");
52  appendRunTxt_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<bool>("AppendRunToFileName");
53  writeDIPTxt_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<bool>("WriteDIPAscii");
54  // Specify whether we want to write the DIP file even if the fit is failed.
55  writeDIPBadFit_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<bool>("WriteDIPOnBadFit", true);
56  outputDIPTxt_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<std::string>("DIPFileName");
57  saveNtuple_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<bool>("SaveNtuple");
58  saveBeamFit_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<bool>("SaveFitResults");
59  savePVVertices_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<bool>("SavePVVertices");
60  isMuon_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<bool>("IsMuonCollection");
61 
62  trk_MinpT_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<double>("MinimumPt");
63  trk_MaxEta_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<double>("MaximumEta");
64  trk_MaxIP_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<double>("MaximumImpactParameter");
65  trk_MaxZ_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<double>("MaximumZ");
66  trk_MinNTotLayers_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<int>("MinimumTotalLayers");
67  trk_MinNPixLayers_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<int>("MinimumPixelLayers");
68  trk_MaxNormChi2_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<double>("MaximumNormChi2");
69  trk_Algorithm_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<std::vector<std::string> >("TrackAlgorithm");
70  trk_Quality_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<std::vector<std::string> >("TrackQuality");
71  min_Ntrks_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<int>("MinimumInputTracks");
72  convergence_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<double>("FractionOfFittedTrks");
73  inputBeamWidth_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<double>("InputBeamWidth",-1.);
74 
75  for (unsigned int j=0;j<trk_Algorithm_.size();j++)
77  for (unsigned int j=0;j<trk_Quality_.size();j++)
79 
81  outputfilename_ = iConfig.getParameter<edm::ParameterSet>("BeamFitter").getUntrackedParameter<std::string>("OutputFileName");
82  file_ = TFile::Open(outputfilename_.c_str(),"RECREATE");
83  }
84  if (saveNtuple_) {
85  ftree_ = new TTree("mytree","mytree");
86  ftree_->AutoSave();
87 
88  ftree_->Branch("pt",&fpt,"fpt/D");
89  ftree_->Branch("d0",&fd0,"fd0/D");
90  ftree_->Branch("d0bs",&fd0bs,"fd0bs/D");
91  ftree_->Branch("sigmad0",&fsigmad0,"fsigmad0/D");
92  ftree_->Branch("phi0",&fphi0,"fphi0/D");
93  ftree_->Branch("z0",&fz0,"fz0/D");
94  ftree_->Branch("sigmaz0",&fsigmaz0,"fsigmaz0/D");
95  ftree_->Branch("theta",&ftheta,"ftheta/D");
96  ftree_->Branch("eta",&feta,"feta/D");
97  ftree_->Branch("charge",&fcharge,"fcharge/I");
98  ftree_->Branch("normchi2",&fnormchi2,"fnormchi2/D");
99  ftree_->Branch("nTotLayerMeas",&fnTotLayerMeas,"fnTotLayerMeas/i");
100  ftree_->Branch("nStripLayerMeas",&fnStripLayerMeas,"fnStripLayerMeas/i");
101  ftree_->Branch("nPixelLayerMeas",&fnPixelLayerMeas,"fnPixelLayerMeas/i");
102  ftree_->Branch("nTIBLayerMeas",&fnTIBLayerMeas,"fnTIBLayerMeas/i");
103  ftree_->Branch("nTOBLayerMeas",&fnTOBLayerMeas,"fnTOBLayerMeas/i");
104  ftree_->Branch("nTIDLayerMeas",&fnTIDLayerMeas,"fnTIDLayerMeas/i");
105  ftree_->Branch("nTECLayerMeas",&fnTECLayerMeas,"fnTECLayerMeas/i");
106  ftree_->Branch("nPXBLayerMeas",&fnPXBLayerMeas,"fnPXBLayerMeas/i");
107  ftree_->Branch("nPXFLayerMeas",&fnPXFLayerMeas,"fnPXFLayerMeas/i");
108  ftree_->Branch("cov",&fcov,"fcov[7][7]/D");
109  ftree_->Branch("vx",&fvx,"fvx/D");
110  ftree_->Branch("vy",&fvy,"fvy/D");
111  ftree_->Branch("quality",&fquality,"fquality/O");
112  ftree_->Branch("algo",&falgo,"falgo/O");
113  ftree_->Branch("run",&frun,"frun/i");
114  ftree_->Branch("lumi",&flumi,"flumi/i");
115  ftree_->Branch("pvValid",&fpvValid,"fpvValid/O");
116  ftree_->Branch("pvx", &fpvx, "fpvx/D");
117  ftree_->Branch("pvy", &fpvy, "fpvy/D");
118  ftree_->Branch("pvz", &fpvz, "fpvz/D");
119  }
120  if (saveBeamFit_){
121  ftreeFit_ = new TTree("fitResults","fitResults");
122  ftreeFit_->AutoSave();
123  ftreeFit_->Branch("run",&frunFit,"frunFit/i");
124  ftreeFit_->Branch("beginLumi",&fbeginLumiOfFit,"fbeginLumiOfFit/i");
125  ftreeFit_->Branch("endLumi",&fendLumiOfFit,"fendLumiOfFit/i");
126  ftreeFit_->Branch("beginTime",fbeginTimeOfFit,"fbeginTimeOfFit/C");
127  ftreeFit_->Branch("endTime",fendTimeOfFit,"fendTimeOfFit/C");
128  ftreeFit_->Branch("x",&fx,"fx/D");
129  ftreeFit_->Branch("y",&fy,"fy/D");
130  ftreeFit_->Branch("z",&fz,"fz/D");
131  ftreeFit_->Branch("sigmaZ",&fsigmaZ,"fsigmaZ/D");
132  ftreeFit_->Branch("dxdz",&fdxdz,"fdxdz/D");
133  ftreeFit_->Branch("dydz",&fdydz,"fdydz/D");
134  ftreeFit_->Branch("xErr",&fxErr,"fxErr/D");
135  ftreeFit_->Branch("yErr",&fyErr,"fyErr/D");
136  ftreeFit_->Branch("zErr",&fzErr,"fzErr/D");
137  ftreeFit_->Branch("sigmaZErr",&fsigmaZErr,"fsigmaZErr/D");
138  ftreeFit_->Branch("dxdzErr",&fdxdzErr,"fdxdzErr/D");
139  ftreeFit_->Branch("dydzErr",&fdydzErr,"fdydzErr/D");
140  ftreeFit_->Branch("widthX",&fwidthX,"fwidthX/D");
141  ftreeFit_->Branch("widthY",&fwidthY,"fwidthY/D");
142  ftreeFit_->Branch("widthXErr",&fwidthXErr,"fwidthXErr/D");
143  ftreeFit_->Branch("widthYErr",&fwidthYErr,"fwidthYErr/D");
144  }
145 
146  fBSvector.clear();
147  ftotal_tracks = 0;
150  frun = flumi = -1;
152  fquality = falgo = true;
153  fpvValid = true;
154  fpvx = fpvy = fpvz = 0;
155  fitted_ = false;
156  resetRefTime();
157 
158  //debug histograms
159  h1ntrks = new TH1F("h1ntrks","number of tracks per event",50,0,50);
160  h1vz_event = new TH1F("h1vz_event","track Vz", 50, -30, 30 );
161  h1cutFlow = new TH1F("h1cutFlow","Cut flow table of track selection", 9, 0, 9);
162  h1cutFlow->GetXaxis()->SetBinLabel(1,"No cut");
163  h1cutFlow->GetXaxis()->SetBinLabel(2,"Traker hits");
164  h1cutFlow->GetXaxis()->SetBinLabel(3,"Pixel hits");
165  h1cutFlow->GetXaxis()->SetBinLabel(4,"norm. #chi^{2}");
166  h1cutFlow->GetXaxis()->SetBinLabel(5,"algo");
167  h1cutFlow->GetXaxis()->SetBinLabel(6,"quality");
168  h1cutFlow->GetXaxis()->SetBinLabel(7,"d_{0}");
169  h1cutFlow->GetXaxis()->SetBinLabel(8,"z_{0}");
170  h1cutFlow->GetXaxis()->SetBinLabel(9,"p_{T}");
171  resetCutFlow();
172 
173  // Primary vertex fitter
174  MyPVFitter = new PVFitter(iConfig, iColl);
175  MyPVFitter->resetAll();
176  if (savePVVertices_){
177  fPVTree_ = new TTree("PrimaryVertices","PrimaryVertices");
179  }
180 
181  // check filename
182  ffilename_changed = false;
183  if (writeDIPTxt_)
184  fasciiDIP.open(outputDIPTxt_.c_str());
185 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
double trk_MaxZ_
Definition: BeamFitter.h:158
double trk_MaxEta_
Definition: BeamFitter.h:159
T getUntrackedParameter(std::string const &, T const &) const
double fwidthXErr
Definition: BeamFitter.h:242
double fwidthX
Definition: BeamFitter.h:240
std::vector< std::string > trk_Algorithm_
Definition: BeamFitter.h:164
void setTree(TTree *tree)
Definition: PVFitter.cc:200
int fendLumiOfFit
Definition: BeamFitter.h:225
double fwidthY
Definition: BeamFitter.h:241
bool isMuon_
Definition: BeamFitter.h:172
char fendTimeOfFit[32]
Definition: BeamFitter.h:227
double fdxdz
Definition: BeamFitter.h:232
double fx
Definition: BeamFitter.h:228
double fnormchi2
Definition: BeamFitter.h:192
bool ffilename_changed
Definition: BeamFitter.h:174
bool debug_
Definition: BeamFitter.h:147
int fnTOBLayerMeas
Definition: BeamFitter.h:204
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:13
double feta
Definition: BeamFitter.h:190
std::vector< std::string > trk_Quality_
Definition: BeamFitter.h:165
double convergence_
Definition: BeamFitter.h:169
double trk_MaxNormChi2_
Definition: BeamFitter.h:163
double fsigmaZErr
Definition: BeamFitter.h:237
TH1F * h1vz_event
Definition: BeamFitter.h:246
double fvy
Definition: BeamFitter.h:212
int fnPixelLayerMeas
Definition: BeamFitter.h:200
double fphi0
Definition: BeamFitter.h:193
std::ofstream fasciiDIP
Definition: BeamFitter.h:145
PVFitter * MyPVFitter
Definition: BeamFitter.h:250
std::vector< BSTrkParameters > fBSvector
Definition: BeamFitter.h:139
int fnTotLayerMeas
Definition: BeamFitter.h:199
std::string outputTxt_
Definition: BeamFitter.h:155
double fpvx
Definition: BeamFitter.h:218
double fdxdzErr
Definition: BeamFitter.h:238
double trk_MaxIP_
Definition: BeamFitter.h:160
TFile * file_
Definition: BeamFitter.h:186
TTree * ftree_
Definition: BeamFitter.h:187
double fyErr
Definition: BeamFitter.h:235
bool falgo
Definition: BeamFitter.h:216
int ftotal_tracks
Definition: BeamFitter.h:170
int min_Ntrks_
Definition: BeamFitter.h:171
TH1F * h1cutFlow
Definition: BeamFitter.h:247
double fdydz
Definition: BeamFitter.h:233
TTree * fPVTree_
Definition: BeamFitter.h:251
std::vector< reco::TrackBase::TrackAlgorithm > algorithm_
Definition: BeamFitter.h:167
TH1F * h1ntrks
Definition: BeamFitter.h:245
char fbeginTimeOfFit[32]
Definition: BeamFitter.h:226
double fpvz
Definition: BeamFitter.h:218
double fz0
Definition: BeamFitter.h:197
int j
Definition: DBlmapReader.cc:9
double ftheta
Definition: BeamFitter.h:188
double fd0
Definition: BeamFitter.h:194
bool fquality
Definition: BeamFitter.h:215
double fy
Definition: BeamFitter.h:229
int fnStripLayerMeas
Definition: BeamFitter.h:201
double fwidthYErr
Definition: BeamFitter.h:243
double fxErr
Definition: BeamFitter.h:234
bool appendRunTxt_
Definition: BeamFitter.h:148
int fnTIDLayerMeas
Definition: BeamFitter.h:203
bool saveNtuple_
Definition: BeamFitter.h:182
double fsigmaZ
Definition: BeamFitter.h:231
int fbeginLumiOfFit
Definition: BeamFitter.h:224
std::string outputfilename_
Definition: BeamFitter.h:185
bool writeTxt_
Definition: BeamFitter.h:152
double fsigmad0
Definition: BeamFitter.h:196
std::string outputDIPTxt_
Definition: BeamFitter.h:156
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:123
bool fpvValid
Definition: BeamFitter.h:217
double fdydzErr
Definition: BeamFitter.h:239
double inputBeamWidth_
Definition: BeamFitter.h:168
bool savePVVertices_
Definition: BeamFitter.h:184
void resetAll()
Definition: PVFitter.h:80
bool writeDIPTxt_
Definition: BeamFitter.h:153
double fvx
Definition: BeamFitter.h:211
double fpt
Definition: BeamFitter.h:189
double fcov[7][7]
Definition: BeamFitter.h:210
std::vector< reco::TrackBase::TrackQuality > quality_
Definition: BeamFitter.h:166
double fsigmaz0
Definition: BeamFitter.h:198
int trk_MinNPixLayers_
Definition: BeamFitter.h:162
int fnTIBLayerMeas
Definition: BeamFitter.h:202
TTree * ftreeFit_
Definition: BeamFitter.h:222
static TrackAlgorithm algoByName(const std::string &name)
Definition: TrackBase.cc:135
void resetCutFlow()
Definition: BeamFitter.h:105
double fd0bs
Definition: BeamFitter.h:195
edm::EDGetTokenT< reco::TrackCollection > tracksToken_
Definition: BeamFitter.h:149
double trk_MinpT_
Definition: BeamFitter.h:157
bool writeDIPBadFit_
Definition: BeamFitter.h:154
double fzErr
Definition: BeamFitter.h:236
int fnPXBLayerMeas
Definition: BeamFitter.h:206
double fpvy
Definition: BeamFitter.h:218
bool saveBeamFit_
Definition: BeamFitter.h:183
edm::EDGetTokenT< edm::View< reco::Vertex > > vertexToken_
Definition: BeamFitter.h:150
double fz
Definition: BeamFitter.h:230
bool fitted_
Definition: BeamFitter.h:173
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: BeamFitter.h:151
int fnPXFLayerMeas
Definition: BeamFitter.h:207
int fnTECLayerMeas
Definition: BeamFitter.h:205
int trk_MinNTotLayers_
Definition: BeamFitter.h:161
void resetRefTime()
Definition: BeamFitter.h:56
BeamFitter::~BeamFitter ( )
virtual

Definition at line 187 of file BeamFitter.cc.

References file_, fitted_, fPVTree_, ftree_, ftreeFit_, h1cutFlow, h1ntrks, h1vz_event, h1z, MyPVFitter, saveBeamFit_, saveNtuple_, and savePVVertices_.

187  {
188 
189  if (saveNtuple_) {
190  file_->cd();
191  if (fitted_ && h1z) h1z->Write();
192  h1ntrks->Write();
193  h1vz_event->Write();
194  if (h1cutFlow) h1cutFlow->Write();
195  ftree_->Write();
196  }
197  if (saveBeamFit_){
198  file_->cd();
199  ftreeFit_->Write();
200  }
201  if (savePVVertices_){
202  file_->cd();
203  fPVTree_->Write();
204  }
205 
206 
208  file_->Close();
209  delete file_;
210  }
211  delete MyPVFitter;
212 }
TH1F * h1z
Definition: BeamFitter.h:181
TH1F * h1vz_event
Definition: BeamFitter.h:246
PVFitter * MyPVFitter
Definition: BeamFitter.h:250
TFile * file_
Definition: BeamFitter.h:186
TTree * ftree_
Definition: BeamFitter.h:187
TH1F * h1cutFlow
Definition: BeamFitter.h:247
TTree * fPVTree_
Definition: BeamFitter.h:251
TH1F * h1ntrks
Definition: BeamFitter.h:245
bool saveNtuple_
Definition: BeamFitter.h:182
bool savePVVertices_
Definition: BeamFitter.h:184
TTree * ftreeFit_
Definition: BeamFitter.h:222
bool saveBeamFit_
Definition: BeamFitter.h:183
bool fitted_
Definition: BeamFitter.h:173

Member Function Documentation

void BeamFitter::dumpBWTxtFile ( std::string &  fileName)

Definition at line 613 of file BeamFitter.cc.

References reco::BeamSpot::BeamWidthX(), reco::BeamSpot::BeamWidthXError(), fbeamWidthFit, and GetRecoTauVFromDQM_MC_cff::outFile.

Referenced by runBeamWidthFitter().

613  {
614  std::ofstream outFile;
615  outFile.open(fileName.c_str(),std::ios::app);
616  outFile<<"-------------------------------------------------------------------------------------------------------------------------------------------------------------"<<std::endl;
617  outFile<<"Beam width(in cm) from Log-likelihood fit (Here we assume a symmetric beam(SigmaX=SigmaY)!)"<<std::endl;
618  outFile<<" "<<std::endl;
619  outFile << "BeamWidth = " <<fbeamWidthFit.BeamWidthX() <<" +/- "<<fbeamWidthFit.BeamWidthXError() << std::endl;
620  outFile.close();
621 }
reco::BeamSpot fbeamWidthFit
Definition: BeamFitter.h:141
double BeamWidthX() const
beam width X
Definition: BeamSpot.h:86
double BeamWidthXError() const
error on beam width X, assume error in X = Y
Definition: BeamSpot.h:103
void BeamFitter::dumpTxtFile ( std::string &  fileName,
bool  append 
)

Definition at line 623 of file BeamFitter.cc.

References appendRunTxt_, reco::BeamSpot::BeamWidthX(), reco::BeamSpot::BeamWidthY(), reco::BeamSpot::betaStar(), reco::BeamSpot::covariance(), reco::BeamSpot::dxdz(), reco::BeamSpot::dydz(), reco::BeamSpot::emittanceX(), reco::BeamSpot::emittanceY(), fbeamspot, fbeginLumiOfFit, fbeginTimeOfFit, fbspotPVMap, fendLumiOfFit, fendTimeOfFit, ffilename_changed, ForDIPPV_, freftime, frun, i, cmsHarvester::index, PVFitter::IsFitPerBunchCrossing(), j, MyPVFitter, GetRecoTauVFromDQM_MC_cff::outFile, outputTxt_, reco::BeamSpot::sigmaZ(), AlCaHLTBitMon_QueryRunRegistry::string, reco::BeamSpot::type(), writeTxt_, reco::BeamSpot::x0(), reco::BeamSpot::y0(), and reco::BeamSpot::z0().

Referenced by runFitter(), and runPVandTrkFitter().

623  {
624  std::ofstream outFile;
625 
626  std::string tmpname = outputTxt_;
627  char index[15];
629  sprintf(index,"%s%i","_Run", frun );
630  tmpname.insert(outputTxt_.length()-4,index);
631  fileName = tmpname;
632  ffilename_changed = true;
633  }
634 
635  if (!append)
636  outFile.open(fileName.c_str());
637  else
638  outFile.open(fileName.c_str(),std::ios::app);
639 
641 
642  for (std::map<int,reco::BeamSpot>::const_iterator abspot = fbspotPVMap.begin(); abspot!= fbspotPVMap.end(); ++abspot) {
643  reco::BeamSpot beamspottmp = abspot->second;
644  int bx = abspot->first;
645 
646  outFile << "Runnumber " << frun << " bx " << bx << std::endl;
647  outFile << "BeginTimeOfFit " << fbeginTimeOfFit << " " << freftime[0] << std::endl;
648  outFile << "EndTimeOfFit " << fendTimeOfFit << " " << freftime[1] << std::endl;
649  outFile << "LumiRange " << fbeginLumiOfFit << " - " << fendLumiOfFit << std::endl;
650  outFile << "Type " << beamspottmp.type() << std::endl;
651  outFile << "X0 " << beamspottmp.x0() << std::endl;
652  outFile << "Y0 " << beamspottmp.y0() << std::endl;
653  outFile << "Z0 " << beamspottmp.z0() << std::endl;
654  outFile << "sigmaZ0 " << beamspottmp.sigmaZ() << std::endl;
655  outFile << "dxdz " << beamspottmp.dxdz() << std::endl;
656  outFile << "dydz " << beamspottmp.dydz() << std::endl;
657  outFile << "BeamWidthX " << beamspottmp.BeamWidthX() << std::endl;
658  outFile << "BeamWidthY " << beamspottmp.BeamWidthY() << std::endl;
659  for (int i = 0; i<6; ++i) {
660  outFile << "Cov("<<i<<",j) ";
661  for (int j=0; j<7; ++j) {
662  outFile << beamspottmp.covariance(i,j) << " ";
663  }
664  outFile << std::endl;
665  }
666  outFile << "Cov(6,j) 0 0 0 0 0 0 " << beamspottmp.covariance(6,6) << std::endl;
667  //}
668  outFile << "EmittanceX " << beamspottmp.emittanceX() << std::endl;
669  outFile << "EmittanceY " << beamspottmp.emittanceY() << std::endl;
670  outFile << "BetaStar " << beamspottmp.betaStar() << std::endl;
671 
672  }
673  }//if bx results needed
674  else {
675  outFile << "Runnumber " << frun << std::endl;
676  outFile << "BeginTimeOfFit " << fbeginTimeOfFit << " " << freftime[0] << std::endl;
677  outFile << "EndTimeOfFit " << fendTimeOfFit << " " << freftime[1] << std::endl;
678  outFile << "LumiRange " << fbeginLumiOfFit << " - " << fendLumiOfFit << std::endl;
679  outFile << "Type " << fbeamspot.type() << std::endl;
680  outFile << "X0 " << fbeamspot.x0() << std::endl;
681  outFile << "Y0 " << fbeamspot.y0() << std::endl;
682  outFile << "Z0 " << fbeamspot.z0() << std::endl;
683  outFile << "sigmaZ0 " << fbeamspot.sigmaZ() << std::endl;
684  outFile << "dxdz " << fbeamspot.dxdz() << std::endl;
685  outFile << "dydz " << fbeamspot.dydz() << std::endl;
686  // if (inputBeamWidth_ > 0 ) {
687  // outFile << "BeamWidthX " << inputBeamWidth_ << std::endl;
688  // outFile << "BeamWidthY " << inputBeamWidth_ << std::endl;
689  // } else {
690  outFile << "BeamWidthX " << fbeamspot.BeamWidthX() << std::endl;
691  outFile << "BeamWidthY " << fbeamspot.BeamWidthY() << std::endl;
692  // }
693 
694  for (int i = 0; i<6; ++i) {
695  outFile << "Cov("<<i<<",j) ";
696  for (int j=0; j<7; ++j) {
697  outFile << fbeamspot.covariance(i,j) << " ";
698  }
699  outFile << std::endl;
700  }
701 
702  // beam width error
703  //if (inputBeamWidth_ > 0 ) {
704  // outFile << "Cov(6,j) 0 0 0 0 0 0 " << "1e-4" << std::endl;
705  //} else {
706  outFile << "Cov(6,j) 0 0 0 0 0 0 " << fbeamspot.covariance(6,6) << std::endl;
707  //}
708  outFile << "EmittanceX " << fbeamspot.emittanceX() << std::endl;
709  outFile << "EmittanceY " << fbeamspot.emittanceY() << std::endl;
710  outFile << "BetaStar " << fbeamspot.betaStar() << std::endl;
711 
712  //write here Pv info for DIP only: This added only if append is false, which happen for DIP only :)
713  if(!append){
714  outFile << "events "<< (int)ForDIPPV_[0] << std::endl;
715  outFile << "meanPV "<< ForDIPPV_[1] << std::endl;
716  outFile << "meanErrPV "<< ForDIPPV_[2] << std::endl;
717  outFile << "rmsPV "<< ForDIPPV_[3] << std::endl;
718  outFile << "rmsErrPV "<< ForDIPPV_[4] << std::endl;
719  outFile << "maxPV "<< (int)ForDIPPV_[5] << std::endl;
720  outFile << "nPV "<< (int)ForDIPPV_[6] << std::endl;
721  }//writeDIPPVInfo_
722  }//else end here
723 
724  outFile.close();
725 }
reco::BeamSpot fbeamspot
Definition: BeamFitter.h:140
double z0() const
z coordinate
Definition: BeamSpot.h:68
int i
Definition: DBlmapReader.cc:9
int fendLumiOfFit
Definition: BeamFitter.h:225
char fendTimeOfFit[32]
Definition: BeamFitter.h:227
bool ffilename_changed
Definition: BeamFitter.h:174
double emittanceX() const
additional information
Definition: BeamSpot.h:136
std::time_t freftime[2]
Definition: BeamFitter.h:219
PVFitter * MyPVFitter
Definition: BeamFitter.h:250
double betaStar() const
Definition: BeamSpot.h:138
double dydz() const
dydz slope
Definition: BeamSpot.h:84
std::string outputTxt_
Definition: BeamFitter.h:155
double emittanceY() const
Definition: BeamSpot.h:137
char fbeginTimeOfFit[32]
Definition: BeamFitter.h:226
int j
Definition: DBlmapReader.cc:9
double BeamWidthX() const
beam width X
Definition: BeamSpot.h:86
bool appendRunTxt_
Definition: BeamFitter.h:148
double dxdz() const
dxdz slope
Definition: BeamSpot.h:82
int fbeginLumiOfFit
Definition: BeamFitter.h:224
bool writeTxt_
Definition: BeamFitter.h:152
std::vector< float > ForDIPPV_
Definition: BeamFitter.h:177
double sigmaZ() const
sigma z
Definition: BeamSpot.h:80
double BeamWidthY() const
beam width Y
Definition: BeamSpot.h:88
std::map< int, reco::BeamSpot > fbspotPVMap
Definition: BeamFitter.h:142
double covariance(int i, int j) const
(i,j)-th element of error matrix
Definition: BeamSpot.h:112
double y0() const
y coordinate
Definition: BeamSpot.h:66
bool IsFitPerBunchCrossing()
Definition: PVFitter.h:93
BeamType type() const
return beam type
Definition: BeamSpot.h:129
double x0() const
x coordinate
Definition: BeamSpot.h:64
reco::BeamSpot BeamFitter::getBeamSpot ( )
inline
std::map<int, reco::BeamSpot> BeamFitter::getBeamSpotMap ( )
inline

Definition at line 95 of file BeamFitter.h.

References fbspotPVMap.

Referenced by BeamMonitorBx::FitAndFill().

95 { return fbspotPVMap; }
std::map< int, reco::BeamSpot > fbspotPVMap
Definition: BeamFitter.h:142
reco::BeamSpot BeamFitter::getBeamWidth ( )
inline

Definition at line 51 of file BeamFitter.h.

References fbeamWidthFit.

Referenced by BeamSpotAnalyzer::endJob().

51 { return fbeamWidthFit; }
reco::BeamSpot fbeamWidthFit
Definition: BeamFitter.h:141
std::vector<BSTrkParameters> BeamFitter::getBSvector ( )
inline

Definition at line 96 of file BeamFitter.h.

References fBSvector.

Referenced by BeamSpotAnalyzer::endLuminosityBlock(), AlcaBeamSpotProducer::endLuminosityBlockProduce(), and BeamMonitor::FitAndFill().

96 { return fBSvector; }
std::vector< BSTrkParameters > fBSvector
Definition: BeamFitter.h:139
TH1F* BeamFitter::getCutFlow ( )
inline

Definition at line 97 of file BeamFitter.h.

References h1cutFlow.

Referenced by BeamMonitor::analyze(), and BeamMonitor::FitAndFill().

97 { return h1cutFlow; }
TH1F * h1cutFlow
Definition: BeamFitter.h:247
std::pair<int,int> BeamFitter::getFitLSRange ( )
inline
int BeamFitter::getNPVs ( )
inline

Definition at line 129 of file BeamFitter.h.

References PVFitter::getNPVs(), and MyPVFitter.

Referenced by BeamSpotAnalyzer::endLuminosityBlock().

129  {
130  return MyPVFitter->getNPVs();
131  }
PVFitter * MyPVFitter
Definition: BeamFitter.h:250
int getNPVs()
Definition: PVFitter.h:120
const std::map<int, int>& BeamFitter::getNPVsperBX ( )
inline

Definition at line 132 of file BeamFitter.h.

References PVFitter::getNPVsperBX(), and MyPVFitter.

Referenced by BeamMonitorBx::FitAndFill().

132  {
133  return MyPVFitter->getNPVsperBX();
134  }
const std::map< int, int > & getNPVsperBX()
Definition: PVFitter.h:122
PVFitter * MyPVFitter
Definition: BeamFitter.h:250
int BeamFitter::getNTracks ( )
inline

Definition at line 126 of file BeamFitter.h.

References fBSvector.

Referenced by BeamSpotAnalyzer::endLuminosityBlock().

126  {
127  return fBSvector.size();
128  }
std::vector< BSTrkParameters > fBSvector
Definition: BeamFitter.h:139
std::size_t BeamFitter::getPVvectorSize ( )
inline

Definition at line 72 of file BeamFitter.h.

References PVFitter::getpvStore(), MyPVFitter, and findQualityFiles::size.

Referenced by BeamMonitor::FitAndFill().

72 {return (MyPVFitter->getpvStore()).size(); }
PVFitter * MyPVFitter
Definition: BeamFitter.h:250
std::vector< BeamSpotFitPVData > getpvStore()
Definition: PVFitter.h:61
tuple size
Write out results.
std::pair<time_t,time_t> BeamFitter::getRefTime ( )
inline

Definition at line 65 of file BeamFitter.h.

References freftime.

Referenced by BeamMonitor::FitAndFill().

65  {
66  return std::make_pair(freftime[0], freftime[1]);
67  }
std::time_t freftime[2]
Definition: BeamFitter.h:219
int BeamFitter::getRunNumber ( )
inline

Definition at line 113 of file BeamFitter.h.

References frun.

Referenced by BeamMonitor::FitAndFill().

113  {
114  return frun;
115  }
void BeamFitter::readEvent ( const edm::Event iEvent)

Definition at line 215 of file BeamFitter.cc.

References funct::abs(), algorithm_, beamSpotToken_, countPass, debug_, falgo, fbeginLumiOfFit, fBSvector, fcharge, fcov, fd0, fd0bs, fendLumiOfFit, feta, spr::find(), flumi, fnormchi2, fnPixelLayerMeas, fnPXBLayerMeas, fnPXFLayerMeas, fnStripLayerMeas, fnTECLayerMeas, fnTIBLayerMeas, fnTIDLayerMeas, fnTOBLayerMeas, fnTotLayerMeas, fphi0, fpt, fpvValid, fpvx, fpvy, fpvz, fquality, freftime, frun, frunFit, fsigmad0, fsigmaz0, ftheta, ftotal_tracks, ftree_, fvx, fvy, fz0, edm::Event::getByToken(), h1cutFlow, h1ntrks, h1vz_event, reco::HitPattern::hitPattern, i, edm::EventBase::id(), isMuon_, j, edm::EventBase::luminosityBlock(), MyPVFitter, reco::HitPattern::pixelBarrelLayersWithMeasurement(), reco::HitPattern::pixelEndcapLayersWithMeasurement(), reco::HitPattern::pixelLayersWithMeasurement(), reco::BeamSpot::position(), edm::Handle< T >::product(), MetAnalyzer::pv(), quality_, PVFitter::readEvent(), edm::EventID::run(), saveNtuple_, BSTrkParameters::setVx(), BSTrkParameters::setVy(), edm::View< T >::size(), reco::HitPattern::stripLayersWithMeasurement(), reco::HitPattern::stripTECLayersWithMeasurement(), reco::HitPattern::stripTIBLayersWithMeasurement(), reco::HitPattern::stripTIDLayersWithMeasurement(), reco::HitPattern::stripTOBLayersWithMeasurement(), edm::EventBase::time(), reco::HitPattern::trackerLayersWithMeasurement(), testEve_cfg::tracks, tracksToken_, trk_MaxEta_, trk_MaxIP_, trk_MaxNormChi2_, trk_MaxZ_, trk_MinNPixLayers_, trk_MinNTotLayers_, trk_MinpT_, updateBTime(), edm::Timestamp::value(), and vertexToken_.

Referenced by BeamSpotAnalyzer::analyze(), AlcaBeamMonitor::analyze(), BeamMonitorBx::analyze(), BeamMonitor::analyze(), and AlcaBeamSpotProducer::produce().

216 {
217 
218 
219  frun = iEvent.id().run();
220  const edm::TimeValue_t ftimestamp = iEvent.time().value();
221  const std::time_t ftmptime = ftimestamp >> 32;
222 
223  if (fbeginLumiOfFit == -1) freftime[0] = freftime[1] = ftmptime;
224  if (freftime[0] == 0 || ftmptime < freftime[0]) freftime[0] = ftmptime;
225  if (freftime[1] == 0 || ftmptime > freftime[1]) freftime[1] = ftmptime;
226  // Update the human-readable string versions of the time
227  updateBTime();
228 
229  flumi = iEvent.luminosityBlock();
230  frunFit = frun;
233 
235  iEvent.getByToken(tracksToken_, TrackCollection);
236 
237  //------ Primary Vertices
239  bool hasPVs = false;
241  if ( iEvent.getByToken(vertexToken_, PVCollection ) ) {
242  pv = *PVCollection;
243  hasPVs = true;
244  }
245  //------
246 
247  //------ Beam Spot in current event
248  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
249  const reco::BeamSpot *refBS = 0;
250  if ( iEvent.getByToken(beamSpotToken_, recoBeamSpotHandle) )
251  refBS = recoBeamSpotHandle.product();
252  //-------
253 
254  const reco::TrackCollection *tracks = TrackCollection.product();
255 
256  double eventZ = 0;
257  double averageZ = 0;
258 
259  for (reco::TrackCollection::const_iterator track = tracks->begin();
260  track != tracks->end(); ++track){
261 
262  if (!isMuon_) {
263  const reco::HitPattern &trkHP = track->hitPattern();
264 
274  } else {
275  fnTotLayerMeas = track->numberOfValidHits();
276  }
277 
278  fpt = track->pt();
279  feta = track->eta();
280  fphi0 = track->phi();
281  fcharge = track->charge();
282  fnormchi2 = track->normalizedChi2();
283  fd0 = track->d0();
284  if (refBS) fd0bs = -1*track->dxy(refBS->position());
285  else fd0bs = 0.;
286 
287  fsigmad0 = track->d0Error();
288  fz0 = track->dz();
289  fsigmaz0 = track->dzError();
290  ftheta = track->theta();
291  fvx = track->vx();
292  fvy = track->vy();
293 
294  for (int i=0; i<5; ++i) {
295  for (int j=0; j<5; ++j) {
296  fcov[i][j] = track->covariance(i,j);
297  }
298  }
299 
300  fquality = true;
301  falgo = true;
302 
303  if (! isMuon_ ) {
304  if (quality_.size()!=0) {
305  fquality = false;
306  for (unsigned int i = 0; i<quality_.size();++i) {
307  if(debug_) edm::LogInfo("BeamFitter") << "quality_[" << i << "] = " << track->qualityName(quality_[i]) << std::endl;
308  if (track->quality(quality_[i])) {
309  fquality = true;
310  break;
311  }
312  }
313  }
314 
315 
316  // Track algorithm
317 
318  if (algorithm_.size()!=0) {
319  if (std::find(algorithm_.begin(),algorithm_.end(),track->algo())==algorithm_.end())
320  falgo = false;
321  }
322 
323  }
324 
325  // check if we have a valid PV
326  fpvValid = false;
327 
328  if ( hasPVs ) {
329 
330  for ( size_t ipv=0; ipv != pv.size(); ++ipv ) {
331 
332  if (! pv[ipv].isFake() ) fpvValid = true;
333 
334  if ( ipv==0 && !pv[0].isFake() ) { fpvx = pv[0].x(); fpvy = pv[0].y(); fpvz = pv[0].z(); } // fix this later
335 
336 
337  }
338 
339  }
340 
341 
342  if (saveNtuple_) ftree_->Fill();
343  ftotal_tracks++;
344 
346  // Track selection
347  if (fnTotLayerMeas >= trk_MinNTotLayers_) { countPass[1] += 1;
349  if (fnormchi2 < trk_MaxNormChi2_) { countPass[3] += 1;
350  if (falgo) {countPass[4] += 1;
351  if (fquality) { countPass[5] += 1;
352  if (std::abs( fd0 ) < trk_MaxIP_) { countPass[6] += 1;
353  if (std::abs( fz0 ) < trk_MaxZ_){ countPass[7] += 1;
354  if (fpt > trk_MinpT_) {
355  countPass[8] += 1;
356  if (std::abs( feta ) < trk_MaxEta_
357  //&& fpvValid
358  ) {
359  if (debug_) {
360  edm::LogInfo("BeamFitter") << "Selected track quality = " << track->qualityMask()
361  << "; track algorithm = " << track->algoName() << "= TrackAlgorithm: " << track->algo() << std::endl;
362  }
364  BSTrk.setVx(fvx);
365  BSTrk.setVy(fvy);
366  fBSvector.push_back(BSTrk);
367  averageZ += fz0;
368  }
369  }
370  }
371  }
372  }
373  }
374  }
375  }
376  }// track selection
377 
378  }// tracks
379 
380  averageZ = averageZ/(float)(fBSvector.size());
381 
382  for( std::vector<BSTrkParameters>::const_iterator iparam = fBSvector.begin(); iparam != fBSvector.end(); ++iparam) {
383 
384  eventZ += fabs( iparam->z0() - averageZ );
385 
386  }
387 
388  h1ntrks->Fill( fBSvector.size() );
389  h1vz_event->Fill( eventZ/(float)(fBSvector.size() ) ) ;
390  for (unsigned int i=0; i < sizeof(countPass)/sizeof(countPass[0]); i++)
391  h1cutFlow->SetBinContent(i+1,countPass[i]);
392 
393  MyPVFitter->readEvent(iEvent);
394 
395 }
RunNumber_t run() const
Definition: EventID.h:39
int stripTOBLayersWithMeasurement() const
Definition: HitPattern.cc:563
double trk_MaxZ_
Definition: BeamFitter.h:158
double trk_MaxEta_
Definition: BeamFitter.h:159
int i
Definition: DBlmapReader.cc:9
int fendLumiOfFit
Definition: BeamFitter.h:225
int countPass[9]
Definition: BeamFitter.h:248
bool isMuon_
Definition: BeamFitter.h:172
int stripTIBLayersWithMeasurement() const
Definition: HitPattern.cc:541
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:457
double fnormchi2
Definition: BeamFitter.h:192
bool debug_
Definition: BeamFitter.h:147
int fnTOBLayerMeas
Definition: BeamFitter.h:204
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:13
double feta
Definition: BeamFitter.h:190
double trk_MaxNormChi2_
Definition: BeamFitter.h:163
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:63
size_type size() const
TH1F * h1vz_event
Definition: BeamFitter.h:246
double fvy
Definition: BeamFitter.h:212
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:458
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
int fnPixelLayerMeas
Definition: BeamFitter.h:200
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:477
int pixelEndcapLayersWithMeasurement() const
Definition: HitPattern.cc:529
double fphi0
Definition: BeamFitter.h:193
std::time_t freftime[2]
Definition: BeamFitter.h:219
PVFitter * MyPVFitter
Definition: BeamFitter.h:250
std::vector< BSTrkParameters > fBSvector
Definition: BeamFitter.h:139
int fnTotLayerMeas
Definition: BeamFitter.h:199
double fpvx
Definition: BeamFitter.h:218
double trk_MaxIP_
Definition: BeamFitter.h:160
void readEvent(const edm::Event &iEvent)
Definition: PVFitter.cc:103
uint16_t hitPattern[ARRAY_LENGTH]
Definition: HitPattern.h:418
TTree * ftree_
Definition: BeamFitter.h:187
bool falgo
Definition: BeamFitter.h:216
int ftotal_tracks
Definition: BeamFitter.h:170
int stripTIDLayersWithMeasurement() const
Definition: HitPattern.cc:552
TH1F * h1cutFlow
Definition: BeamFitter.h:247
std::vector< reco::TrackBase::TrackAlgorithm > algorithm_
Definition: BeamFitter.h:167
TH1F * h1ntrks
Definition: BeamFitter.h:245
double fpvz
Definition: BeamFitter.h:218
double fz0
Definition: BeamFitter.h:197
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int j
Definition: DBlmapReader.cc:9
double ftheta
Definition: BeamFitter.h:188
double fd0
Definition: BeamFitter.h:194
bool fquality
Definition: BeamFitter.h:215
int fnStripLayerMeas
Definition: BeamFitter.h:201
unsigned long long TimeValue_t
Definition: Timestamp.h:28
int fnTIDLayerMeas
Definition: BeamFitter.h:203
bool saveNtuple_
Definition: BeamFitter.h:182
int fbeginLumiOfFit
Definition: BeamFitter.h:224
double fsigmad0
Definition: BeamFitter.h:196
bool fpvValid
Definition: BeamFitter.h:217
T const * product() const
Definition: Handle.h:81
tuple tracks
Definition: testEve_cfg.py:39
void updateBTime()
Definition: BeamFitter.cc:28
int stripLayersWithMeasurement() const
Definition: HitPattern.h:919
int pixelBarrelLayersWithMeasurement() const
Definition: HitPattern.cc:517
double fvx
Definition: BeamFitter.h:211
double fpt
Definition: BeamFitter.h:189
edm::EventID id() const
Definition: EventBase.h:60
double fcov[7][7]
Definition: BeamFitter.h:210
std::vector< reco::TrackBase::TrackQuality > quality_
Definition: BeamFitter.h:166
double fsigmaz0
Definition: BeamFitter.h:198
int trk_MinNPixLayers_
Definition: BeamFitter.h:162
int fnTIBLayerMeas
Definition: BeamFitter.h:202
int stripTECLayersWithMeasurement() const
Definition: HitPattern.cc:574
double fd0bs
Definition: BeamFitter.h:195
const Point & position() const
position
Definition: BeamSpot.h:62
edm::EDGetTokenT< reco::TrackCollection > tracksToken_
Definition: BeamFitter.h:149
double trk_MinpT_
Definition: BeamFitter.h:157
int fnPXBLayerMeas
Definition: BeamFitter.h:206
TimeValue_t value() const
Definition: Timestamp.h:56
edm::Timestamp time() const
Definition: EventBase.h:61
double fpvy
Definition: BeamFitter.h:218
edm::EDGetTokenT< edm::View< reco::Vertex > > vertexToken_
Definition: BeamFitter.h:150
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: BeamFitter.h:151
int fnPXFLayerMeas
Definition: BeamFitter.h:207
int fnTECLayerMeas
Definition: BeamFitter.h:205
int trk_MinNTotLayers_
Definition: BeamFitter.h:161
void BeamFitter::resetCutFlow ( )
inline
void BeamFitter::resetLSRange ( )
inline
void BeamFitter::resetPVFitter ( )
inline
void BeamFitter::resetRefTime ( )
inline
void BeamFitter::resetTotTrk ( )
inline

Definition at line 54 of file BeamFitter.h.

References ftotal_tracks.

54 { ftotal_tracks=0; }
int ftotal_tracks
Definition: BeamFitter.h:170
void BeamFitter::resetTrkVector ( )
inline
void BeamFitter::resizeBSvector ( unsigned int  nsize)
inline

Definition at line 74 of file BeamFitter.h.

References fBSvector.

Referenced by BeamMonitor::FitAndFill().

74  {
75  fBSvector.erase(fBSvector.begin(),fBSvector.begin()+nsize);
76  }
std::vector< BSTrkParameters > fBSvector
Definition: BeamFitter.h:139
void BeamFitter::resizePVvector ( unsigned int  npvsize)
inline

Definition at line 79 of file BeamFitter.h.

References MyPVFitter, and PVFitter::resizepvStore().

Referenced by BeamMonitor::FitAndFill().

79  {
80  MyPVFitter->resizepvStore(npvsize);
81  }
PVFitter * MyPVFitter
Definition: BeamFitter.h:250
void resizepvStore(unsigned int rmSize)
Definition: PVFitter.h:109
void BeamFitter::runAllFitter ( )

Definition at line 767 of file BeamFitter.cc.

References gather_cfg::cout, debug_, fbeamspot, fBSvector, BSFitter::Fit(), BSFitter::Fit_d0phi(), BSFitter::Fit_ited0phi(), BSFitter::Setd0Cut_d0phi(), BSFitter::SetFitType(), BSFitter::SetFitVariable(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by BeamSpotAnalyzer::endJob().

767  {
768  if(fBSvector.size()!=0){
769  BSFitter *myalgo = new BSFitter( fBSvector );
770  fbeamspot = myalgo->Fit_d0phi();
771 
772  // iterative
773  if(debug_)
774  std::cout << " d0-phi Iterative:" << std::endl;
775  BSFitter *myitealgo = new BSFitter( fBSvector );
776  myitealgo->Setd0Cut_d0phi(4.0);
777  reco::BeamSpot beam_ite = myitealgo->Fit_ited0phi();
778  if (debug_){
779  std::cout << beam_ite << std::endl;
780  std::cout << "\n Now run tests of the different fits\n";
781  }
782  // from here are just tests
783  std::string fit_type = "chi2";
784  myalgo->SetFitVariable(std::string("z"));
785  myalgo->SetFitType(std::string("chi2"));
786  reco::BeamSpot beam_fit_z_chi2 = myalgo->Fit();
787  if (debug_){
788  std::cout << " z Chi2 Fit ONLY:" << std::endl;
789  std::cout << beam_fit_z_chi2 << std::endl;
790  }
791 
792  fit_type = "combined";
793  myalgo->SetFitVariable("z");
794  myalgo->SetFitType("combined");
795  reco::BeamSpot beam_fit_z_lh = myalgo->Fit();
796  if (debug_){
797  std::cout << " z Log-Likelihood Fit ONLY:" << std::endl;
798  std::cout << beam_fit_z_lh << std::endl;
799  }
800 
801  myalgo->SetFitVariable("d");
802  myalgo->SetFitType("d0phi");
803  reco::BeamSpot beam_fit_dphi = myalgo->Fit();
804  if (debug_){
805  std::cout << " d0-phi0 Fit ONLY:" << std::endl;
806  std::cout << beam_fit_dphi << std::endl;
807  }
808  /*
809  myalgo->SetFitVariable(std::string("d*z"));
810  myalgo->SetFitType(std::string("likelihood"));
811  reco::BeamSpot beam_fit_dz_lh = myalgo->Fit();
812  if (debug_){
813  std::cout << " Log-Likelihood Fit:" << std::endl;
814  std::cout << beam_fit_dz_lh << std::endl;
815  }
816 
817  myalgo->SetFitVariable(std::string("d*z"));
818  myalgo->SetFitType(std::string("resolution"));
819  reco::BeamSpot beam_fit_dresz_lh = myalgo->Fit();
820  if(debug_){
821  std::cout << " IP Resolution Fit" << std::endl;
822  std::cout << beam_fit_dresz_lh << std::endl;
823 
824  std::cout << "c0 = " << myalgo->GetResPar0() << " +- " << myalgo->GetResPar0Err() << std::endl;
825  std::cout << "c1 = " << myalgo->GetResPar1() << " +- " << myalgo->GetResPar1Err() << std::endl;
826  }
827  */
828  }
829  else
830  if (debug_) std::cout << "No good track selected! No beam fit!" << std::endl;
831 }
reco::BeamSpot fbeamspot
Definition: BeamFitter.h:140
reco::BeamSpot Fit()
Definition: BSFitter.cc:100
bool debug_
Definition: BeamFitter.h:147
std::vector< BSTrkParameters > fBSvector
Definition: BeamFitter.h:139
reco::BeamSpot Fit_ited0phi()
Definition: BSFitter.cc:392
void SetFitVariable(std::string name)
Definition: BSFitter.h:45
void Setd0Cut_d0phi(double d0cut)
Definition: BSFitter.cc:631
tuple cout
Definition: gather_cfg.py:121
reco::BeamSpot Fit_d0phi()
Definition: BSFitter.cc:448
void SetFitType(std::string type)
Definition: BSFitter.h:41
bool BeamFitter::runBeamWidthFitter ( )

Definition at line 578 of file BeamFitter.cc.

References convergence_, dumpBWTxtFile(), reco::BeamSpot::Fake, fbeamspot, fbeamWidthFit, fBSvector, BSFitter::Fit(), ftotal_tracks, inputBeamWidth_, min_Ntrks_, outputTxt_, BSFitter::SetConvergence(), BSFitter::SetFitType(), BSFitter::SetFitVariable(), BSFitter::SetInputBeamWidth(), BSFitter::SetMaximumZ(), BSFitter::SetMinimumNTrks(), reco::BeamSpot::setType(), AlCaHLTBitMon_QueryRunRegistry::string, trk_MaxZ_, reco::BeamSpot::type(), and writeTxt_.

Referenced by BeamSpotAnalyzer::endJob().

578  {
579  bool widthfit_ok = false;
580  // default fit to extract beam spot info
581  if(fBSvector.size() > 1 ){
582 
583  edm::LogInfo("BeamFitter") << "Calculating beam spot positions('d0-phi0' method) and width using llh Fit"<< std::endl
584  << "We will use " << fBSvector.size() << " good tracks out of " << ftotal_tracks << std::endl;
585 
586  BSFitter *myalgo = new BSFitter( fBSvector );
587  myalgo->SetMaximumZ( trk_MaxZ_ );
588  myalgo->SetConvergence( convergence_ );
589  myalgo->SetMinimumNTrks(min_Ntrks_);
591 
592 
593  myalgo->SetFitVariable(std::string("d*z"));
594  myalgo->SetFitType(std::string("likelihood"));
595  fbeamWidthFit = myalgo->Fit();
596 
597  //Add to .txt file
599 
600  delete myalgo;
601 
602  // not fake
603  if ( fbeamspot.type() != 0 )
604  widthfit_ok = true;
605  }
606  else{
608  edm::LogWarning("BeamFitter") << "Not enough good tracks selected! No beam fit!" << std::endl;
609  }
610  return widthfit_ok;
611 }
double trk_MaxZ_
Definition: BeamFitter.h:158
reco::BeamSpot fbeamspot
Definition: BeamFitter.h:140
reco::BeamSpot Fit()
Definition: BSFitter.cc:100
void SetMaximumZ(double z)
Definition: BSFitter.h:61
double convergence_
Definition: BeamFitter.h:169
void dumpBWTxtFile(std::string &)
Definition: BeamFitter.cc:613
void SetInputBeamWidth(double val)
Definition: BSFitter.h:66
void setType(BeamType type)
set beam type
Definition: BeamSpot.h:131
reco::BeamSpot fbeamWidthFit
Definition: BeamFitter.h:141
std::vector< BSTrkParameters > fBSvector
Definition: BeamFitter.h:139
std::string outputTxt_
Definition: BeamFitter.h:155
int ftotal_tracks
Definition: BeamFitter.h:170
int min_Ntrks_
Definition: BeamFitter.h:171
bool writeTxt_
Definition: BeamFitter.h:152
double inputBeamWidth_
Definition: BeamFitter.h:168
void SetFitVariable(std::string name)
Definition: BSFitter.h:45
void SetMinimumNTrks(int n)
Definition: BSFitter.h:63
void SetConvergence(double val)
Definition: BSFitter.h:62
BeamType type() const
return beam type
Definition: BeamSpot.h:129
void SetFitType(std::string type)
Definition: BSFitter.h:41
bool BeamFitter::runFitter ( )

Definition at line 567 of file BeamFitter.cc.

References dumpTxtFile(), outputDIPTxt_, outputTxt_, runFitterNoTxt(), writeDIPBadFit_, writeDIPTxt_, and writeTxt_.

567  {
568 
569  bool fit_ok = runFitterNoTxt();
570 
571  if(writeTxt_ ) dumpTxtFile(outputTxt_,true); // all reaults
572  if(writeDIPTxt_ && (fit_ok || writeDIPBadFit_)) {
573  dumpTxtFile(outputDIPTxt_,false); // for DQM/DIP
574  }
575  return fit_ok;
576 }
std::string outputTxt_
Definition: BeamFitter.h:155
bool runFitterNoTxt()
Definition: BeamFitter.cc:499
bool writeTxt_
Definition: BeamFitter.h:152
std::string outputDIPTxt_
Definition: BeamFitter.h:156
void dumpTxtFile(std::string &, bool)
Definition: BeamFitter.cc:623
bool writeDIPTxt_
Definition: BeamFitter.h:153
bool writeDIPBadFit_
Definition: BeamFitter.h:154
bool BeamFitter::runFitterNoTxt ( )

Definition at line 499 of file BeamFitter.cc.

References reco::BeamSpot::BeamWidthX(), reco::BeamSpot::BeamWidthXError(), reco::BeamSpot::BeamWidthY(), reco::BeamSpot::BeamWidthYError(), convergence_, reco::BeamSpot::dxdz(), reco::BeamSpot::dxdzError(), reco::BeamSpot::dydz(), reco::BeamSpot::dydzError(), reco::BeamSpot::Fake, fbeamspot, fbeginLumiOfFit, fbeginTimeOfFit, fBSvector, fdxdz, fdxdzErr, fdydz, fdydzErr, fendLumiOfFit, fendTimeOfFit, BSFitter::Fit(), fitted_, freftime, fsigmaZ, fsigmaZErr, ftotal_tracks, ftreeFit_, fwidthX, fwidthXErr, fwidthY, fwidthYErr, fx, fxErr, fy, fyErr, fz, fzErr, BSFitter::GetVzHisto(), h1z, inputBeamWidth_, min_Ntrks_, saveBeamFit_, BSFitter::SetConvergence(), BSFitter::SetInputBeamWidth(), BSFitter::SetMaximumZ(), BSFitter::SetMinimumNTrks(), reco::BeamSpot::setType(), reco::BeamSpot::sigmaZ(), reco::BeamSpot::sigmaZ0Error(), trk_MaxZ_, reco::BeamSpot::type(), reco::BeamSpot::x0(), reco::BeamSpot::x0Error(), reco::BeamSpot::y0(), reco::BeamSpot::y0Error(), reco::BeamSpot::z0(), and reco::BeamSpot::z0Error().

Referenced by runFitter(), and runPVandTrkFitter().

499  {
500  edm::LogInfo("BeamFitter") << " [BeamFitterDebugTime] freftime[0] = " << freftime[0]
501  << "; address = " << &freftime[0]
502  << " = " << fbeginTimeOfFit << std::endl;
503  edm::LogInfo("BeamFitter") << " [BeamFitterDebugTime] freftime[1] = " << freftime[1]
504  << "; address = " << &freftime[1]
505  << " = " << fendTimeOfFit << std::endl;
506 
507  if (fbeginLumiOfFit == -1 || fendLumiOfFit == -1) {
508  edm::LogWarning("BeamFitter") << "No event read! No Fitting!" << std::endl;
509  return false;
510  }
511 
512  bool fit_ok = false;
513  // default fit to extract beam spot info
514  if(fBSvector.size() > 1 ){
515 
516  edm::LogInfo("BeamFitter") << "Calculating beam spot..." << std::endl
517  << "We will use " << fBSvector.size() << " good tracks out of " << ftotal_tracks << std::endl;
518 
519  BSFitter *myalgo = new BSFitter( fBSvector );
520  myalgo->SetMaximumZ( trk_MaxZ_ );
521  myalgo->SetConvergence( convergence_ );
522  myalgo->SetMinimumNTrks( min_Ntrks_ );
524 
525  fbeamspot = myalgo->Fit();
526 
527 
528  // retrieve histogram for Vz
529  h1z = (TH1F*) myalgo->GetVzHisto();
530 
531  delete myalgo;
532  if ( fbeamspot.type() != 0 ) {// save all results except for Fake (all 0.)
533  fit_ok = true;
534  if (saveBeamFit_){
535  fx = fbeamspot.x0();
536  fy = fbeamspot.y0();
537  fz = fbeamspot.z0();
539  fdxdz = fbeamspot.dxdz();
540  fdydz = fbeamspot.dydz();
543  fxErr = fbeamspot.x0Error();
544  fyErr = fbeamspot.y0Error();
545  fzErr = fbeamspot.z0Error();
551  ftreeFit_->Fill();
552  }
553  }
554  }
555  else{ // tracks <= 1
556  reco::BeamSpot tmpbs;
557  fbeamspot = tmpbs;
559  edm::LogInfo("BeamFitter") << "Not enough good tracks selected! No beam fit!" << std::endl;
560 
561  }
562  fitted_ = true;
563  return fit_ok;
564 
565 }
double trk_MaxZ_
Definition: BeamFitter.h:158
reco::BeamSpot fbeamspot
Definition: BeamFitter.h:140
double z0() const
z coordinate
Definition: BeamSpot.h:68
double fwidthXErr
Definition: BeamFitter.h:242
double fwidthX
Definition: BeamFitter.h:240
double sigmaZ0Error() const
error on sigma z
Definition: BeamSpot.h:96
int fendLumiOfFit
Definition: BeamFitter.h:225
double fwidthY
Definition: BeamFitter.h:241
reco::BeamSpot Fit()
Definition: BSFitter.cc:100
char fendTimeOfFit[32]
Definition: BeamFitter.h:227
double dydzError() const
error on dydz
Definition: BeamSpot.h:100
double fdxdz
Definition: BeamFitter.h:232
double fx
Definition: BeamFitter.h:228
TH1F * h1z
Definition: BeamFitter.h:181
void SetMaximumZ(double z)
Definition: BSFitter.h:61
double convergence_
Definition: BeamFitter.h:169
double fsigmaZErr
Definition: BeamFitter.h:237
void SetInputBeamWidth(double val)
Definition: BSFitter.h:66
void setType(BeamType type)
set beam type
Definition: BeamSpot.h:131
std::time_t freftime[2]
Definition: BeamFitter.h:219
std::vector< BSTrkParameters > fBSvector
Definition: BeamFitter.h:139
double dydz() const
dydz slope
Definition: BeamSpot.h:84
double fdxdzErr
Definition: BeamFitter.h:238
double dxdzError() const
error on dxdz
Definition: BeamSpot.h:98
double fyErr
Definition: BeamFitter.h:235
int ftotal_tracks
Definition: BeamFitter.h:170
int min_Ntrks_
Definition: BeamFitter.h:171
double fdydz
Definition: BeamFitter.h:233
char fbeginTimeOfFit[32]
Definition: BeamFitter.h:226
double BeamWidthX() const
beam width X
Definition: BeamSpot.h:86
double fy
Definition: BeamFitter.h:229
double BeamWidthYError() const
error on beam width Y, assume error in X = Y
Definition: BeamSpot.h:105
double BeamWidthXError() const
error on beam width X, assume error in X = Y
Definition: BeamSpot.h:103
double z0Error() const
error on z
Definition: BeamSpot.h:94
double fwidthYErr
Definition: BeamFitter.h:243
double fxErr
Definition: BeamFitter.h:234
double dxdz() const
dxdz slope
Definition: BeamSpot.h:82
double x0Error() const
error on x
Definition: BeamSpot.h:90
double y0Error() const
error on y
Definition: BeamSpot.h:92
double fsigmaZ
Definition: BeamFitter.h:231
int fbeginLumiOfFit
Definition: BeamFitter.h:224
double fdydzErr
Definition: BeamFitter.h:239
double inputBeamWidth_
Definition: BeamFitter.h:168
double sigmaZ() const
sigma z
Definition: BeamSpot.h:80
double BeamWidthY() const
beam width Y
Definition: BeamSpot.h:88
void SetMinimumNTrks(int n)
Definition: BSFitter.h:63
TH1F * GetVzHisto()
Definition: BSFitter.h:105
TTree * ftreeFit_
Definition: BeamFitter.h:222
double y0() const
y coordinate
Definition: BeamSpot.h:66
void SetConvergence(double val)
Definition: BSFitter.h:62
double fzErr
Definition: BeamFitter.h:236
bool saveBeamFit_
Definition: BeamFitter.h:183
double fz
Definition: BeamFitter.h:230
bool fitted_
Definition: BeamFitter.h:173
BeamType type() const
return beam type
Definition: BeamSpot.h:129
double x0() const
x coordinate
Definition: BeamSpot.h:64
bool BeamFitter::runPVandTrkFitter ( )

Definition at line 397 of file BeamFitter.cc.

References reco::BeamSpot::BeamWidthX(), reco::BeamSpot::BeamWidthY(), reco::BeamSpot::covariance(), dumpTxtFile(), reco::BeamSpot::dxdz(), reco::BeamSpot::dydz(), reco::BeamSpot::Fake, fbeamspot, fbeginTimeOfFit, fbspotPVMap, fendTimeOfFit, ForDIPPV_, freftime, PVFitter::getBeamSpot(), PVFitter::getBeamSpotMap(), PVFitter::getWidthXerr(), i, inputBeamWidth_, PVFitter::IsFitPerBunchCrossing(), j, relval_steps::k, makeMuonMisalignmentScenario::matrix, MyPVFitter, outputDIPTxt_, outputTxt_, funct::pow(), PVFitter::runBXFitter(), PVFitter::runFitter(), runFitterNoTxt(), reco::BeamSpot::setBeamWidthY(), reco::BeamSpot::setType(), reco::BeamSpot::sigmaZ(), mathSSE::sqrt(), reco::BeamSpot::type(), reco::BeamSpot::Unknown, writeDIPBadFit_, writeDIPTxt_, writeTxt_, reco::BeamSpot::x0(), reco::BeamSpot::y0(), and reco::BeamSpot::z0().

Referenced by BeamSpotAnalyzer::endJob(), BeamSpotAnalyzer::endLuminosityBlock(), AlcaBeamMonitor::endLuminosityBlock(), AlcaBeamSpotProducer::endLuminosityBlockProduce(), BeamMonitorBx::FitAndFill(), and BeamMonitor::FitAndFill().

397  {
398 // run both PV and track fitters
399  bool fit_ok = false;
400  bool pv_fit_ok = false;
401  reco::BeamSpot bspotPV;
402  reco::BeamSpot bspotTrk;
403 
404  // First run PV fitter
406  edm::LogInfo("BeamFitter") << " [BeamFitterBxDebugTime] freftime[0] = " << freftime[0]
407  << "; address = " << &freftime[0]
408  << " = " << fbeginTimeOfFit << std::endl;
409  edm::LogInfo("BeamFitter") << " [BeamFitterBxDebugTime] freftime[1] = " << freftime[1]
410  << "; address = " << &freftime[1]
411  << " = " << fendTimeOfFit << std::endl;
412 
413  if ( MyPVFitter->runBXFitter() ) {
415  pv_fit_ok = true;
416  }
417  if(writeTxt_ ) dumpTxtFile(outputTxt_,true); // all reaults
418  if(writeDIPTxt_ && (pv_fit_ok || writeDIPBadFit_)) {
419  dumpTxtFile(outputDIPTxt_,false); // for DQM/DIP
420  }
421  return pv_fit_ok;
422  }
423 
424  if ( MyPVFitter->runFitter() ) {
425 
426  bspotPV = MyPVFitter->getBeamSpot();
427 
428  // take beam width from PV fit and pass it to track fitter
429  // assume circular transverse beam width
430  inputBeamWidth_ = sqrt( pow(bspotPV.BeamWidthX(),2) + pow(bspotPV.BeamWidthY(),2) )/sqrt(2);
431  pv_fit_ok = true;
432 
433  } else {
434  // problems with PV fit
436  bspotTrk.setType(reco::BeamSpot::Unknown); //propagate error to trk beam spot
437  }
438 
439  if ( runFitterNoTxt() ) {
440 
441  bspotTrk = fbeamspot;
442  fit_ok = true;
443  } else {
444  // beamfit failed, flagged as empty beam spot
445  bspotTrk.setType(reco::BeamSpot::Fake);
446  fit_ok = false;
447  }
448 
449  // combined results into one single beam spot
450 
451  // to pass errors I have to create another beam spot object
453  for (int j = 0 ; j < 7 ; ++j) {
454  for(int k = j ; k < 7 ; ++k) {
455  matrix(j,k) = bspotTrk.covariance(j,k);
456  }
457  }
458  // change beam width error to one from PV
459  if (pv_fit_ok && fit_ok ) {
461 
462  // get Z and sigmaZ from PV fit
463  matrix(2,2) = bspotPV.covariance(2,2);
464  matrix(3,3) = bspotPV.covariance(3,3);
465  reco::BeamSpot tmpbs(reco::BeamSpot::Point(bspotTrk.x0(), bspotTrk.y0(),
466  bspotPV.z0() ),
467  bspotPV.sigmaZ() ,
468  bspotTrk.dxdz(),
469  bspotTrk.dydz(),
470  bspotPV.BeamWidthX(),
471  matrix,
472  bspotPV.type() );
473  tmpbs.setBeamWidthY( bspotPV.BeamWidthY() );
474  // overwrite beam spot result
475  fbeamspot = tmpbs;
476  }
477  if (pv_fit_ok && fit_ok) {
478  fbeamspot.setType(bspotPV.type());
479  }
480  else if(!pv_fit_ok && fit_ok){
482  }
483  else if(pv_fit_ok && !fit_ok){
485  }
486  else if(!pv_fit_ok && !fit_ok){
488  }
489 
490  if(writeTxt_ ) dumpTxtFile(outputTxt_,true); // all reaults
491  if(writeDIPTxt_ && ((fit_ok && pv_fit_ok) || writeDIPBadFit_)) {
492  dumpTxtFile(outputDIPTxt_,false); // for DQM/DIP
493  for(size_t i= 0; i < 7; i++)ForDIPPV_.push_back(0.0);
494  }
495 
496  return fit_ok && pv_fit_ok;
497 }
math::Error< dimension >::type CovarianceMatrix
Definition: BeamSpot.h:31
reco::BeamSpot fbeamspot
Definition: BeamFitter.h:140
double z0() const
z coordinate
Definition: BeamSpot.h:68
int i
Definition: DBlmapReader.cc:9
char fendTimeOfFit[32]
Definition: BeamFitter.h:227
std::map< int, reco::BeamSpot > getBeamSpotMap()
Definition: PVFitter.h:92
math::XYZPoint Point
point in the space
Definition: BeamSpot.h:29
void setType(BeamType type)
set beam type
Definition: BeamSpot.h:131
std::time_t freftime[2]
Definition: BeamFitter.h:219
PVFitter * MyPVFitter
Definition: BeamFitter.h:250
double dydz() const
dydz slope
Definition: BeamSpot.h:84
std::string outputTxt_
Definition: BeamFitter.h:155
void setBeamWidthY(double v)
Definition: BeamSpot.h:109
bool runFitterNoTxt()
Definition: BeamFitter.cc:499
T sqrt(T t)
Definition: SSEVec.h:48
char fbeginTimeOfFit[32]
Definition: BeamFitter.h:226
int j
Definition: DBlmapReader.cc:9
double BeamWidthX() const
beam width X
Definition: BeamSpot.h:86
double dxdz() const
dxdz slope
Definition: BeamSpot.h:82
bool writeTxt_
Definition: BeamFitter.h:152
std::string outputDIPTxt_
Definition: BeamFitter.h:156
void dumpTxtFile(std::string &, bool)
Definition: BeamFitter.cc:623
std::vector< float > ForDIPPV_
Definition: BeamFitter.h:177
double inputBeamWidth_
Definition: BeamFitter.h:168
bool runFitter()
Definition: PVFitter.cc:335
double sigmaZ() const
sigma z
Definition: BeamSpot.h:80
double BeamWidthY() const
beam width Y
Definition: BeamSpot.h:88
bool writeDIPTxt_
Definition: BeamFitter.h:153
bool runBXFitter()
Definition: PVFitter.cc:205
std::map< int, reco::BeamSpot > fbspotPVMap
Definition: BeamFitter.h:142
double covariance(int i, int j) const
(i,j)-th element of error matrix
Definition: BeamSpot.h:112
double y0() const
y coordinate
Definition: BeamSpot.h:66
reco::BeamSpot getBeamSpot()
Definition: PVFitter.h:91
bool writeDIPBadFit_
Definition: BeamFitter.h:154
bool IsFitPerBunchCrossing()
Definition: PVFitter.h:93
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
double getWidthXerr()
Definition: PVFitter.h:57
BeamType type() const
return beam type
Definition: BeamSpot.h:129
double x0() const
x coordinate
Definition: BeamSpot.h:64
void BeamFitter::setFitLSRange ( int  ls0,
int  ls1 
)
inline

Definition at line 120 of file BeamFitter.h.

References fbeginLumiOfFit, and fendLumiOfFit.

Referenced by BeamSpotAnalyzer::endLuminosityBlock(), AlcaBeamSpotProducer::endLuminosityBlockProduce(), and BeamMonitor::FitAndFill().

120  {
121  fbeginLumiOfFit = ls0;
122  fendLumiOfFit = ls1;
123  }
int fendLumiOfFit
Definition: BeamFitter.h:225
int fbeginLumiOfFit
Definition: BeamFitter.h:224
void BeamFitter::SetPVInfo ( const std::vector< float > &  v1_)
inline

Definition at line 84 of file BeamFitter.h.

References ForDIPPV_.

Referenced by BeamMonitor::FitAndFill().

84  {
85  ForDIPPV_.clear();
86  ForDIPPV_.assign( v1_.begin(), v1_.end() );
87  }
std::vector< float > ForDIPPV_
Definition: BeamFitter.h:177
void BeamFitter::setRefTime ( time_t  t0,
time_t  t1 
)
inline

Definition at line 57 of file BeamFitter.h.

References freftime, and updateBTime().

Referenced by BeamSpotAnalyzer::endLuminosityBlock(), AlcaBeamSpotProducer::endLuminosityBlockProduce(), and BeamMonitor::FitAndFill().

57  {
58  freftime[0] = t0;
59  freftime[1] = t1;
60  // Make sure the string representation of the time
61  // is up-to-date
62  updateBTime();
63  }
std::time_t freftime[2]
Definition: BeamFitter.h:219
void updateBTime()
Definition: BeamFitter.cc:28
void BeamFitter::setRun ( int  run)
inline
void BeamFitter::subtractFromCutFlow ( const TH1F *  toSubtract)
inline

Definition at line 98 of file BeamFitter.h.

References countPass, h1cutFlow, and i.

Referenced by BeamMonitor::FitAndFill().

98  {
99  h1cutFlow->Add(toSubtract, -1.0);
100  for (unsigned int i=0; i<sizeof(countPass)/sizeof(countPass[0]); i++){
101  countPass[i] = h1cutFlow->GetBinContent(i+1);
102  }
103  }
int i
Definition: DBlmapReader.cc:9
int countPass[9]
Definition: BeamFitter.h:248
TH1F * h1cutFlow
Definition: BeamFitter.h:247
void BeamFitter::updateBTime ( )
private

class: BeamFitter.cc package: RecoVertex/BeamSpotProducer

author: Francisco Yumiceva, Fermilab (yumic.nosp@m.eva@.nosp@m.fnal..nosp@m.gov) Geng-Yuan Jeng, UC Riverside (Geng-.nosp@m.Yuan.nosp@m..Jeng.nosp@m.@cer.nosp@m.n.ch)


Definition at line 28 of file BeamFitter.cc.

References fbeginTimeOfFit, fendTimeOfFit, and freftime.

Referenced by readEvent(), and setRefTime().

28  {
29  char ts[] = "yyyy.mn.dd hh:mm:ss zzz ";
30  char* fbeginTime = ts;
31  strftime(fbeginTime,sizeof(ts),"%Y.%m.%d %H:%M:%S GMT",gmtime(&freftime[0]));
32  sprintf(fbeginTimeOfFit,"%s",fbeginTime);
33  char* fendTime = ts;
34  strftime(fendTime,sizeof(ts),"%Y.%m.%d %H:%M:%S GMT",gmtime(&freftime[1]));
35  sprintf(fendTimeOfFit,"%s",fendTime);
36 }
char fendTimeOfFit[32]
Definition: BeamFitter.h:227
std::time_t freftime[2]
Definition: BeamFitter.h:219
char fbeginTimeOfFit[32]
Definition: BeamFitter.h:226
void BeamFitter::write2DB ( )

Definition at line 727 of file BeamFitter.cc.

References cond::service::PoolDBOutputService::appendSinceTime(), reco::BeamSpot::BeamWidthX(), reco::BeamSpot::BeamWidthY(), cond::service::PoolDBOutputService::beginOfTime(), gather_cfg::cout, reco::BeamSpot::covariance(), cond::service::PoolDBOutputService::createNewIOV(), cond::service::PoolDBOutputService::currentTime(), reco::BeamSpot::dxdz(), reco::BeamSpot::dydz(), cond::service::PoolDBOutputService::endOfTime(), fbeamspot, i, edm::Service< T >::isAvailable(), cond::service::PoolDBOutputService::isNewTagRequest(), j, reco::BeamSpot::position(), BeamSpotObjects::SetBeamWidthX(), BeamSpotObjects::SetBeamWidthY(), BeamSpotObjects::SetCovariance(), BeamSpotObjects::Setdxdz(), BeamSpotObjects::Setdydz(), BeamSpotObjects::SetPosition(), BeamSpotObjects::SetSigmaZ(), and reco::BeamSpot::sigmaZ().

Referenced by BeamSpotAnalyzer::endJob().

727  {
728  BeamSpotObjects *pBSObjects = new BeamSpotObjects();
729 
730  pBSObjects->SetPosition(fbeamspot.position().X(),fbeamspot.position().Y(),fbeamspot.position().Z());
731  //std::cout << " wrote: x= " << fbeamspot.position().X() << " y= "<< fbeamspot.position().Y() << " z= " << fbeamspot.position().Z() << std::endl;
732  pBSObjects->SetSigmaZ(fbeamspot.sigmaZ());
733  pBSObjects->Setdxdz(fbeamspot.dxdz());
734  pBSObjects->Setdydz(fbeamspot.dydz());
735  //if (inputBeamWidth_ > 0 ) {
736  // std::cout << " beam width value forced to be " << inputBeamWidth_ << std::endl;
737  // pBSObjects->SetBeamWidthX(inputBeamWidth_);
738  // pBSObjects->SetBeamWidthY(inputBeamWidth_);
739  //} else {
740  // need to fix this
741  //std::cout << " using default value, 15e-4, for beam width!!!"<<std::endl;
742  pBSObjects->SetBeamWidthX(fbeamspot.BeamWidthX() );
743  pBSObjects->SetBeamWidthY(fbeamspot.BeamWidthY() );
744  //}
745 
746  for (int i = 0; i<7; ++i) {
747  for (int j=0; j<7; ++j) {
748  pBSObjects->SetCovariance(i,j,fbeamspot.covariance(i,j));
749  }
750  }
752  if( poolDbService.isAvailable() ) {
753  std::cout << "poolDBService available"<<std::endl;
754  if ( poolDbService->isNewTagRequest( "BeamSpotObjectsRcd" ) ) {
755  std::cout << "new tag requested" << std::endl;
756  poolDbService->createNewIOV<BeamSpotObjects>( pBSObjects, poolDbService->beginOfTime(),poolDbService->endOfTime(),
757  "BeamSpotObjectsRcd" );
758  }
759  else {
760  std::cout << "no new tag requested" << std::endl;
761  poolDbService->appendSinceTime<BeamSpotObjects>( pBSObjects, poolDbService->currentTime(),
762  "BeamSpotObjectsRcd" );
763  }
764  }
765 }
reco::BeamSpot fbeamspot
Definition: BeamFitter.h:140
int i
Definition: DBlmapReader.cc:9
void SetSigmaZ(double val)
set sigma Z, RMS bunch length
void SetCovariance(int i, int j, double val)
set i,j element of the full covariance matrix 7x7
void Setdydz(double val)
set dydz slope, crossing angle in XZ
double dydz() const
dydz slope
Definition: BeamSpot.h:84
void appendSinceTime(T *payloadObj, cond::Time_t sinceTime, const std::string &recordName, bool withlogging=false)
bool isNewTagRequest(const std::string &recordName)
bool isAvailable() const
Definition: Service.h:46
int j
Definition: DBlmapReader.cc:9
double BeamWidthX() const
beam width X
Definition: BeamSpot.h:86
void Setdxdz(double val)
set dxdz slope, crossing angle
void createNewIOV(T *firstPayloadObj, cond::Time_t firstSinceTime, cond::Time_t firstTillTime, const std::string &recordName, bool withlogging=false)
double dxdz() const
dxdz slope
Definition: BeamSpot.h:82
double sigmaZ() const
sigma z
Definition: BeamSpot.h:80
double BeamWidthY() const
beam width Y
Definition: BeamSpot.h:88
void SetBeamWidthX(double val)
set average transverse beam width X
void SetBeamWidthY(double val)
set average transverse beam width Y
double covariance(int i, int j) const
(i,j)-th element of error matrix
Definition: BeamSpot.h:112
tuple cout
Definition: gather_cfg.py:121
const Point & position() const
position
Definition: BeamSpot.h:62
void SetPosition(double x, double y, double z)
set XYZ position

Member Data Documentation

std::vector<reco::TrackBase::TrackAlgorithm> BeamFitter::algorithm_
private

Definition at line 167 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

bool BeamFitter::appendRunTxt_
private

Definition at line 148 of file BeamFitter.h.

Referenced by BeamFitter(), and dumpTxtFile().

edm::EDGetTokenT<reco::BeamSpot> BeamFitter::beamSpotToken_
private

Definition at line 151 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::convergence_
private

Definition at line 169 of file BeamFitter.h.

Referenced by BeamFitter(), runBeamWidthFitter(), and runFitterNoTxt().

int BeamFitter::countPass[9]
private

Definition at line 248 of file BeamFitter.h.

Referenced by readEvent(), resetCutFlow(), and subtractFromCutFlow().

bool BeamFitter::debug_
private

Definition at line 147 of file BeamFitter.h.

Referenced by BeamFitter(), readEvent(), and runAllFitter().

bool BeamFitter::falgo
private

Definition at line 216 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

std::ofstream BeamFitter::fasciiDIP
private

Definition at line 145 of file BeamFitter.h.

Referenced by BeamFitter().

std::ofstream BeamFitter::fasciiFile
private

Definition at line 144 of file BeamFitter.h.

reco::BeamSpot BeamFitter::fbeamspot
private
reco::BeamSpot BeamFitter::fbeamWidthFit
private

Definition at line 141 of file BeamFitter.h.

Referenced by dumpBWTxtFile(), getBeamWidth(), and runBeamWidthFitter().

int BeamFitter::fbeginLumiOfFit
private
char BeamFitter::fbeginTimeOfFit[32]
private

Definition at line 226 of file BeamFitter.h.

Referenced by BeamFitter(), dumpTxtFile(), runFitterNoTxt(), runPVandTrkFitter(), and updateBTime().

std::map< int, reco::BeamSpot> BeamFitter::fbspotPVMap
private

Definition at line 142 of file BeamFitter.h.

Referenced by dumpTxtFile(), getBeamSpotMap(), and runPVandTrkFitter().

std::vector<BSTrkParameters> BeamFitter::fBSvector
private
int BeamFitter::fcharge
private

Definition at line 191 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fcov[7][7]
private

Definition at line 210 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fd0
private

Definition at line 194 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fd0bs
private

Definition at line 195 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fdxdz
private

Definition at line 232 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fdxdzErr
private

Definition at line 238 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fdydz
private

Definition at line 233 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fdydzErr
private

Definition at line 239 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

int BeamFitter::fendLumiOfFit
private
char BeamFitter::fendTimeOfFit[32]
private

Definition at line 227 of file BeamFitter.h.

Referenced by BeamFitter(), dumpTxtFile(), runFitterNoTxt(), runPVandTrkFitter(), and updateBTime().

double BeamFitter::feta
private

Definition at line 190 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

bool BeamFitter::ffilename_changed
private

Definition at line 174 of file BeamFitter.h.

Referenced by BeamFitter(), and dumpTxtFile().

TFile* BeamFitter::file_
private

Definition at line 186 of file BeamFitter.h.

Referenced by BeamFitter(), and ~BeamFitter().

bool BeamFitter::fitted_
private

Definition at line 173 of file BeamFitter.h.

Referenced by BeamFitter(), runFitterNoTxt(), and ~BeamFitter().

int BeamFitter::flumi
private

Definition at line 214 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fnormchi2
private

Definition at line 192 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::fnPixelLayerMeas
private

Definition at line 200 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::fnPXBLayerMeas
private

Definition at line 206 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::fnPXFLayerMeas
private

Definition at line 207 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::fnStripLayerMeas
private

Definition at line 201 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::fnTECLayerMeas
private

Definition at line 205 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::fnTIBLayerMeas
private

Definition at line 202 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::fnTIDLayerMeas
private

Definition at line 203 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::fnTOBLayerMeas
private

Definition at line 204 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::fnTotLayerMeas
private

Definition at line 199 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

std::vector<float> BeamFitter::ForDIPPV_
private

Definition at line 177 of file BeamFitter.h.

Referenced by dumpTxtFile(), runPVandTrkFitter(), and SetPVInfo().

double BeamFitter::fphi0
private

Definition at line 193 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fpt
private

Definition at line 189 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

TTree* BeamFitter::fPVTree_
private

Definition at line 251 of file BeamFitter.h.

Referenced by BeamFitter(), and ~BeamFitter().

bool BeamFitter::fpvValid
private

Definition at line 217 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fpvx
private

Definition at line 218 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fpvy
private

Definition at line 218 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fpvz
private

Definition at line 218 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

bool BeamFitter::fquality
private

Definition at line 215 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

std::time_t BeamFitter::freftime[2]
private
int BeamFitter::frun
private

Definition at line 213 of file BeamFitter.h.

Referenced by BeamFitter(), dumpTxtFile(), getRunNumber(), readEvent(), and setRun().

int BeamFitter::frunFit
private

Definition at line 223 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fsigmad0
private

Definition at line 196 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fsigmaZ
private

Definition at line 231 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fsigmaz0
private

Definition at line 198 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fsigmaZErr
private

Definition at line 237 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::ftheta
private

Definition at line 188 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::ftotal_tracks
private
TTree* BeamFitter::ftree_
private

Definition at line 187 of file BeamFitter.h.

Referenced by BeamFitter(), readEvent(), and ~BeamFitter().

TTree* BeamFitter::ftreeFit_
private

Definition at line 222 of file BeamFitter.h.

Referenced by BeamFitter(), runFitterNoTxt(), and ~BeamFitter().

double BeamFitter::fvx
private

Definition at line 211 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fvy
private

Definition at line 212 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fwidthX
private

Definition at line 240 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fwidthXErr
private

Definition at line 242 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fwidthY
private

Definition at line 241 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fwidthYErr
private

Definition at line 243 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fx
private

Definition at line 228 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fxErr
private

Definition at line 234 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fy
private

Definition at line 229 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fyErr
private

Definition at line 235 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fz
private

Definition at line 230 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

double BeamFitter::fz0
private

Definition at line 197 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::fzErr
private

Definition at line 236 of file BeamFitter.h.

Referenced by BeamFitter(), and runFitterNoTxt().

TH1F* BeamFitter::h1cutFlow
private
TH1F* BeamFitter::h1ntrks
private

Definition at line 245 of file BeamFitter.h.

Referenced by BeamFitter(), readEvent(), and ~BeamFitter().

TH1F* BeamFitter::h1vz_event
private

Definition at line 246 of file BeamFitter.h.

Referenced by BeamFitter(), readEvent(), and ~BeamFitter().

TH1F* BeamFitter::h1z
private

Definition at line 181 of file BeamFitter.h.

Referenced by runFitterNoTxt(), and ~BeamFitter().

double BeamFitter::inputBeamWidth_
private

Definition at line 168 of file BeamFitter.h.

Referenced by BeamFitter(), runBeamWidthFitter(), runFitterNoTxt(), and runPVandTrkFitter().

bool BeamFitter::isMuon_
private

Definition at line 172 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::min_Ntrks_
private

Definition at line 171 of file BeamFitter.h.

Referenced by BeamFitter(), runBeamWidthFitter(), and runFitterNoTxt().

PVFitter* BeamFitter::MyPVFitter
private
std::string BeamFitter::outputDIPTxt_
private

Definition at line 156 of file BeamFitter.h.

Referenced by BeamFitter(), runFitter(), and runPVandTrkFitter().

std::string BeamFitter::outputfilename_
private

Definition at line 185 of file BeamFitter.h.

Referenced by BeamFitter().

std::string BeamFitter::outputTxt_
private
std::vector<reco::TrackBase::TrackQuality> BeamFitter::quality_
private

Definition at line 166 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

bool BeamFitter::saveBeamFit_
private

Definition at line 183 of file BeamFitter.h.

Referenced by BeamFitter(), runFitterNoTxt(), and ~BeamFitter().

bool BeamFitter::saveNtuple_
private

Definition at line 182 of file BeamFitter.h.

Referenced by BeamFitter(), readEvent(), and ~BeamFitter().

bool BeamFitter::savePVVertices_
private

Definition at line 184 of file BeamFitter.h.

Referenced by BeamFitter(), and ~BeamFitter().

edm::EDGetTokenT<reco::TrackCollection> BeamFitter::tracksToken_
private

Definition at line 149 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

std::vector<std::string> BeamFitter::trk_Algorithm_
private

Definition at line 164 of file BeamFitter.h.

Referenced by BeamFitter().

double BeamFitter::trk_MaxEta_
private

Definition at line 159 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::trk_MaxIP_
private

Definition at line 160 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::trk_MaxNormChi2_
private

Definition at line 163 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::trk_MaxZ_
private

Definition at line 158 of file BeamFitter.h.

Referenced by BeamFitter(), readEvent(), runBeamWidthFitter(), and runFitterNoTxt().

int BeamFitter::trk_MinNPixLayers_
private

Definition at line 162 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

int BeamFitter::trk_MinNTotLayers_
private

Definition at line 161 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

double BeamFitter::trk_MinpT_
private

Definition at line 157 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

std::vector<std::string> BeamFitter::trk_Quality_
private

Definition at line 165 of file BeamFitter.h.

Referenced by BeamFitter().

edm::EDGetTokenT<edm::View<reco::Vertex> > BeamFitter::vertexToken_
private

Definition at line 150 of file BeamFitter.h.

Referenced by BeamFitter(), and readEvent().

bool BeamFitter::writeDIPBadFit_
private

Definition at line 154 of file BeamFitter.h.

Referenced by BeamFitter(), runFitter(), and runPVandTrkFitter().

bool BeamFitter::writeDIPTxt_
private

Definition at line 153 of file BeamFitter.h.

Referenced by BeamFitter(), runFitter(), and runPVandTrkFitter().

bool BeamFitter::writeTxt_
private