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
HSCPTreeBuilder Class Reference

#include <SUSYBSMAnalysis/HSCP/src/HSCPTreeBuilder.cc>

Inheritance diagram for HSCPTreeBuilder:
edm::EDFilter edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 HSCPTreeBuilder (const edm::ParameterSet &)
 
 ~HSCPTreeBuilder ()
 
- Public Member Functions inherited from edm::EDFilter
 EDFilter ()
 
virtual ~EDFilter ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

virtual void beginJob ()
 
int ClosestMuonIndex (reco::TrackRef track, std::vector< reco::MuonRef >)
 
virtual void endJob ()
 
virtual bool filter (edm::Event &, const edm::EventSetup &)
 

Private Attributes

float Calo_ecal_beta [MAX_HSCPS]
 
float Calo_ecal_beta_err [MAX_HSCPS]
 
float Calo_ecal_chi2s [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_crossedE [MAX_HSCPS]
 
float Calo_ecal_dEdx [MAX_HSCPS]
 
unsigned int Calo_ecal_detIds [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_e1OverE9s [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_energies [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_invBeta_err [MAX_HSCPS]
 
int Calo_ecal_numCrysCrossed [MAX_HSCPS]
 
float Calo_ecal_outOfTimeChi2s [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_outOfTimeEnergies [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_swissCrossKs [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_time [MAX_HSCPS]
 
float Calo_ecal_time_err [MAX_HSCPS]
 
float Calo_ecal_timeErrors [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_times [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_trackExitEtas [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_trackExitPhis [MAX_HSCPS][MAX_ECALCRYS]
 
float Calo_ecal_trackLengths [MAX_HSCPS][MAX_ECALCRYS]
 
float Event_BField
 
unsigned int Event_BXCrossing
 
unsigned int Event_EventNumber
 
unsigned int Event_LumiSection
 
unsigned int Event_Orbit
 
bool Event_PhysicsDeclared
 
unsigned int Event_RunNumber
 
unsigned int Event_Store
 
bool Event_technicalBits [64]
 
unsigned int Event_Time
 
bool Event_triggerHLTBits [128]
 
bool Event_triggerL1Bits [192]
 
float Gen_beta [MAX_GENS]
 
float Gen_charge [MAX_GENS]
 
float Gen_eta [MAX_GENS]
 
float Gen_mass [MAX_GENS]
 
float Gen_p [MAX_GENS]
 
int Gen_pdgId [MAX_GENS]
 
float Gen_phi [MAX_GENS]
 
float Gen_pt [MAX_GENS]
 
float Gen_px [MAX_GENS]
 
float Gen_py [MAX_GENS]
 
float Gen_pz [MAX_GENS]
 
bool Hscp_hasCalo [MAX_HSCPS]
 
bool Hscp_hasMuon [MAX_HSCPS]
 
bool Hscp_hasRpc [MAX_HSCPS]
 
bool Hscp_hasTrack [MAX_HSCPS]
 
int Hscp_type [MAX_HSCPS]
 
const edm::EventiEvent_
 
const edm::EventSetupiSetup_
 
InputTag m_HSCPsTag
 
float Muon_cb_fIBeta [MAX_HSCPS]
 
float Muon_cb_fIBeta_err [MAX_HSCPS]
 
float Muon_cb_IBeta [MAX_HSCPS]
 
float Muon_cb_IBeta_err [MAX_HSCPS]
 
int Muon_cb_ndof [MAX_HSCPS]
 
int Muon_charge [MAX_HSCPS]
 
float Muon_csc_fIBeta [MAX_HSCPS]
 
float Muon_csc_fIBeta_err [MAX_HSCPS]
 
float Muon_csc_IBeta [MAX_HSCPS]
 
float Muon_csc_IBeta_err [MAX_HSCPS]
 
int Muon_csc_ndof [MAX_HSCPS]
 
float Muon_dt_fIBeta [MAX_HSCPS]
 
float Muon_dt_fIBeta_err [MAX_HSCPS]
 
float Muon_dt_IBeta [MAX_HSCPS]
 
float Muon_dt_IBeta_err [MAX_HSCPS]
 
int Muon_dt_ndof [MAX_HSCPS]
 
float Muon_eta [MAX_HSCPS]
 
float Muon_p [MAX_HSCPS]
 
float Muon_phi [MAX_HSCPS]
 
float Muon_pt [MAX_HSCPS]
 
bool Muon_qualityValid [MAX_HSCPS]
 
int Muon_type [MAX_HSCPS]
 
TTree * MyTree
 
unsigned int NGens
 
unsigned int NHSCPs
 
unsigned int NVertices
 
bool reccordGenInfo
 
bool reccordVertexInfo
 
float Rpc_beta [MAX_HSCPS]
 
edm::Service< TFileServicetfs
 
int Track_charge [MAX_HSCPS]
 
float Track_chi2 [MAX_HSCPS]
 
float Track_d0 [MAX_HSCPS]
 
float Track_dEdxD1 [MAX_HSCPS]
 
unsigned int Track_dEdxD1_NOM [MAX_HSCPS]
 
float Track_dEdxD1_NOS [MAX_HSCPS]
 
float Track_dEdxD2 [MAX_HSCPS]
 
unsigned int Track_dEdxD2_NOM [MAX_HSCPS]
 
float Track_dEdxD2_NOS [MAX_HSCPS]
 
float Track_dEdxD3 [MAX_HSCPS]
 
unsigned int Track_dEdxD3_NOM [MAX_HSCPS]
 
float Track_dEdxD3_NOS [MAX_HSCPS]
 
float Track_dEdxE1 [MAX_HSCPS]
 
unsigned int Track_dEdxE1_NOM [MAX_HSCPS]
 
float Track_dEdxE1_NOS [MAX_HSCPS]
 
float Track_dEdxE2 [MAX_HSCPS]
 
unsigned int Track_dEdxE2_NOM [MAX_HSCPS]
 
float Track_dEdxE2_NOS [MAX_HSCPS]
 
float Track_dEdxE3 [MAX_HSCPS]
 
unsigned int Track_dEdxE3_NOM [MAX_HSCPS]
 
float Track_dEdxE3_NOS [MAX_HSCPS]
 
float Track_dz [MAX_HSCPS]
 
float Track_eta [MAX_HSCPS]
 
float Track_eta_err [MAX_HSCPS]
 
unsigned int Track_ndof [MAX_HSCPS]
 
unsigned int Track_NOH [MAX_HSCPS]
 
float Track_p [MAX_HSCPS]
 
float Track_phi [MAX_HSCPS]
 
float Track_phi_err [MAX_HSCPS]
 
float Track_pt [MAX_HSCPS]
 
float Track_pt_err [MAX_HSCPS]
 
int Track_quality [MAX_HSCPS]
 
float Vertex_chi2 [MAX_VERTICES]
 
bool Vertex_isFake [MAX_VERTICES]
 
float Vertex_ndof [MAX_VERTICES]
 
int Vertex_TrackSize [MAX_VERTICES]
 
float Vertex_x [MAX_VERTICES]
 
float Vertex_x_err [MAX_VERTICES]
 
float Vertex_y [MAX_VERTICES]
 
float Vertex_y_err [MAX_VERTICES]
 
float Vertex_z [MAX_VERTICES]
 
float Vertex_z_err [MAX_VERTICES]
 

Additional Inherited Members

- Public Types inherited from edm::EDFilter
typedef EDFilter ModuleType
 
typedef WorkerT< EDFilterWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from edm::EDFilter
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDFilter
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 118 of file HSCPTreeBuilder.cc.

Constructor & Destructor Documentation

HSCPTreeBuilder::HSCPTreeBuilder ( const edm::ParameterSet iConfig)
explicit

Definition at line 261 of file HSCPTreeBuilder.cc.

References gather_cfg::cout, funct::false, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), and funct::true.

262 {
263  m_HSCPsTag = iConfig.getParameter<InputTag> ("HSCParticles");
264 
265  reccordVertexInfo = iConfig.getUntrackedParameter<bool> ("reccordVertexInfo" , true );
266  reccordGenInfo = iConfig.getUntrackedParameter<bool> ("reccordGenInfo" , false );
267 
268  std::cout << "######################################################" << endl;
269  std::cout << " USE OF THE HSCPTreeBuilder is deprecated! " << endl;
270  std::cout << "better to use the HSCParticle Producer and then FWLite" << endl;
271  std::cout << "######################################################" << endl;
272 
273 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
tuple cout
Definition: gather_cfg.py:121
HSCPTreeBuilder::~HSCPTreeBuilder ( )

Definition at line 276 of file HSCPTreeBuilder.cc.

277 {
278 }

Member Function Documentation

void HSCPTreeBuilder::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDFilter.

Definition at line 281 of file HSCPTreeBuilder.cc.

282 {
283  TTree::SetMaxTreeSize(1000*Long64_t(2000000000)); // authorize Trees up to 2 Terabytes
284  MyTree = tfs->make<TTree> ("HscpTree","HscpTree");
285 
286  MyTree->Branch("Event_EventNumber" ,&Event_EventNumber ,"Event_EventNumber/i");
287  MyTree->Branch("Event_RunNumber" ,&Event_RunNumber ,"Event_RunNumber/i");
288  MyTree->Branch("Event_LumiSection" ,&Event_LumiSection ,"Event_LumiSection/i");
289  MyTree->Branch("Event_BXCrossing" ,&Event_BXCrossing ,"Event_BXCrossing/i");
290  MyTree->Branch("Event_Orbit" ,&Event_Orbit ,"Event_Orbit/i");
291  MyTree->Branch("Event_Store" ,&Event_Store ,"Event_Store/i");
292  MyTree->Branch("Event_Time" ,&Event_Time ,"Event_Time/i");
293  MyTree->Branch("Event_PhysicsDeclared" ,&Event_PhysicsDeclared ,"Event_PhysicsDeclared/O");
294  MyTree->Branch("Event_technicalBits" ,Event_technicalBits ,"Event_technicalBits[64]/O");
295  MyTree->Branch("Event_triggerL1Bits" ,Event_triggerL1Bits ,"Event_triggerL1Bits[192]/O");
296  MyTree->Branch("Event_triggerHLTBits" ,Event_triggerHLTBits ,"Event_triggerHLTBits[128]/O");
297  MyTree->Branch("Event_BField" ,&Event_BField ,"Event_BField/F");
298 
299  if(reccordVertexInfo){
300  MyTree->Branch("NVertices" ,&NVertices ,"NVertices/I");
301  MyTree->Branch("Vertex_x" ,Vertex_x ,"Vertex_x[NVertices]/F");
302  MyTree->Branch("Vertex_y" ,Vertex_y ,"Vertex_y[NVertices]/F");
303  MyTree->Branch("Vertex_z" ,Vertex_z ,"Vertex_z[NVertices]/F");
304  MyTree->Branch("Vertex_x_err" ,Vertex_x_err ,"Vertex_x_err[NVertices]/F");
305  MyTree->Branch("Vertex_y_err" ,Vertex_y_err ,"Vertex_y_err[NVertices]/F");
306  MyTree->Branch("Vertex_z_err" ,Vertex_z_err ,"Vertex_z_err[NVertices]/F");
307  MyTree->Branch("Vertex_TrackSize",Vertex_TrackSize,"Vertex_TrackSize[NVertices]/I");
308  MyTree->Branch("Vertex_chi2" ,Vertex_chi2 ,"Vertex_chi2[NVertices]/F");
309  MyTree->Branch("Vertex_ndof" ,Vertex_ndof ,"Vertex_ndof[NVertices]/F");
310  MyTree->Branch("Vertex_isFake" ,Vertex_isFake ,"Vertex_isFake[NVertices]/O");
311  }
312 
313  MyTree->Branch("NHSCPs" ,&NHSCPs ,"NHSCPs/I");
314  MyTree->Branch("Hscp_hasTrack" ,Hscp_hasTrack ,"Hscp_hasTrack[NHSCPs]/O");
315  MyTree->Branch("Hscp_hasMuon" ,Hscp_hasMuon ,"Hscp_hasMuon[NHSCPs]/O");
316  MyTree->Branch("Hscp_hasRpc" ,Hscp_hasRpc ,"Hscp_hasRpc[NHSCPs]/O");
317  MyTree->Branch("Hscp_hasCalo" ,Hscp_hasCalo ,"Hscp_hasCalo[NHSCPs]/O");
318  MyTree->Branch("Hscp_type" ,Hscp_type ,"Hscp_type[NHSCPs]/I");
319  MyTree->Branch("Track_NOH" ,Track_NOH ,"Track_NOH[NHSCPs]/I");
320  MyTree->Branch("Track_p" ,Track_p ,"Track_p[NHSCPs]/F");
321  MyTree->Branch("Track_pt" ,Track_pt ,"Track_pt[NHSCPs]/F");
322  MyTree->Branch("Track_pt_err" ,Track_pt_err ,"Track_pt_err[NHSCPs]/F");
323  MyTree->Branch("Track_chi2" ,Track_chi2 ,"Track_chi2[NHSCPs]/F");
324  MyTree->Branch("Track_ndof" ,Track_ndof ,"Track_ndof[NHSCPs]/F");
325  MyTree->Branch("Track_eta" ,Track_eta ,"Track_eta[NHSCPs]/F");
326  MyTree->Branch("Track_eta_err" ,Track_eta_err ,"Track_eta_err[NHSCPs]/F");
327  MyTree->Branch("Track_phi" ,Track_phi ,"Track_phi[NHSCPs]/F");
328  MyTree->Branch("Track_phi_err" ,Track_phi_err ,"Track_phi_err[NHSCPs]/F");
329  MyTree->Branch("Track_d0" ,Track_d0 ,"Track_d0[NHSCPs]/F");
330  MyTree->Branch("Track_dz" ,Track_dz ,"Track_dz[NHSCPs]/F");
331  MyTree->Branch("Track_quality" ,Track_quality ,"Track_quality[NHSCPs]/I");
332  MyTree->Branch("Track_charge" ,Track_charge ,"Track_charge[NHSCPs]/I");
333  MyTree->Branch("Track_dEdxE1" ,Track_dEdxE1 ,"Track_dEdxE1[NHSCPs]/F");
334  MyTree->Branch("Track_dEdxE1_NOS" ,Track_dEdxE1_NOS ,"Track_dEdxE1_NOS[NHSCPs]/F");
335  MyTree->Branch("Track_dEdxE1_NOM" ,Track_dEdxE1_NOM ,"Track_dEdxE1_NOM[NHSCPs]/I");
336  MyTree->Branch("Track_dEdxE2" ,Track_dEdxE2 ,"Track_dEdxE2[NHSCPs]/F");
337  MyTree->Branch("Track_dEdxE2_NOS" ,Track_dEdxE2_NOS ,"Track_dEdxE2_NOS[NHSCPs]/F");
338  MyTree->Branch("Track_dEdxE2_NOM" ,Track_dEdxE2_NOM ,"Track_dEdxE2_NOM[NHSCPs]/I");
339  MyTree->Branch("Track_dEdxE3" ,Track_dEdxE3 ,"Track_dEdxE3[NHSCPs]/F");
340  MyTree->Branch("Track_dEdxE3_NOS" ,Track_dEdxE3_NOS ,"Track_dEdxE3_NOS[NHSCPs]/F");
341  MyTree->Branch("Track_dEdxE3_NOM" ,Track_dEdxE3_NOM ,"Track_dEdxE3_NOM[NHSCPs]/I");
342  MyTree->Branch("Track_dEdxD1" ,Track_dEdxD1 ,"Track_dEdxD1[NHSCPs]/F");
343  MyTree->Branch("Track_dEdxD1_NOS" ,Track_dEdxD1_NOS ,"Track_dEdxD1_NOS[NHSCPs]/F");
344  MyTree->Branch("Track_dEdxD1_NOM" ,Track_dEdxD1_NOM ,"Track_dEdxD1_NOM[NHSCPs]/I");
345  MyTree->Branch("Track_dEdxD2" ,Track_dEdxD2 ,"Track_dEdxD2[NHSCPs]/F");
346  MyTree->Branch("Track_dEdxD2_NOS" ,Track_dEdxD2_NOS ,"Track_dEdxD2_NOS[NHSCPs]/F");
347  MyTree->Branch("Track_dEdxD2_NOM" ,Track_dEdxD2_NOM ,"Track_dEdxD2_NOM[NHSCPs]/I");
348  MyTree->Branch("Track_dEdxD3" ,Track_dEdxD3 ,"Track_dEdxD3[NHSCPs]/F");
349  MyTree->Branch("Track_dEdxD3_NOS" ,Track_dEdxD3_NOS ,"Track_dEdxD3_NOS[NHSCPs]/F");
350  MyTree->Branch("Track_dEdxD3_NOM" ,Track_dEdxD3_NOM ,"Track_dEdxD3_NOM[NHSCPs]/I");
351  MyTree->Branch("Muon_p" ,Muon_p ,"Muon_p[NHSCPs]/F");
352  MyTree->Branch("Muon_pt" ,Muon_pt ,"Muon_pt[NHSCPs]/F");
353  MyTree->Branch("Muon_eta" ,Muon_eta ,"Muon_eta[NHSCPs]/F");
354  MyTree->Branch("Muon_phi" ,Muon_phi ,"Muon_phi[NHSCPs]/F");
355  MyTree->Branch("Muon_type" ,Muon_type ,"Muon_type[NHSCPs]/i");
356  MyTree->Branch("Muon_qualityValid" ,Muon_qualityValid ,"Muon_qualityValid[NHSCPs]/O");
357  MyTree->Branch("Muon_charge" ,Muon_charge ,"Muon_charge[NHSCPs]/i");
358  MyTree->Branch("Muon_dt_IBeta" ,Muon_dt_IBeta ,"Muon_dt_IBeta[NHSCPs]/F");
359  MyTree->Branch("Muon_dt_IBeta_err" ,Muon_dt_IBeta_err ,"Muon_dt_IBeta_err[NHSCPs]/F");
360  MyTree->Branch("Muon_dt_fIBeta" ,Muon_dt_fIBeta ,"Muon_dt_fIBeta[NHSCPs]/F");
361  MyTree->Branch("Muon_dt_fIBeta_err" ,Muon_dt_fIBeta_err ,"Muon_dt_fIBeta_err[NHSCPs]/F");
362  MyTree->Branch("Muon_dt_ndof" ,Muon_dt_ndof ,"Muon_dt_ndof[NHSCPs]/I");
363  MyTree->Branch("Muon_csc_IBeta" ,Muon_csc_IBeta ,"Muon_csc_IBeta[NHSCPs]/F");
364  MyTree->Branch("Muon_csc_IBeta_err" ,Muon_csc_IBeta_err ,"Muon_csc_IBeta_err[NHSCPs]/F");
365  MyTree->Branch("Muon_csc_fIBeta" ,Muon_csc_fIBeta ,"Muon_csc_fIBeta[NHSCPs]/F");
366  MyTree->Branch("Muon_csc_fIBeta_err",Muon_csc_fIBeta_err,"Muon_csc_fIBeta_err[NHSCPs]/F");
367  MyTree->Branch("Muon_csc_ndof" ,Muon_csc_ndof ,"Muon_csc_ndof[NHSCPs]/I");
368  MyTree->Branch("Muon_cb_IBeta" ,Muon_cb_IBeta ,"Muon_cb_IBeta[NHSCPs]/F");
369  MyTree->Branch("Muon_cb_IBeta_err" ,Muon_cb_IBeta_err ,"Muon_cb_IBeta_err[NHSCPs]/F");
370  MyTree->Branch("Muon_cb_fIBeta" ,Muon_cb_fIBeta ,"Muon_cb_fIBeta[NHSCPs]/F");
371  MyTree->Branch("Muon_cb_fIBeta_err" ,Muon_cb_fIBeta_err ,"Muon_cb_fIBeta_err[NHSCPs]/F");
372  MyTree->Branch("Muon_cb_ndof" ,Muon_cb_ndof ,"Muon_cb_ndof[NHSCPs]/I");
373 
374  MyTree->Branch("Rpc_beta" ,Rpc_beta ,"Rpc_beta[NHSCPs]/F");
375 
376  MyTree->Branch("Calo_ecal_crossedE" ,Calo_ecal_crossedE ,"Calo_ecal_crossedE[NHSCPs]/F");
377  MyTree->Branch("Calo_ecal_beta" ,Calo_ecal_beta ,"Calo_ecal_beta[NHSCPs]/F");
378  MyTree->Branch("Calo_ecal_beta_err" ,Calo_ecal_beta_err ,"Calo_ecal_beta_err[NHSCPs]/F");
379  MyTree->Branch("Calo_ecal_invBeta_err" ,Calo_ecal_invBeta_err ,"Calo_ecal_invBeta_err[NHSCPs]/F");
380  MyTree->Branch("Calo_ecal_dEdx" ,Calo_ecal_dEdx ,"Calo_ecal_dEdx[NHSCPs]/F");
381  MyTree->Branch("Calo_ecal_time" ,Calo_ecal_time ,"Calo_ecal_time[NHSCPs]/F");
382  MyTree->Branch("Calo_ecal_time_err" ,Calo_ecal_time_err ,"Calo_ecal_time_err[NHSCPs]/F");
383  MyTree->Branch("Calo_ecal_numCrysCrossed" ,Calo_ecal_numCrysCrossed,"Calo_ecal_numCrysCrossed[NHSCPs]/I");
384  MyTree->Branch("Calo_ecal_swissCrossKs" ,Calo_ecal_swissCrossKs ,"Calo_ecal_swissCrossKs[NHSCPs][10]/F");
385  MyTree->Branch("Calo_ecal_e1OverE9s" ,Calo_ecal_e1OverE9s ,"Calo_ecal_e1OverE9s[NHSCPs][10]/F");
386  MyTree->Branch("Calo_ecal_trackLengths" ,Calo_ecal_trackLengths ,"Calo_ecal_trackLengths[NHSCPs][10]/F");
387  MyTree->Branch("Calo_ecal_trackExitEtas" ,Calo_ecal_trackExitEtas ,"Calo_ecal_trackExitEtas[NHSCPs][10]/F");
388  MyTree->Branch("Calo_ecal_trackExitPhis" ,Calo_ecal_trackExitPhis ,"Calo_ecal_trackExitPhis[NHSCPs][10]/F");
389  MyTree->Branch("Calo_ecal_energies" ,Calo_ecal_energies ,"Calo_ecal_energies[NHSCPs][10]/F");
390  MyTree->Branch("Calo_ecal_outOfTimeEnergies",Calo_ecal_outOfTimeEnergies ,"Calo_ecal_outOfTimeEnergies[NHSCPs][10]/F");
391  MyTree->Branch("Calo_ecal_chi2s" ,Calo_ecal_chi2s ,"Calo_ecal_chi2s[NHSCPs][10]/F");
392  MyTree->Branch("Calo_ecal_outOfTimeChi2s" ,Calo_ecal_outOfTimeChi2s ,"Calo_ecal_outOfTimeChi2s[NHSCPs][10]/F");
393  MyTree->Branch("Calo_ecal_times" ,Calo_ecal_times ,"Calo_ecal_times[NHSCPs][10]/F");
394  MyTree->Branch("Calo_ecal_timeErrors" ,Calo_ecal_timeErrors ,"Calo_ecal_timeErrors[NHSCPs][10]/F");
395  MyTree->Branch("Calo_ecal_detIds" ,Calo_ecal_detIds ,"Calo_ecal_detIds[NHSCPs][10]/I");
396 
397  if(reccordGenInfo){
398  MyTree->Branch("NGens" ,&NGens ,"NGens/I");
399  MyTree->Branch("Gen_pdgId" ,Gen_pdgId ,"Gen_pdgId[NGens]/i");
400  MyTree->Branch("Gen_charge" ,Gen_charge ,"Gen_charge[NGens]/F");
401  MyTree->Branch("Gen_p" ,Gen_p ,"Gen_p[NGens]/F");
402  MyTree->Branch("Gen_px" ,Gen_px ,"Gen_px[NGens]/F");
403  MyTree->Branch("Gen_py" ,Gen_py ,"Gen_py[NGens]/F");
404  MyTree->Branch("Gen_pz" ,Gen_pz ,"Gen_pz[NGens]/F");
405  MyTree->Branch("Gen_pt" ,Gen_pt ,"Gen_pt[NGens]/F");
406  MyTree->Branch("Gen_eta" ,Gen_eta ,"Gen_eta[NGens]/F");
407  MyTree->Branch("Gen_phi" ,Gen_phi ,"Gen_phi[NGens]/F");
408  MyTree->Branch("Gen_beta" ,Gen_beta ,"Gen_beta[NGens]/F");
409  MyTree->Branch("Gen_mass" ,Gen_mass ,"Gen_mass[NGens]/F");
410  }
411 
412 }
float Track_dEdxE2[MAX_HSCPS]
float Vertex_x_err[MAX_VERTICES]
float Muon_dt_IBeta_err[MAX_HSCPS]
float Track_dEdxE3[MAX_HSCPS]
float Muon_cb_IBeta[MAX_HSCPS]
unsigned int Event_LumiSection
float Track_dEdxD3[MAX_HSCPS]
float Track_dEdxE2_NOS[MAX_HSCPS]
float Muon_phi[MAX_HSCPS]
unsigned int NGens
float Track_dEdxE3_NOS[MAX_HSCPS]
float Calo_ecal_crossedE[MAX_HSCPS]
unsigned int Track_ndof[MAX_HSCPS]
float Muon_csc_fIBeta_err[MAX_HSCPS]
float Gen_beta[MAX_GENS]
bool Hscp_hasTrack[MAX_HSCPS]
int Calo_ecal_numCrysCrossed[MAX_HSCPS]
float Calo_ecal_times[MAX_HSCPS][MAX_ECALCRYS]
bool Hscp_hasCalo[MAX_HSCPS]
int Track_charge[MAX_HSCPS]
int Muon_cb_ndof[MAX_HSCPS]
float Calo_ecal_chi2s[MAX_HSCPS][MAX_ECALCRYS]
float Track_dEdxD2[MAX_HSCPS]
bool Event_triggerHLTBits[128]
float Track_d0[MAX_HSCPS]
float Muon_dt_IBeta[MAX_HSCPS]
unsigned int Event_BXCrossing
int Muon_dt_ndof[MAX_HSCPS]
unsigned int Track_dEdxE1_NOM[MAX_HSCPS]
bool Hscp_hasRpc[MAX_HSCPS]
float Calo_ecal_energies[MAX_HSCPS][MAX_ECALCRYS]
float Track_dEdxD1_NOS[MAX_HSCPS]
unsigned int NVertices
float Calo_ecal_beta_err[MAX_HSCPS]
float Gen_charge[MAX_GENS]
int Track_quality[MAX_HSCPS]
float Gen_phi[MAX_GENS]
float Vertex_y_err[MAX_VERTICES]
unsigned int Event_Orbit
float Calo_ecal_timeErrors[MAX_HSCPS][MAX_ECALCRYS]
bool Hscp_hasMuon[MAX_HSCPS]
float Calo_ecal_trackExitPhis[MAX_HSCPS][MAX_ECALCRYS]
float Muon_cb_IBeta_err[MAX_HSCPS]
float Calo_ecal_trackExitEtas[MAX_HSCPS][MAX_ECALCRYS]
float Muon_csc_fIBeta[MAX_HSCPS]
int Muon_type[MAX_HSCPS]
int Gen_pdgId[MAX_GENS]
float Track_phi[MAX_HSCPS]
float Track_p[MAX_HSCPS]
float Muon_pt[MAX_HSCPS]
float Vertex_y[MAX_VERTICES]
float Track_dEdxD2_NOS[MAX_HSCPS]
bool Vertex_isFake[MAX_VERTICES]
float Gen_pz[MAX_GENS]
unsigned int Event_EventNumber
unsigned int NHSCPs
float Muon_dt_fIBeta_err[MAX_HSCPS]
float Gen_pt[MAX_GENS]
float Calo_ecal_dEdx[MAX_HSCPS]
float Track_eta_err[MAX_HSCPS]
float Calo_ecal_e1OverE9s[MAX_HSCPS][MAX_ECALCRYS]
float Calo_ecal_outOfTimeEnergies[MAX_HSCPS][MAX_ECALCRYS]
float Track_dEdxE1[MAX_HSCPS]
float Track_dEdxD1[MAX_HSCPS]
float Vertex_ndof[MAX_VERTICES]
unsigned int Calo_ecal_detIds[MAX_HSCPS][MAX_ECALCRYS]
unsigned int Track_dEdxD3_NOM[MAX_HSCPS]
float Vertex_chi2[MAX_VERTICES]
float Calo_ecal_invBeta_err[MAX_HSCPS]
float Muon_eta[MAX_HSCPS]
float Calo_ecal_time[MAX_HSCPS]
float Muon_dt_fIBeta[MAX_HSCPS]
float Muon_cb_fIBeta_err[MAX_HSCPS]
float Muon_csc_IBeta_err[MAX_HSCPS]
unsigned int Track_dEdxD2_NOM[MAX_HSCPS]
float Calo_ecal_outOfTimeChi2s[MAX_HSCPS][MAX_ECALCRYS]
float Calo_ecal_time_err[MAX_HSCPS]
float Gen_p[MAX_GENS]
float Track_pt_err[MAX_HSCPS]
int Muon_charge[MAX_HSCPS]
float Gen_mass[MAX_GENS]
float Track_dz[MAX_HSCPS]
float Gen_eta[MAX_GENS]
float Track_phi_err[MAX_HSCPS]
float Track_dEdxD3_NOS[MAX_HSCPS]
float Vertex_z[MAX_VERTICES]
unsigned int Track_NOH[MAX_HSCPS]
float Calo_ecal_swissCrossKs[MAX_HSCPS][MAX_ECALCRYS]
float Muon_p[MAX_HSCPS]
float Vertex_x[MAX_VERTICES]
int Hscp_type[MAX_HSCPS]
bool Event_triggerL1Bits[192]
float Calo_ecal_trackLengths[MAX_HSCPS][MAX_ECALCRYS]
int Muon_csc_ndof[MAX_HSCPS]
float Calo_ecal_beta[MAX_HSCPS]
float Gen_px[MAX_GENS]
T * make() const
make new ROOT object
unsigned int Event_Store
float Track_chi2[MAX_HSCPS]
unsigned int Track_dEdxD1_NOM[MAX_HSCPS]
unsigned int Event_Time
float Track_pt[MAX_HSCPS]
bool Muon_qualityValid[MAX_HSCPS]
int Vertex_TrackSize[MAX_VERTICES]
float Muon_cb_fIBeta[MAX_HSCPS]
unsigned int Track_dEdxE2_NOM[MAX_HSCPS]
float Track_dEdxE1_NOS[MAX_HSCPS]
float Rpc_beta[MAX_HSCPS]
edm::Service< TFileService > tfs
unsigned int Track_dEdxE3_NOM[MAX_HSCPS]
float Gen_py[MAX_GENS]
float Track_eta[MAX_HSCPS]
unsigned int Event_RunNumber
float Muon_csc_IBeta[MAX_HSCPS]
bool Event_technicalBits[64]
float Vertex_z_err[MAX_VERTICES]
int HSCPTreeBuilder::ClosestMuonIndex ( reco::TrackRef  track,
std::vector< reco::MuonRef  
)
private
void HSCPTreeBuilder::endJob ( void  )
privatevirtual

Reimplemented from edm::EDFilter.

Definition at line 415 of file HSCPTreeBuilder.cc.

416 {
417 }
bool HSCPTreeBuilder::filter ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::EDFilter.

Definition at line 422 of file HSCPTreeBuilder.cc.

References susybsm::RPCBetaMeasurement::beta, edm::EventAuxiliary::bunchCrossing(), reco::LeafCandidate::charge(), gather_cfg::cout, debug, reco::LeafCandidate::energy(), reco::LeafCandidate::eta(), edm::EventID::event(), edm::Event::eventAuxiliary(), genParticleCandidates2GenParticles_cfi::genParticles, edm::EventSetup::get(), edm::Event::getByLabel(), L1GtFdlWord::gtDecisionWord(), L1GtFdlWord::gtDecisionWordExtended(), L1GtFdlWord::gtTechnicalTriggerWord(), susybsm::HSCParticle::hasCaloInfo(), susybsm::HSCParticle::hasMuonRef(), susybsm::HSCParticle::hasRpcInfo(), susybsm::HSCParticle::hasTrackRef(), i, edm::EventBase::id(), MagneticField::inTesla(), edm::Ref< C, T, F >::isNonnull(), edm::EventAuxiliary::luminosityBlock(), reco::LeafCandidate::mass(), cmsRun_displayProdMFGeom_cfg::MF, metsig::muon, susybsm::HSCParticle::muonRef(), edm::EventAuxiliary::orbitNumber(), reco::LeafCandidate::p(), reco::LeafCandidate::pdgId(), reco::LeafCandidate::phi(), position, edm::Handle< T >::product(), edm::ESHandle< class >::product(), reco::LeafCandidate::pt(), reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), susybsm::HSCParticle::rpc(), edm::EventID::run(), reco::LeafCandidate::status(), edm::EventAuxiliary::storeNumber(), edm::EventAuxiliary::time(), susybsm::HSCParticle::trackRef(), susybsm::HSCParticle::type(), edm::Timestamp::value(), and PV3DBase< T, PVType, FrameType >::z().

423 {
424  bool debug = false;
425  if (debug) cout << "I'm in HSCPTreeBuilder::analyze!" << endl;
426 
427 
428  Event_EventNumber = iEvent.id().event();
429  Event_RunNumber = iEvent.id().run();
434  Event_Time = iEvent.eventAuxiliary().time().value();
435 
436  // BField part:
438  iSetup.get<IdealMagneticFieldRecord>().get(MF);
439  const MagneticField* theMagneticField = MF.product();
440  Event_BField = fabs(theMagneticField->inTesla(GlobalPoint(0,0,0)).z());
441 
442  // L1 TRIGGER part:
444  iEvent.getByLabel("gtDigis", h_gtReadoutRecord);
445  L1GtFdlWord fdlWord = h_gtReadoutRecord->gtFdlWord();
446  TechnicalTriggerWord L1technical = fdlWord.gtTechnicalTriggerWord();
447  Event_PhysicsDeclared = h_gtReadoutRecord->gtFdlWord().physicsDeclared();
448  for (unsigned int i = 0; i < 64; ++i){ Event_technicalBits [i] = L1technical[i]; }
449  DecisionWord L1decision = fdlWord.gtDecisionWord();
450  for (unsigned int i = 0; i < 128; ++i){ Event_triggerL1Bits [i] = L1decision[i]; }
451  DecisionWordExtended L1decisionE = fdlWord.gtDecisionWordExtended();
452  for (unsigned int i = 0; i < 64; ++i){ Event_triggerL1Bits [128+i] = L1decisionE[i]; }
453 
454  // HLT TRIGGER part:
456  iEvent.getByLabel("TriggerResults", trh);
457  for(unsigned int i=0;i<trh->size() && i<128;++i){Event_triggerHLTBits[i] = trh->at(i).accept();}
458 
459  edm::Handle<reco::VertexCollection> recoVertexHandle;
460  iEvent.getByLabel("offlinePrimaryVertices", recoVertexHandle);
461  reco::VertexCollection recoVertex = *recoVertexHandle;
462 
463  if(reccordVertexInfo){
464  NVertices = 0;
465  for(unsigned int i=0;i<recoVertex.size();i++){
466  Vertex_x [NVertices] = recoVertex[i].x();
467  Vertex_y [NVertices] = recoVertex[i].y();
468  Vertex_z [NVertices] = recoVertex[i].z();
469  Vertex_x_err [NVertices] = recoVertex[i].xError();
470  Vertex_y_err [NVertices] = recoVertex[i].yError();
471  Vertex_z_err [NVertices] = recoVertex[i].zError();
472  Vertex_TrackSize[NVertices] = recoVertex[i].tracksSize();
473  Vertex_chi2 [NVertices] = recoVertex[i].chi2();
474  Vertex_ndof [NVertices] = recoVertex[i].ndof();
475  Vertex_isFake [NVertices] = recoVertex[i].isFake();
476  NVertices++;
477  }
478  }
479 
480  // Source Collection
482  iEvent.getByLabel(m_HSCPsTag, HSCPCollectionHandle);
483  susybsm::HSCParticleCollection HSCPCollection = *HSCPCollectionHandle.product();
484 
485  NHSCPs=0;
486  for(unsigned int i=0; i<HSCPCollection.size();i++){
487  susybsm::HSCParticle hscp = HSCPCollection[i];
488  reco::MuonRef muon = hscp.muonRef();
489  reco::TrackRef track = hscp.trackRef();;
490 
491  Hscp_hasTrack [NHSCPs] = hscp.hasTrackRef();
492  Hscp_hasMuon [NHSCPs] = hscp.hasMuonRef();
493  Hscp_hasRpc [NHSCPs] = hscp.hasRpcInfo();
494  Hscp_hasCalo [NHSCPs] = hscp.hasCaloInfo();
495  Hscp_type [NHSCPs] = hscp.type();
496 
497  if(track.isNonnull() && Hscp_hasTrack){
498  Track_p [NHSCPs] = track->p();
499  Track_pt [NHSCPs] = track->pt();
500  Track_pt_err [NHSCPs] = track->ptError();
501  Track_eta [NHSCPs] = track->eta();
502  Track_eta_err [NHSCPs] = track->etaError();
503  Track_phi [NHSCPs] = track->phi();
504  Track_phi_err [NHSCPs] = track->phiError();
505  Track_NOH [NHSCPs] = track->found();
506  Track_chi2 [NHSCPs] = track->chi2();
507  Track_ndof [NHSCPs] = track->ndof();
508  Track_d0 [NHSCPs] = -1.0f * track->dxy(recoVertex[0].position());
509  Track_dz [NHSCPs] = -1.0f * track->dz (recoVertex[0].position());
510  Track_quality [NHSCPs] = track->qualityMask();
511  Track_charge [NHSCPs] = track->charge();
512 /* Track_dEdxE1 [NHSCPs] = hscp.dedxEstimator1().dEdx();
513  Track_dEdxE1_NOM [NHSCPs] = hscp.dedxEstimator1().numberOfMeasurements();
514  Track_dEdxE1_NOS [NHSCPs] = hscp.dedxEstimator1().numberOfSaturatedMeasurements();
515  Track_dEdxE2 [NHSCPs] = hscp.dedxEstimator2().dEdx();
516  Track_dEdxE2_NOM [NHSCPs] = hscp.dedxEstimator2().numberOfMeasurements();
517  Track_dEdxE2_NOS [NHSCPs] = hscp.dedxEstimator2().numberOfSaturatedMeasurements();
518  Track_dEdxE3 [NHSCPs] = hscp.dedxEstimator3().dEdx();
519  Track_dEdxE3_NOM [NHSCPs] = hscp.dedxEstimator3().numberOfMeasurements();
520  Track_dEdxE3_NOS [NHSCPs] = hscp.dedxEstimator3().numberOfSaturatedMeasurements();
521  Track_dEdxD1 [NHSCPs] = hscp.dedxDiscriminator1().dEdx();
522  Track_dEdxD1_NOM [NHSCPs] = hscp.dedxDiscriminator1().numberOfMeasurements();
523  Track_dEdxD1_NOS [NHSCPs] = hscp.dedxDiscriminator1().numberOfSaturatedMeasurements();
524  Track_dEdxD2 [NHSCPs] = hscp.dedxDiscriminator2().dEdx();
525  Track_dEdxD2_NOM [NHSCPs] = hscp.dedxDiscriminator2().numberOfMeasurements();
526  Track_dEdxD2_NOS [NHSCPs] = hscp.dedxDiscriminator2().numberOfSaturatedMeasurements();
527  Track_dEdxD3 [NHSCPs] = hscp.dedxDiscriminator3().dEdx();
528  Track_dEdxD3_NOM [NHSCPs] = hscp.dedxDiscriminator3().numberOfMeasurements();
529  Track_dEdxD3_NOS [NHSCPs] = hscp.dedxDiscriminator3().numberOfSaturatedMeasurements();
530 */
531  }
532 
533  if(muon.isNonnull() && Hscp_hasMuon){
534  Muon_p [NHSCPs] = muon->p();
535  Muon_pt [NHSCPs] = muon->pt();
536  Muon_eta [NHSCPs] = muon->eta();
537  Muon_phi [NHSCPs] = muon->phi();
538  Muon_type [NHSCPs] = muon->type();
539  Muon_qualityValid [NHSCPs] = muon->isQualityValid();
540  Muon_charge [NHSCPs] = muon->charge();
541 /* Muon_dt_IBeta [NHSCPs] = hscp.muonTimeDt().inverseBeta();
542  Muon_dt_IBeta_err [NHSCPs] = hscp.muonTimeDt().inverseBetaErr();
543  Muon_dt_fIBeta [NHSCPs] = hscp.muonTimeDt().freeInverseBeta();
544  Muon_dt_fIBeta_err [NHSCPs] = hscp.muonTimeDt().freeInverseBetaErr();
545  Muon_dt_ndof [NHSCPs] = hscp.muonTimeDt().nDof();
546  Muon_csc_IBeta [NHSCPs] = hscp.muonTimeCsc().inverseBeta();
547  Muon_csc_IBeta_err [NHSCPs] = hscp.muonTimeCsc().inverseBetaErr();
548  Muon_csc_fIBeta [NHSCPs] = hscp.muonTimeCsc().freeInverseBeta();
549  Muon_csc_fIBeta_err[NHSCPs] = hscp.muonTimeCsc().freeInverseBetaErr();
550  Muon_csc_ndof [NHSCPs] = hscp.muonTimeCsc().nDof();
551  Muon_cb_IBeta [NHSCPs] = hscp.muonTimeCombined().inverseBeta();
552  Muon_cb_IBeta_err [NHSCPs] = hscp.muonTimeCombined().inverseBetaErr();
553  Muon_cb_fIBeta [NHSCPs] = hscp.muonTimeCombined().freeInverseBeta();
554  Muon_cb_fIBeta_err [NHSCPs] = hscp.muonTimeCombined().freeInverseBetaErr();
555  Muon_cb_ndof [NHSCPs] = hscp.muonTimeCombined().nDof();
556 */
557  }
558 
559  if(hscp.hasCaloInfo()){
560 // Calo_ecal_crossedE [NHSCPs] = hscp.calo().ecalCrossedEnergy;
561 // Calo_ecal_beta [NHSCPs] = hscp.calo().ecalBeta;
562 // Calo_ecal_beta_err [NHSCPs] = hscp.calo().ecalBetaError;
563 // Calo_ecal_invBeta_err [NHSCPs] = hscp.calo().ecalInvBetaError;
564 // Calo_ecal_dEdx [NHSCPs] = hscp.calo().ecalDeDx;
565 // Calo_ecal_time [NHSCPs] = hscp.calo().ecalTime;
566 // Calo_ecal_time_err [NHSCPs] = hscp.calo().ecalTimeError;
567 // Calo_ecal_numCrysCrossed[NHSCPs] = hscp.calo().ecalCrysCrossed;
568 /* for(int i=0; i < Calo_ecal_numCrysCrossed[NHSCPs] && i < MAX_ECALCRYS; ++i)
569  {
570  Calo_ecal_swissCrossKs [NHSCPs][i] = hscp.calo().ecalSwissCrossKs[i];
571  Calo_ecal_e1OverE9s [NHSCPs][i] = hscp.calo().ecalE1OverE9s[i];
572  Calo_ecal_trackLengths [NHSCPs][i] = hscp.calo().ecalTrackLengths[i];
573  GlobalPoint exitPosition = hscp.calo().ecalTrackExitPositions[i];
574  Calo_ecal_trackExitEtas [NHSCPs][i] = exitPosition.eta();
575  Calo_ecal_trackExitPhis [NHSCPs][i] = exitPosition.phi();
576  Calo_ecal_energies [NHSCPs][i] = hscp.calo().ecalEnergies[i];
577  Calo_ecal_outOfTimeEnergies[NHSCPs][i] = hscp.calo().ecalOutOfTimeEnergies[i];
578  Calo_ecal_chi2s [NHSCPs][i] = hscp.calo().ecalChi2s[i];
579  Calo_ecal_outOfTimeChi2s [NHSCPs][i] = hscp.calo().ecalOutOfTimeChi2s[i];
580  Calo_ecal_times [NHSCPs][i] = hscp.calo().ecalTimes[i];
581  Calo_ecal_timeErrors [NHSCPs][i] = hscp.calo().ecalTimeErrors[i];
582  Calo_ecal_detIds [NHSCPs][i] = hscp.calo().ecalDetIds[i];
583  }
584 */
585  }
586 
587  if(Hscp_hasRpc){
588  Rpc_beta [NHSCPs] = hscp.rpc().beta;
589  }
590 
591  NHSCPs++;
592  }
593 
594 
595  if(reccordGenInfo){
597  iEvent.getByLabel("genParticles", genParticles);
598  NGens=0;
599  for(unsigned int i=0;i<genParticles->size();i++){
600  const GenParticle & part = (*genParticles)[i];
601  if(part.status()!=1)continue;
602  if(part.pt()<5)continue;
603 // if(fabs(part.pdgId())<1000000) continue;
604 
605  Gen_pdgId [NGens] = part.pdgId();
606  Gen_charge[NGens] = part.charge();
607  Gen_p [NGens] = part.p();
608  Gen_px [NGens] = part.px();
609  Gen_py [NGens] = part.py();
610  Gen_pz [NGens] = part.pz();
611  Gen_pt [NGens] = part.pt();
612  Gen_eta [NGens] = part.eta();
613  Gen_phi [NGens] = part.phi();
614  Gen_beta [NGens] = part.p()/part.energy();
615  Gen_mass [NGens] = part.mass();
616  NGens++;
617  }
618  }
619 
620 
621  MyTree->Fill();
622  return true;
623 }
float Vertex_x_err[MAX_VERTICES]
RunNumber_t run() const
Definition: EventID.h:42
unsigned int Event_LumiSection
virtual double energy() const GCC11_FINAL
energy
EventNumber_t event() const
Definition: EventID.h:44
int i
Definition: DBlmapReader.cc:9
const TechnicalTriggerWord & gtTechnicalTriggerWord() const
get/set technical trigger bits
Definition: L1GtFdlWord.h:151
float Muon_phi[MAX_HSCPS]
unsigned int NGens
unsigned int Track_ndof[MAX_HSCPS]
float Gen_beta[MAX_GENS]
bool Hscp_hasTrack[MAX_HSCPS]
virtual double p() const GCC11_FINAL
magnitude of momentum vector
const RPCBetaMeasurement & rpc() const
Definition: HSCParticle.h:77
bool Hscp_hasCalo[MAX_HSCPS]
virtual GlobalVector inTesla(const GlobalPoint &gp) const =0
Field value ad specified global point, in Tesla.
virtual int pdgId() const GCC11_FINAL
PDG identifier.
int Track_charge[MAX_HSCPS]
bool Event_triggerHLTBits[128]
float Track_d0[MAX_HSCPS]
Timestamp const & time() const
unsigned int Event_BXCrossing
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
bool Hscp_hasRpc[MAX_HSCPS]
unsigned int NVertices
bool hasTrackRef() const
Definition: HSCParticle.h:57
virtual double pz() const GCC11_FINAL
z coordinate of momentum vector
int bunchCrossing() const
virtual double py() const GCC11_FINAL
y coordinate of momentum vector
float Gen_charge[MAX_GENS]
static int position[TOTALCHAMBERS][3]
Definition: ReadPGInfo.cc:509
int Track_quality[MAX_HSCPS]
float Gen_phi[MAX_GENS]
LuminosityBlockNumber_t luminosityBlock() const
float Vertex_y_err[MAX_VERTICES]
unsigned int Event_Orbit
bool Hscp_hasMuon[MAX_HSCPS]
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:250
std::vector< bool > DecisionWordExtended
int Muon_type[MAX_HSCPS]
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
std::vector< HSCParticle > HSCParticleCollection
Definition: HSCParticle.h:94
int Gen_pdgId[MAX_GENS]
float Track_phi[MAX_HSCPS]
int storeNumber() const
float Track_p[MAX_HSCPS]
float Muon_pt[MAX_HSCPS]
float Vertex_y[MAX_VERTICES]
virtual int status() const GCC11_FINAL
status word
bool Vertex_isFake[MAX_VERTICES]
float Gen_pz[MAX_GENS]
unsigned int Event_EventNumber
int orbitNumber() const
unsigned int NHSCPs
std::vector< bool > DecisionWord
typedefs
float Gen_pt[MAX_GENS]
T z() const
Definition: PV3DBase.h:64
float Track_eta_err[MAX_HSCPS]
virtual double px() const GCC11_FINAL
x coordinate of momentum vector
float Vertex_ndof[MAX_VERTICES]
float Vertex_chi2[MAX_VERTICES]
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
float Muon_eta[MAX_HSCPS]
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
EventAuxiliary const & eventAuxiliary() const
Definition: Event.h:65
TimeValue_t value() const
Definition: Timestamp.cc:72
float Gen_p[MAX_GENS]
virtual float mass() const GCC11_FINAL
mass
float Track_pt_err[MAX_HSCPS]
reco::MuonRef muonRef() const
Definition: HSCParticle.h:74
int Muon_charge[MAX_HSCPS]
float Gen_mass[MAX_GENS]
float Track_dz[MAX_HSCPS]
float Gen_eta[MAX_GENS]
float Track_phi_err[MAX_HSCPS]
float Vertex_z[MAX_VERTICES]
unsigned int Track_NOH[MAX_HSCPS]
virtual int charge() const GCC11_FINAL
electric charge
part
Definition: HCALResponse.h:20
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
float Muon_p[MAX_HSCPS]
const DecisionWord & gtDecisionWord() const
get/set/print algorithms bits (decision word)
Definition: L1GtFdlWord.h:173
float Vertex_x[MAX_VERTICES]
T const * product() const
Definition: Handle.h:74
int Hscp_type[MAX_HSCPS]
bool Event_triggerL1Bits[192]
int type() const
Definition: HSCParticle.cc:5
reco::TrackRef trackRef() const
Definition: HSCParticle.h:72
edm::EventID id() const
Definition: EventBase.h:56
bool hasRpcInfo() const
Definition: HSCParticle.h:59
float Gen_px[MAX_GENS]
unsigned int Event_Store
float Track_chi2[MAX_HSCPS]
tuple cout
Definition: gather_cfg.py:121
unsigned int Event_Time
float Track_pt[MAX_HSCPS]
bool Muon_qualityValid[MAX_HSCPS]
int Vertex_TrackSize[MAX_VERTICES]
bool hasMuonRef() const
Definition: HSCParticle.h:55
const DecisionWordExtended & gtDecisionWordExtended() const
get/set extended algorithms bits (extended decision word)
Definition: L1GtFdlWord.h:205
float Rpc_beta[MAX_HSCPS]
#define debug
Definition: MEtoEDMFormat.h:34
virtual float pt() const GCC11_FINAL
transverse momentum
bool hasCaloInfo() const
Definition: HSCParticle.h:60
float Gen_py[MAX_GENS]
float Track_eta[MAX_HSCPS]
unsigned int Event_RunNumber
bool Event_technicalBits[64]
float Vertex_z_err[MAX_VERTICES]

Member Data Documentation

float HSCPTreeBuilder::Calo_ecal_beta[MAX_HSCPS]
private

Definition at line 227 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_beta_err[MAX_HSCPS]
private

Definition at line 228 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_chi2s[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 241 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_crossedE[MAX_HSCPS]
private

Definition at line 226 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_dEdx[MAX_HSCPS]
private

Definition at line 230 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Calo_ecal_detIds[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 245 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_e1OverE9s[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 235 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_energies[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 239 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_invBeta_err[MAX_HSCPS]
private

Definition at line 229 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Calo_ecal_numCrysCrossed[MAX_HSCPS]
private

Definition at line 233 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_outOfTimeChi2s[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 242 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_outOfTimeEnergies[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 240 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_swissCrossKs[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 234 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_time[MAX_HSCPS]
private

Definition at line 231 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_time_err[MAX_HSCPS]
private

Definition at line 232 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_timeErrors[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 244 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_times[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 243 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_trackExitEtas[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 237 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_trackExitPhis[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 238 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Calo_ecal_trackLengths[MAX_HSCPS][MAX_ECALCRYS]
private

Definition at line 236 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Event_BField
private

Definition at line 150 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Event_BXCrossing
private

Definition at line 145 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Event_EventNumber
private

Definition at line 142 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Event_LumiSection
private

Definition at line 144 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Event_Orbit
private

Definition at line 146 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::Event_PhysicsDeclared
private

Definition at line 149 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Event_RunNumber
private

Definition at line 143 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Event_Store
private

Definition at line 147 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::Event_technicalBits[64]
private

Definition at line 141 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Event_Time
private

Definition at line 148 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::Event_triggerHLTBits[128]
private

Definition at line 140 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::Event_triggerL1Bits[192]
private

Definition at line 139 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Gen_beta[MAX_GENS]
private

Definition at line 257 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Gen_charge[MAX_GENS]
private

Definition at line 249 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Gen_eta[MAX_GENS]
private

Definition at line 255 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Gen_mass[MAX_GENS]
private

Definition at line 258 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Gen_p[MAX_GENS]
private

Definition at line 250 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Gen_pdgId[MAX_GENS]
private

Definition at line 248 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Gen_phi[MAX_GENS]
private

Definition at line 256 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Gen_pt[MAX_GENS]
private

Definition at line 254 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Gen_px[MAX_GENS]
private

Definition at line 251 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Gen_py[MAX_GENS]
private

Definition at line 252 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Gen_pz[MAX_GENS]
private

Definition at line 253 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::Hscp_hasCalo[MAX_HSCPS]
private

Definition at line 168 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::Hscp_hasMuon[MAX_HSCPS]
private

Definition at line 166 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::Hscp_hasRpc[MAX_HSCPS]
private

Definition at line 167 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::Hscp_hasTrack[MAX_HSCPS]
private

Definition at line 165 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Hscp_type[MAX_HSCPS]
private

Definition at line 169 of file HSCPTreeBuilder.cc.

const edm::Event* HSCPTreeBuilder::iEvent_
private

Definition at line 131 of file HSCPTreeBuilder.cc.

const edm::EventSetup* HSCPTreeBuilder::iSetup_
private

Definition at line 130 of file HSCPTreeBuilder.cc.

InputTag HSCPTreeBuilder::m_HSCPsTag
private

Definition at line 134 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_cb_fIBeta[MAX_HSCPS]
private

Definition at line 221 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_cb_fIBeta_err[MAX_HSCPS]
private

Definition at line 222 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_cb_IBeta[MAX_HSCPS]
private

Definition at line 219 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_cb_IBeta_err[MAX_HSCPS]
private

Definition at line 220 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Muon_cb_ndof[MAX_HSCPS]
private

Definition at line 223 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Muon_charge[MAX_HSCPS]
private

Definition at line 208 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_csc_fIBeta[MAX_HSCPS]
private

Definition at line 216 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_csc_fIBeta_err[MAX_HSCPS]
private

Definition at line 217 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_csc_IBeta[MAX_HSCPS]
private

Definition at line 214 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_csc_IBeta_err[MAX_HSCPS]
private

Definition at line 215 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Muon_csc_ndof[MAX_HSCPS]
private

Definition at line 218 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_dt_fIBeta[MAX_HSCPS]
private

Definition at line 211 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_dt_fIBeta_err[MAX_HSCPS]
private

Definition at line 212 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_dt_IBeta[MAX_HSCPS]
private

Definition at line 209 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_dt_IBeta_err[MAX_HSCPS]
private

Definition at line 210 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Muon_dt_ndof[MAX_HSCPS]
private

Definition at line 213 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_eta[MAX_HSCPS]
private

Definition at line 204 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_p[MAX_HSCPS]
private

Definition at line 202 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_phi[MAX_HSCPS]
private

Definition at line 205 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Muon_pt[MAX_HSCPS]
private

Definition at line 203 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::Muon_qualityValid[MAX_HSCPS]
private

Definition at line 207 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Muon_type[MAX_HSCPS]
private

Definition at line 206 of file HSCPTreeBuilder.cc.

TTree* HSCPTreeBuilder::MyTree
private

Definition at line 138 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::NGens
private

Definition at line 247 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::NHSCPs
private

Definition at line 164 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::NVertices
private

Definition at line 152 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::reccordGenInfo
private

Definition at line 136 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::reccordVertexInfo
private

Definition at line 135 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Rpc_beta[MAX_HSCPS]
private

Definition at line 224 of file HSCPTreeBuilder.cc.

edm::Service<TFileService> HSCPTreeBuilder::tfs
private

Definition at line 133 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Track_charge[MAX_HSCPS]
private

Definition at line 183 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_chi2[MAX_HSCPS]
private

Definition at line 174 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_d0[MAX_HSCPS]
private

Definition at line 181 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxD1[MAX_HSCPS]
private

Definition at line 193 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Track_dEdxD1_NOM[MAX_HSCPS]
private

Definition at line 195 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxD1_NOS[MAX_HSCPS]
private

Definition at line 194 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxD2[MAX_HSCPS]
private

Definition at line 196 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Track_dEdxD2_NOM[MAX_HSCPS]
private

Definition at line 198 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxD2_NOS[MAX_HSCPS]
private

Definition at line 197 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxD3[MAX_HSCPS]
private

Definition at line 199 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Track_dEdxD3_NOM[MAX_HSCPS]
private

Definition at line 201 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxD3_NOS[MAX_HSCPS]
private

Definition at line 200 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxE1[MAX_HSCPS]
private

Definition at line 184 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Track_dEdxE1_NOM[MAX_HSCPS]
private

Definition at line 186 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxE1_NOS[MAX_HSCPS]
private

Definition at line 185 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxE2[MAX_HSCPS]
private

Definition at line 187 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Track_dEdxE2_NOM[MAX_HSCPS]
private

Definition at line 189 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxE2_NOS[MAX_HSCPS]
private

Definition at line 188 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxE3[MAX_HSCPS]
private

Definition at line 190 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Track_dEdxE3_NOM[MAX_HSCPS]
private

Definition at line 192 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dEdxE3_NOS[MAX_HSCPS]
private

Definition at line 191 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_dz[MAX_HSCPS]
private

Definition at line 180 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_eta[MAX_HSCPS]
private

Definition at line 176 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_eta_err[MAX_HSCPS]
private

Definition at line 177 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Track_ndof[MAX_HSCPS]
private

Definition at line 175 of file HSCPTreeBuilder.cc.

unsigned int HSCPTreeBuilder::Track_NOH[MAX_HSCPS]
private

Definition at line 170 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_p[MAX_HSCPS]
private

Definition at line 171 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_phi[MAX_HSCPS]
private

Definition at line 178 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_phi_err[MAX_HSCPS]
private

Definition at line 179 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_pt[MAX_HSCPS]
private

Definition at line 172 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Track_pt_err[MAX_HSCPS]
private

Definition at line 173 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Track_quality[MAX_HSCPS]
private

Definition at line 182 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Vertex_chi2[MAX_VERTICES]
private

Definition at line 160 of file HSCPTreeBuilder.cc.

bool HSCPTreeBuilder::Vertex_isFake[MAX_VERTICES]
private

Definition at line 162 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Vertex_ndof[MAX_VERTICES]
private

Definition at line 161 of file HSCPTreeBuilder.cc.

int HSCPTreeBuilder::Vertex_TrackSize[MAX_VERTICES]
private

Definition at line 159 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Vertex_x[MAX_VERTICES]
private

Definition at line 153 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Vertex_x_err[MAX_VERTICES]
private

Definition at line 156 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Vertex_y[MAX_VERTICES]
private

Definition at line 154 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Vertex_y_err[MAX_VERTICES]
private

Definition at line 157 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Vertex_z[MAX_VERTICES]
private

Definition at line 155 of file HSCPTreeBuilder.cc.

float HSCPTreeBuilder::Vertex_z_err[MAX_VERTICES]
private

Definition at line 158 of file HSCPTreeBuilder.cc.