CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
RECOVertex Class Reference

#include <RECOVertex.h>

Public Member Functions

void analyze (edm::Handle< reco::VertexCollection > recoVertexs, TTree *tree)
 
void clear (void)
 
 RECOVertex ()
 
void setup (const edm::ParameterSet &pSet, TTree *tree, std::string vertexType)
 
 ~RECOVertex ()
 

Private Attributes

bool _Debug
 
int NVrtx
 
float * VertexCand_chi2
 
float * VertexCand_ndof
 
int * VertexCand_tracks
 
float * VertexCand_x
 
float * VertexCand_y
 
float * VertexCand_z
 

Detailed Description

$Date: Dec 2009 $Revision:

Definition at line 19 of file RECOVertex.h.

Constructor & Destructor Documentation

◆ RECOVertex()

RECOVertex::RECOVertex ( )

Definition at line 14 of file RECOVertex.cc.

References _Debug, kMaxVrt, NVrtx, VertexCand_chi2, VertexCand_ndof, VertexCand_tracks, VertexCand_x, VertexCand_y, and VertexCand_z.

14  {
15  //set parameter defaults
16  _Debug = false;
17 
18  NVrtx = 0;
19  VertexCand_x = new float[kMaxVrt];
20  VertexCand_y = new float[kMaxVrt];
21  VertexCand_z = new float[kMaxVrt];
22  VertexCand_tracks = new int[kMaxVrt];
23  VertexCand_chi2 = new float[kMaxVrt];
24  VertexCand_ndof = new float[kMaxVrt];
25 }
float * VertexCand_y
Definition: RECOVertex.h:33
static const size_t kMaxVrt
Definition: RECOVertex.cc:12
float * VertexCand_ndof
Definition: RECOVertex.h:36
float * VertexCand_z
Definition: RECOVertex.h:33
bool _Debug
Definition: RECOVertex.h:39
float * VertexCand_chi2
Definition: RECOVertex.h:35
int * VertexCand_tracks
Definition: RECOVertex.h:34
float * VertexCand_x
Definition: RECOVertex.h:33

◆ ~RECOVertex()

RECOVertex::~RECOVertex ( )

Definition at line 27 of file RECOVertex.cc.

References VertexCand_chi2, VertexCand_ndof, VertexCand_tracks, VertexCand_x, VertexCand_y, and VertexCand_z.

27  {
28  delete[] VertexCand_x;
29  delete[] VertexCand_y;
30  delete[] VertexCand_z;
31  delete[] VertexCand_tracks;
32  delete[] VertexCand_chi2;
33  delete[] VertexCand_ndof;
34 }
float * VertexCand_y
Definition: RECOVertex.h:33
float * VertexCand_ndof
Definition: RECOVertex.h:36
float * VertexCand_z
Definition: RECOVertex.h:33
float * VertexCand_chi2
Definition: RECOVertex.h:35
int * VertexCand_tracks
Definition: RECOVertex.h:34
float * VertexCand_x
Definition: RECOVertex.h:33

Member Function Documentation

◆ analyze()

void RECOVertex::analyze ( edm::Handle< reco::VertexCollection recoVertexs,
TTree *  tree 
)

Analyze the Data

Definition at line 86 of file RECOVertex.cc.

References _Debug, clear(), gather_cfg::cout, edm::HandleBase::isValid(), kMaxVrt, SiStripPI::min, NVrtx, edm::Handle< T >::product(), findQualityFiles::size, VertexCand_chi2, VertexCand_ndof, VertexCand_tracks, VertexCand_x, VertexCand_y, and VertexCand_z.

Referenced by HLTBitAnalyzer::analyze().

