File indexing completed on 2025-08-05 08:11:08
0001
0002
0003 #define R__DICTIONARY_FILENAME MBDStudy_Dict
0004 #define R__NO_DEPRECATION
0005
0006
0007 #include <stddef.h>
0008 #include <stdio.h>
0009 #include <stdlib.h>
0010 #include <string.h>
0011 #include <assert.h>
0012 #define G__DICTIONARY
0013 #include "RConfig.h"
0014 #include "TClass.h"
0015 #include "TDictAttributeMap.h"
0016 #include "TInterpreter.h"
0017 #include "TROOT.h"
0018 #include "TBuffer.h"
0019 #include "TMemberInspector.h"
0020 #include "TInterpreter.h"
0021 #include "TVirtualMutex.h"
0022 #include "TError.h"
0023
0024 #ifndef G__ROOT
0025 #define G__ROOT
0026 #endif
0027
0028 #include "RtypesImp.h"
0029 #include "TIsAProxy.h"
0030 #include "TFileMergeInfo.h"
0031 #include <algorithm>
0032 #include "TCollectionProxyInfo.h"
0033
0034
0035 #include "TDataMember.h"
0036
0037
0038 #include "../MBDStudy.h"
0039
0040
0041
0042
0043 namespace std {} using namespace std;
0044
0045 namespace ROOT {
0046 static TClass *MBDStudy_Dictionary();
0047 static void MBDStudy_TClassManip(TClass*);
0048 static void *new_MBDStudy(void *p = nullptr);
0049 static void *newArray_MBDStudy(Long_t size, void *p);
0050 static void delete_MBDStudy(void *p);
0051 static void deleteArray_MBDStudy(void *p);
0052 static void destruct_MBDStudy(void *p);
0053
0054
0055 static TGenericClassInfo *GenerateInitInstanceLocal(const ::MBDStudy*)
0056 {
0057 ::MBDStudy *ptr = nullptr;
0058 static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(::MBDStudy));
0059 static ::ROOT::TGenericClassInfo
0060 instance("MBDStudy", "", 28,
0061 typeid(::MBDStudy), ::ROOT::Internal::DefineBehavior(ptr, ptr),
0062 &MBDStudy_Dictionary, isa_proxy, 4,
0063 sizeof(::MBDStudy) );
0064 instance.SetNew(&new_MBDStudy);
0065 instance.SetNewArray(&newArray_MBDStudy);
0066 instance.SetDelete(&delete_MBDStudy);
0067 instance.SetDeleteArray(&deleteArray_MBDStudy);
0068 instance.SetDestructor(&destruct_MBDStudy);
0069 return &instance;
0070 }
0071 TGenericClassInfo *GenerateInitInstance(const ::MBDStudy*)
0072 {
0073 return GenerateInitInstanceLocal((::MBDStudy*)nullptr);
0074 }
0075
0076 static ::ROOT::TGenericClassInfo *_R__UNIQUE_DICT_(Init) = GenerateInitInstanceLocal((const ::MBDStudy*)nullptr); R__UseDummy(_R__UNIQUE_DICT_(Init));
0077
0078
0079 static TClass *MBDStudy_Dictionary() {
0080 TClass* theClass =::ROOT::GenerateInitInstanceLocal((const ::MBDStudy*)nullptr)->GetClass();
0081 MBDStudy_TClassManip(theClass);
0082 return theClass;
0083 }
0084
0085 static void MBDStudy_TClassManip(TClass* ){
0086 }
0087
0088 }
0089
0090 namespace ROOT {
0091
0092 static void *new_MBDStudy(void *p) {
0093 return p ? new(p) ::MBDStudy : new ::MBDStudy;
0094 }
0095 static void *newArray_MBDStudy(Long_t nElements, void *p) {
0096 return p ? new(p) ::MBDStudy[nElements] : new ::MBDStudy[nElements];
0097 }
0098
0099 static void delete_MBDStudy(void *p) {
0100 delete ((::MBDStudy*)p);
0101 }
0102 static void deleteArray_MBDStudy(void *p) {
0103 delete [] ((::MBDStudy*)p);
0104 }
0105 static void destruct_MBDStudy(void *p) {
0106 typedef ::MBDStudy current_t;
0107 ((current_t*)p)->~current_t();
0108 }
0109 }
0110
0111 namespace ROOT {
0112 static TClass *maplEintcOintgR_Dictionary();
0113 static void maplEintcOintgR_TClassManip(TClass*);
0114 static void *new_maplEintcOintgR(void *p = nullptr);
0115 static void *newArray_maplEintcOintgR(Long_t size, void *p);
0116 static void delete_maplEintcOintgR(void *p);
0117 static void deleteArray_maplEintcOintgR(void *p);
0118 static void destruct_maplEintcOintgR(void *p);
0119
0120
0121 static TGenericClassInfo *GenerateInitInstanceLocal(const map<int,int>*)
0122 {
0123 map<int,int> *ptr = nullptr;
0124 static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(typeid(map<int,int>));
0125 static ::ROOT::TGenericClassInfo
0126 instance("map<int,int>", -2, "map", 100,
0127 typeid(map<int,int>), ::ROOT::Internal::DefineBehavior(ptr, ptr),
0128 &maplEintcOintgR_Dictionary, isa_proxy, 0,
0129 sizeof(map<int,int>) );
0130 instance.SetNew(&new_maplEintcOintgR);
0131 instance.SetNewArray(&newArray_maplEintcOintgR);
0132 instance.SetDelete(&delete_maplEintcOintgR);
0133 instance.SetDeleteArray(&deleteArray_maplEintcOintgR);
0134 instance.SetDestructor(&destruct_maplEintcOintgR);
0135 instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::MapInsert< map<int,int> >()));
0136
0137 ::ROOT::AddClassAlternate("map<int,int>","std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >");
0138 return &instance;
0139 }
0140
0141 static ::ROOT::TGenericClassInfo *_R__UNIQUE_DICT_(Init) = GenerateInitInstanceLocal((const map<int,int>*)nullptr); R__UseDummy(_R__UNIQUE_DICT_(Init));
0142
0143
0144 static TClass *maplEintcOintgR_Dictionary() {
0145 TClass* theClass =::ROOT::GenerateInitInstanceLocal((const map<int,int>*)nullptr)->GetClass();
0146 maplEintcOintgR_TClassManip(theClass);
0147 return theClass;
0148 }
0149
0150 static void maplEintcOintgR_TClassManip(TClass* ){
0151 }
0152
0153 }
0154
0155 namespace ROOT {
0156
0157 static void *new_maplEintcOintgR(void *p) {
0158 return p ? ::new((::ROOT::Internal::TOperatorNewHelper*)p) map<int,int> : new map<int,int>;
0159 }
0160 static void *newArray_maplEintcOintgR(Long_t nElements, void *p) {
0161 return p ? ::new((::ROOT::Internal::TOperatorNewHelper*)p) map<int,int>[nElements] : new map<int,int>[nElements];
0162 }
0163
0164 static void delete_maplEintcOintgR(void *p) {
0165 delete ((map<int,int>*)p);
0166 }
0167 static void deleteArray_maplEintcOintgR(void *p) {
0168 delete [] ((map<int,int>*)p);
0169 }
0170 static void destruct_maplEintcOintgR(void *p) {
0171 typedef map<int,int> current_t;
0172 ((current_t*)p)->~current_t();
0173 }
0174 }
0175
0176 namespace {
0177 void TriggerDictionaryInitialization_MBDStudy_Dict_Impl() {
0178 static const char* headers[] = {
0179 "0",
0180 nullptr
0181 };
0182 static const char* includePaths[] = {
0183 nullptr
0184 };
0185 static const char* fwdDeclCode = R"DICTFWDDCLS(
0186 #line 1 "MBDStudy_Dict dictionary forward declarations' payload"
0187 #pragma clang diagnostic ignored "-Wkeyword-compat"
0188 #pragma clang diagnostic ignored "-Wignored-attributes"
0189 #pragma clang diagnostic ignored "-Wreturn-type-c-linkage"
0190 extern int __Cling_AutoLoading_Map;
0191 class MBDStudy;
0192 )DICTFWDDCLS";
0193 static const char* payloadCode = R"DICTPAYLOAD(
0194 #line 1 "MBDStudy_Dict dictionary payload"
0195
0196
0197 #define _BACKWARD_BACKWARD_WARNING_H
0198 // Inline headers
0199 #ifndef __MBDSTUDY_H__
0200 #define __MBDSTUDY_H__
0201
0202 #include <fun4all/SubsysReco.h>
0203 #include <string>
0204 #include <map>
0205 #include <TFile.h>
0206
0207 //Forward declerations
0208 class PHCompositeNode;
0209 class PHG4HitContainer;
0210 class PHG4TruthInfoContainer;
0211 class EventHeader;
0212 class MbdOut;
0213 class TFile;
0214 class TTree;
0215 class TDatabasePDG;
0216 class TRandom3;
0217 class TH1;
0218 class TH2;
0219 class TF1;
0220 class TCanvas;
0221
0222
0223 //Brief: basic ntuple and histogram creation for sim evaluation
0224 class MBDStudy: public SubsysReco
0225 {
0226 public:
0227
0228 //Default constructor
0229 MBDStudy(const std::string &name="MBDStudy");
0230
0231 //Initialization, called for initialization
0232 int Init(PHCompositeNode *);
0233
0234 //Initialization at start of every run
0235 int InitRun(PHCompositeNode *);
0236
0237 //Process Event, called for each event
0238 int process_event(PHCompositeNode *);
0239
0240 //End, write and close files
0241 int End(PHCompositeNode *);
0242
0243 //Change output filename
0244 void set_savefile(const char *f) { _savefname = f; }
0245
0246 void set_tres(const Float_t tr) { _tres = tr; }
0247
0248 private:
0249
0250 //
0251 void CheckDST(PHCompositeNode *topNode);
0252
0253 //output filename
0254 std::string _savefname;
0255 TFile* _savefile;
0256
0257 int nprocessed{0}; // num events processed
0258
0259 //Output
0260 TTree* _tree;
0261 Int_t f_evt;
0262 Float_t f_bimp; // impact parameter
0263 Int_t f_ncoll; // number n-n collisions
0264 Int_t f_npart; // number participants
0265 Float_t f_vx; // true x vertex of collision point
0266 Float_t f_vy; // true y vertex
0267 Float_t f_vz; // true z vertex
0268 Float_t f_vt; // true start time
0269 Short_t f_mbdn[2]; // num hits for each arm (north and south)
0270 Float_t f_mbdq[2]; // total charge (currently npe) in each arm
0271 Float_t f_mbdt[2]; // time in arm
0272 Float_t f_mbdte[2]; // earliest hit time in arm
0273 Float_t f_mbdz; // z-vertex
0274 Float_t f_mbdt0; // start time
0275
0276 TH1* h_mbdq[128]; // q in each tube
0277 TH1* h_mbdqtot[2]; // total q in mbd arms
0278 TH2* h2_mbdqtot; // north q vs south q
0279 TH1* h_ztrue; // true z-vertex
0280 TH1* h_tdiff; // time diff between estimated and real time
0281 TH2* h2_tdiff_ch; // time diff by channel
0282
0283 TCanvas *c_mbdt; // Canvas to
0284 TH1 *hevt_mbdt[2]; // time in each mbd, per event
0285 TF1 *gaussian;
0286
0287 std::map<int,int> _pids; // PIDs of tracks in the MBD
0288
0289 //
0290 TDatabasePDG* _pdg;
0291 TRandom3* _rndm;
0292 Float_t _tres; // time resolution of one channel
0293
0294 //Get all the nodes
0295 void GetNodes(PHCompositeNode *);
0296
0297 //Node pointers
0298 PHG4TruthInfoContainer* _truth_container;
0299 PHG4HitContainer* _mbdhits;
0300 EventHeader* _evtheader;
0301
0302 };
0303
0304 #endif //* __MBDSTUDY_H__ *//
0305
0306 #undef _BACKWARD_BACKWARD_WARNING_H
0307 )DICTPAYLOAD";
0308 static const char* classesHeaders[] = {
0309 "MBDStudy", payloadCode, "@",
0310 nullptr
0311 };
0312 static bool isInitialized = false;
0313 if (!isInitialized) {
0314 TROOT::RegisterModule("MBDStudy_Dict",
0315 headers, includePaths, payloadCode, fwdDeclCode,
0316 TriggerDictionaryInitialization_MBDStudy_Dict_Impl, {}, classesHeaders, /*hasCxxModule*/false);
0317 isInitialized = true;
0318 }
0319 }
0320 static struct DictInit {
0321 DictInit() {
0322 TriggerDictionaryInitialization_MBDStudy_Dict_Impl();
0323 }
0324 } __TheDictionaryInitializer;
0325 }
0326 void TriggerDictionaryInitialization_MBDStudy_Dict() {
0327 TriggerDictionaryInitialization_MBDStudy_Dict_Impl();
0328 }