Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ElectronID_Dict.cc
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file ElectronID_Dict.cc
1 // Do NOT change. Changes will be lost next time file is generated
2 
3 #define R__DICTIONARY_FILENAME ElectronID_Dict
4 #define R__NO_DEPRECATION
5 
6 /*******************************************************************/
7 #include <stddef.h>
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include <string.h>
11 #include <assert.h>
12 #define G__DICTIONARY
13 #include "RConfig.h"
14 #include "TClass.h"
15 #include "TDictAttributeMap.h"
16 #include "TInterpreter.h"
17 #include "TROOT.h"
18 #include "TBuffer.h"
19 #include "TMemberInspector.h"
20 #include "TInterpreter.h"
21 #include "TVirtualMutex.h"
22 #include "TError.h"
23 
24 #ifndef G__ROOT
25 #define G__ROOT
26 #endif
27 
28 #include "RtypesImp.h"
29 #include "TIsAProxy.h"
30 #include "TFileMergeInfo.h"
31 #include <algorithm>
32 #include "TCollectionProxyInfo.h"
33 /*******************************************************************/
34 
35 #include "TDataMember.h"
36 
37 // The generated code does not explicitly qualifies STL entities
38 namespace std {} using namespace std;
39 
40 // Header files passed as explicit arguments
41 #include "/sphenix/u/weihuma/analysis/ElectronID/src/ElectronID.h"
42 
43 // Header files passed via #pragma extra_include
44 
45 namespace ROOT {
46  static TClass *ElectronID_Dictionary();
47  static void ElectronID_TClassManip(TClass*);
48  static void *new_ElectronID(void *p = 0);
49  static void *newArray_ElectronID(Long_t size, void *p);
50  static void delete_ElectronID(void *p);
51  static void deleteArray_ElectronID(void *p);
52  static void destruct_ElectronID(void *p);
53 
54  // Function generating the singleton type initializer
55  static TGenericClassInfo *GenerateInitInstanceLocal(const ::ElectronID*)
56  {
57  ::ElectronID *ptr = 0;
58  static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(::ElectronID));
59  static ::ROOT::TGenericClassInfo
60  instance("ElectronID", "", 40,
61  typeid(::ElectronID), ::ROOT::Internal::DefineBehavior(ptr, ptr),
62  &ElectronID_Dictionary, isa_proxy, 3,
63  sizeof(::ElectronID) );
64  instance.SetNew(&new_ElectronID);
65  instance.SetNewArray(&newArray_ElectronID);
66  instance.SetDelete(&delete_ElectronID);
67  instance.SetDeleteArray(&deleteArray_ElectronID);
68  instance.SetDestructor(&destruct_ElectronID);
69  return &instance;
70  }
71  TGenericClassInfo *GenerateInitInstance(const ::ElectronID*)
72  {
74  }
75  // Static variable to force the class initialization
76  static ::ROOT::TGenericClassInfo *_R__UNIQUE_DICT_(Init) = GenerateInitInstanceLocal((const ::ElectronID*)0x0); R__UseDummy(_R__UNIQUE_DICT_(Init));
77 
78  // Dictionary for non-ClassDef classes
79  static TClass *ElectronID_Dictionary() {
80  TClass* theClass =::ROOT::GenerateInitInstanceLocal((const ::ElectronID*)0x0)->GetClass();
81  ElectronID_TClassManip(theClass);
82  return theClass;
83  }
84 
85  static void ElectronID_TClassManip(TClass* ){
86  }
87 
88 } // end of namespace ROOT
89 
90 namespace ROOT {
91  // Wrappers around operator new
92  static void *new_ElectronID(void *p) {
93  return p ? new(p) ::ElectronID : new ::ElectronID;
94  }
95  static void *newArray_ElectronID(Long_t nElements, void *p) {
96  return p ? new(p) ::ElectronID[nElements] : new ::ElectronID[nElements];
97  }
98  // Wrapper around operator delete
99  static void delete_ElectronID(void *p) {
100  delete ((::ElectronID*)p);
101  }
102  static void deleteArray_ElectronID(void *p) {
103  delete [] ((::ElectronID*)p);
104  }
105  static void destruct_ElectronID(void *p) {
106  typedef ::ElectronID current_t;
107  ((current_t*)p)->~current_t();
108  }
109 } // end of namespace ROOT for class ::ElectronID
110 
111 namespace {
112  void TriggerDictionaryInitialization_ElectronID_Dict_Impl() {
113  static const char* headers[] = {
114 "0",
115 0
116  };
117  static const char* includePaths[] = {
118 0
119  };
120  static const char* fwdDeclCode = R"DICTFWDDCLS( #line 1 "ElectronID_Dict dictionary forward declarations' payload" #pragma clang diagnostic ignored "-Wkeyword-compat" #pragma clang diagnostic ignored "-Wignored-attributes" #pragma clang diagnostic ignored "-Wreturn-type-c-linkage" extern int __Cling_AutoLoading_Map; class ElectronID; )DICTFWDDCLS";
121  static const char* payloadCode = R"DICTPAYLOAD( #line 1 "ElectronID_Dict dictionary payload" #define _BACKWARD_BACKWARD_WARNING_H // Inline headers /*! * \file PHTruthClustering.h * \brief Clustering using truth info * \author Tony Frawley <afrawley@fsu.edu> */ #ifndef TRACKRECO_PHTRUTHCLUSTERING_H #define TRACKRECO_PHTRUTHCLUSTERING_H #include <fun4all/SubsysReco.h> // rootcint barfs with this header so we need to hide it #include <gsl/gsl_rng.h> #include <string> // for string #include <vector> #include <map> #include <set> #include <memory> #include <TFile.h> #include <TNtuple.h> #include "TMVA/Tools.h" #include "TMVA/Reader.h" #include <TMVA/MethodCuts.h> // forward declarations class PHCompositeNode; class SvtxTrackMap; class SvtxTrack; class TrackPidAssoc; class PHG4TruthInfoContainer; class PHG4Particle; class SvtxTrack; class ElectronID : public SubsysReco { public: ElectronID(const std::string &name = "ElectronID", const std::string &filename = "_ElectronID.root"); virtual ~ElectronID(); int Init(PHCompositeNode *topNode); int InitRun(PHCompositeNode *topNode); int process_event(PHCompositeNode *topNode); int End(PHCompositeNode *topNode); /// Set the cemce3x3/p cut limits for electrons; default: 0.7<cemce3x3/p<100.0, means without cuts void setEMOPcutlimits(float EMOPlowerlimit, float EMOPhigherlimit) { EMOP_lowerlimit = EMOPlowerlimit; EMOP_higherlimit = EMOPhigherlimit; } /// Set the hcaline3x3/cemce3x3 cut limit for electrons; default: hcaline3x3/cemce3x3<100.0, means without cut void setHinOEMcutlimit(float HinOEMhigherlimit) { HinOEM_higherlimit = HinOEMhigherlimit; } /// Set the pt cut limit for Upsilon decay electrons; default: 0.0<pt<100.0 GeV, means without cut void setPtcutlimit(float Ptlowerlimit, float Pthigherlimit) { Pt_lowerlimit = Ptlowerlimit; Pt_higherlimit = Pthigherlimit; } /// Set the (hcaline3x3+hcaloute3x3)/p cut lower limit for hadrons; default: 0.0<(hcaline3x3+hcaloute3x3)/p, means without cut void setHOPcutlimit(float HOPlowerlimit) { HOP_lowerlimit = HOPlowerlimit; } /// Set the track cut limits; default: nmvtx>=2, nintt>=0, ntpc>=20; quality<5. void setTrackcutlimits(int Nmvtxlowerlimit, int Ninttlowerlimit, int Ntpclowerlimit, float Nqualityhigherlimit) { Nmvtx_lowerlimit = Nmvtxlowerlimit; Nintt_lowerlimit = Ninttlowerlimit; Ntpc_lowerlimit = Ntpclowerlimit; Nquality_higherlimit = Nqualityhigherlimit; } /// set "prob" variable cut void setPROBcut(float tmp) {PROB_cut = tmp;} void set_output_ntuple(bool outputntuple) {output_ntuple = outputntuple;} /// set MVA cut void setBDTcut(int isuseBDT_p, int isuseBDT_n, float bdtcut_p, float bdtcut_n) {ISUSE_BDT_p= isuseBDT_p; ISUSE_BDT_n= isuseBDT_n; BDT_cut_p = bdtcut_p; BDT_cut_n = bdtcut_n;} protected: bool output_ntuple; TFile* OutputNtupleFile; std::string OutputFileName; TNtuple* ntpBDTresponse; //write ntuple for BDTresponse TNtuple* ntpbeforecut; //write ntuple before any cuts TNtuple* ntpcutEMOP; //write ntuple with only EMOP cut TNtuple* ntpcutEMOP_HinOEM; //write ntuple with EMOP & HinOEM cuts TNtuple* ntpcutEMOP_HinOEM_Pt; //write ntuple with EMOP & HinOEM & Pt cuts TNtuple* ntpcutEMOP_HinOEM_Pt_read; //write ntuple with EMOP & HinOEM & Pt cuts in the situation of reading back the association map. TNtuple* ntpcutBDT_read; //write ntuple with BDT & Pt cuts in the situation of reading back the association map. TNtuple* ntpcutHOP; //write ntuple with only HOP cut int EventNumber; private: /// fetch node pointers int GetNodes(PHCompositeNode *topNode); PHG4Particle* findMCmatch(SvtxTrack* track, PHG4TruthInfoContainer* truth_container); TrackPidAssoc *_track_pid_assoc; SvtxTrackMap *_track_map; /// A float lower limit for cutting on cemce3x3/p float EMOP_lowerlimit; /// A float higher limit for cutting on cemce3x3/p float EMOP_higherlimit; /// "prob" variable cut float PROB_cut; /// A float higher limit for cutting on hcaline3x3/cemce3x3 float HinOEM_higherlimit; /// A float lower limit for cutting on pt float Pt_lowerlimit; /// A float higher limit for cutting on pt float Pt_higherlimit; /// A float lower limit for cutting on (hcaline3x3+hcaloute3x3)/p float HOP_lowerlimit; /// A float lower limit for cutting on nmvtx int Nmvtx_lowerlimit; /// A float lower limit for cutting on nintt int Nintt_lowerlimit; /// A float lower limit for cutting on ntpc int Ntpc_lowerlimit; /// A float higher limit for cutting on quality float Nquality_higherlimit; /// MVA cut float BDT_cut_p, BDT_cut_n; int ISUSE_BDT_p, ISUSE_BDT_n;//0 for no; 1 for yes unsigned int _nlayers_maps = 3; unsigned int _nlayers_intt = 4; unsigned int _nlayers_tpc = 48; }; #endif #undef _BACKWARD_BACKWARD_WARNING_H )DICTPAYLOAD";
122  static const char* classesHeaders[] = {
123 "ElectronID", payloadCode, "@",
124 nullptr
125 };
126  static bool isInitialized = false;
127  if (!isInitialized) {
128  TROOT::RegisterModule("ElectronID_Dict",
129  headers, includePaths, payloadCode, fwdDeclCode,
130  TriggerDictionaryInitialization_ElectronID_Dict_Impl, {}, classesHeaders, /*hasCxxModule*/false);
131  isInitialized = true;
132  }
133  }
134  static struct DictInit {
135  DictInit() {
136  TriggerDictionaryInitialization_ElectronID_Dict_Impl();
137  }
138  } __TheDictionaryInitializer;
139 }
141  TriggerDictionaryInitialization_ElectronID_Dict_Impl();
142 }
143