86  {
87  // reset the tree variables
88  clear();
89 
90  if (recoVertexs.isValid()) {
91  const reco::VertexCollection* vertexs = recoVertexs.product();
92  reco::VertexCollection::const_iterator vertex_i;
93 
94  size_t size = std::min(kMaxVrt, size_t(vertexs->size()));
95  NVrtx = size;
96 
97  int nVertexCand = 0;
98  if (_Debug)
99  std::cout << "Found " << vertexs->size() << " vertices" << std::endl;
100  for (vertex_i = vertexs->begin(); vertex_i != vertexs->end(); vertex_i++) {
101  if (nVertexCand >= NVrtx)
102  break;
103  VertexCand_x[nVertexCand] = vertex_i->x();
104  VertexCand_y[nVertexCand] = vertex_i->y();
105  VertexCand_z[nVertexCand] = vertex_i->z();
106  VertexCand_tracks[nVertexCand] = vertex_i->tracksSize();
107  VertexCand_chi2[nVertexCand] = vertex_i->chi2();
108  VertexCand_ndof[nVertexCand] = vertex_i->ndof();
109  if (_Debug) {
110  std::cout << "RECOVertex -- VX, VY VZ = " << VertexCand_x[nVertexCand] << " " << VertexCand_y[nVertexCand]
111  << " " << VertexCand_z[nVertexCand] << std::endl;
112  std::cout << "RECOVertex -- Ntracks, Chi2/Dof = " << VertexCand_tracks[nVertexCand] << " "
113  << VertexCand_chi2[nVertexCand] << " / " << VertexCand_ndof[nVertexCand] << std::endl;
114  }
115  nVertexCand++;
116  }
117  }
118 }
size
Write out results.
T const * product() const
Definition: Handle.h:70
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
float * VertexCand_y
Definition: RECOVertex.h:33
static const size_t kMaxVrt
Definition: RECOVertex.cc:12
float * VertexCand_ndof
Definition: RECOVertex.h:36
float * VertexCand_z
Definition: RECOVertex.h:33
bool _Debug
Definition: RECOVertex.h:39
float * VertexCand_chi2
Definition: RECOVertex.h:35
int * VertexCand_tracks
Definition: RECOVertex.h:34
bool isValid() const
Definition: HandleBase.h:70
float * VertexCand_x
Definition: RECOVertex.h:33
void clear(void)
Definition: RECOVertex.cc:36

◆ clear()

void RECOVertex::clear ( void  )

Definition at line 36 of file RECOVertex.cc.

References kMaxVrt, NVrtx, VertexCand_chi2, VertexCand_ndof, VertexCand_tracks, VertexCand_x, VertexCand_y, and VertexCand_z.

Referenced by analyze().

36  {
37  NVrtx = 0;
38  std::memset(VertexCand_x, '\0', kMaxVrt * sizeof(float));
39  std::memset(VertexCand_y, '\0', kMaxVrt * sizeof(float));
40  std::memset(VertexCand_z, '\0', kMaxVrt * sizeof(float));
41  std::memset(VertexCand_tracks, '\0', kMaxVrt * sizeof(int));
42  std::memset(VertexCand_chi2, '\0', kMaxVrt * sizeof(float));
43  std::memset(VertexCand_ndof, '\0', kMaxVrt * sizeof(float));
44 }
float * VertexCand_y
Definition: RECOVertex.h:33
static const size_t kMaxVrt
Definition: RECOVertex.cc:12
float * VertexCand_ndof
Definition: RECOVertex.h:36
float * VertexCand_z
Definition: RECOVertex.h:33
float * VertexCand_chi2
Definition: RECOVertex.h:35
int * VertexCand_tracks
Definition: RECOVertex.h:34
float * VertexCand_x
Definition: RECOVertex.h:33

◆ setup()

void RECOVertex::setup ( const edm::ParameterSet pSet,
TTree *  tree,
std::string  vertexType 
)

Definition at line 47 of file RECOVertex.cc.

References _Debug, edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterNames(), NVrtx, VertexCand_chi2, VertexCand_ndof, VertexCand_tracks, VertexCand_x, VertexCand_y, and VertexCand_z.

Referenced by HLTBitAnalyzer::HLTBitAnalyzer().

47  {
48  edm::ParameterSet myHltParams = pSet.getParameter<edm::ParameterSet>("RunParameters");
49  std::vector<std::string> parameterNames = myHltParams.getParameterNames();
50 
51  for (auto& parameterName : parameterNames) {
52  if (parameterName == "Debug")
53  _Debug = myHltParams.getParameter<bool>(parameterName);
54  }
55 
56  TString br_recoNVrt = "recoNVrt";
57  br_recoNVrt.Append(vertexType);
58  HltTree->Branch(br_recoNVrt, &NVrtx, "NVrtx/I");
59 
60  TString br_recoVrtX = "recoVrtX";
61  br_recoVrtX.Append(vertexType);
62  HltTree->Branch(br_recoVrtX, VertexCand_x, "recoVrtX[NVrtx]/F");
63 
64  TString br_recoVrtY = "recoVrtY";
65  br_recoVrtY.Append(vertexType);
66  HltTree->Branch(br_recoVrtY, VertexCand_y, "recoVrtY[NVrtx]/F");
67 
68  TString br_recoVrtZ = "recoVrtZ";
69  br_recoVrtZ.Append(vertexType);
70  HltTree->Branch(br_recoVrtZ, VertexCand_z, "recoVrtZ[NVrtx]/F");
71 
72  TString br_recoVrtNtrk = "recoVrtNtrk";
73  br_recoVrtNtrk.Append(vertexType);
74  HltTree->Branch(br_recoVrtNtrk, VertexCand_tracks, "recoVrtNtrk[NVrtx]/I");
75 
76  TString br_recoVrtChi2 = "recoVrtChi2";
77  br_recoVrtChi2.Append(vertexType);
78  HltTree->Branch(br_recoVrtChi2, VertexCand_chi2, "recoVrtChi2[NVrtx]/F");
79 
80  TString br_recoVrtNdof = "recoVrtNdof";
81  br_recoVrtNdof.Append(vertexType);
82  HltTree->Branch(br_recoVrtNdof, VertexCand_ndof, "recoVrtNdof[NVrtx]/F");
83 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
float * VertexCand_y
Definition: RECOVertex.h:33
float * VertexCand_ndof
Definition: RECOVertex.h:36
float * VertexCand_z
Definition: RECOVertex.h:33
bool _Debug
Definition: RECOVertex.h:39
float * VertexCand_chi2
Definition: RECOVertex.h:35
int * VertexCand_tracks
Definition: RECOVertex.h:34
float * VertexCand_x
Definition: RECOVertex.h:33
std::vector< std::string > getParameterNames() const

Member Data Documentation

◆ _Debug

bool RECOVertex::_Debug
private

Definition at line 39 of file RECOVertex.h.

Referenced by analyze(), RECOVertex(), and setup().

◆ NVrtx

int RECOVertex::NVrtx
private

Definition at line 32 of file RECOVertex.h.

Referenced by analyze(), clear(), RECOVertex(), and setup().

◆ VertexCand_chi2

float* RECOVertex::VertexCand_chi2
private

Definition at line 35 of file RECOVertex.h.

Referenced by analyze(), clear(), RECOVertex(), setup(), and ~RECOVertex().

◆ VertexCand_ndof

float* RECOVertex::VertexCand_ndof
private

Definition at line 36 of file RECOVertex.h.

Referenced by analyze(), clear(), RECOVertex(), setup(), and ~RECOVertex().

◆ VertexCand_tracks

int* RECOVertex::VertexCand_tracks
private

Definition at line 34 of file RECOVertex.h.

Referenced by analyze(), clear(), RECOVertex(), setup(), and ~RECOVertex().

◆ VertexCand_x

float* RECOVertex::VertexCand_x
private

Definition at line 33 of file RECOVertex.h.

Referenced by analyze(), clear(), RECOVertex(), setup(), and ~RECOVertex().

◆ VertexCand_y

float * RECOVertex::VertexCand_y
private

Definition at line 33 of file RECOVertex.h.

Referenced by analyze(), clear(), RECOVertex(), setup(), and ~RECOVertex().

◆ VertexCand_z

float * RECOVertex::VertexCand_z
private

Definition at line 33 of file RECOVertex.h.

Referenced by analyze(), clear(), RECOVertex(), setup(), and ~RECOVertex().