3 #define R__DICTIONARY_FILENAME MBDStudy_Dict
4 #define R__NO_DEPRECATION
15 #include "TDictAttributeMap.h"
16 #include "TInterpreter.h"
19 #include "TMemberInspector.h"
20 #include "TInterpreter.h"
21 #include "TVirtualMutex.h"
28 #include "RtypesImp.h"
29 #include "TIsAProxy.h"
30 #include "TFileMergeInfo.h"
32 #include "TCollectionProxyInfo.h"
35 #include "TDataMember.h"
38 #include "../MBDStudy.h"
43 namespace std {}
using namespace std;
58 static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(
typeid(::
MBDStudy));
59 static ::ROOT::TGenericClassInfo
60 instance(
"MBDStudy",
"", 28,
61 typeid(::
MBDStudy), ::ROOT::Internal::DefineBehavior(ptr, ptr),
62 &MBDStudy_Dictionary, isa_proxy, 4,
64 instance.SetNew(&new_MBDStudy);
65 instance.SetNewArray(&newArray_MBDStudy);
66 instance.SetDelete(&delete_MBDStudy);
67 instance.SetDeleteArray(&deleteArray_MBDStudy);
68 instance.SetDestructor(&destruct_MBDStudy);
93 return p ?
new(
p) ::
MBDStudy : new ::MBDStudy;
96 return p ?
new(
p) ::
MBDStudy[nElements] : new ::MBDStudy[nElements];
106 typedef ::MBDStudy current_t;
107 ((current_t*)p)->~current_t();
123 map<int,int> *ptr =
nullptr;
124 static ::TVirtualIsAProxy* isa_proxy = new ::TIsAProxy(
typeid(map<int,int>));
125 static ::ROOT::TGenericClassInfo
126 instance(
"map<int,int>", -2,
"map", 100,
127 typeid(map<int,int>), ::ROOT::Internal::DefineBehavior(ptr, ptr),
129 sizeof(map<int,int>) );
135 instance.AdoptCollectionProxyInfo(TCollectionProxyInfo::Generate(TCollectionProxyInfo::MapInsert< map<int,int> >()));
137 ::ROOT::AddClassAlternate(
"map<int,int>",
"std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > >");
158 return p ? ::new((::ROOT::Internal::TOperatorNewHelper*)p) map<int,int> :
new map<int,int>;
161 return p ? ::new((::ROOT::Internal::TOperatorNewHelper*)p) map<int,int>[nElements] :
new map<int,int>[nElements];
165 delete ((map<int,int>*)p);
168 delete [] ((map<int,int>*)p);
171 typedef map<int,int> current_t;
172 ((current_t*)p)->~current_t();
177 void TriggerDictionaryInitialization_MBDStudy_Dict_Impl() {
178 static const char*
headers[] = {
182 static const char* includePaths[] = {
185 static const char* fwdDeclCode = R
"DICTFWDDCLS(
#line 1 "MBDStudy_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 MBDStudy;
)DICTFWDDCLS";
186 static const char* payloadCode = R
"DICTPAYLOAD(
#line 1 "MBDStudy_Dict dictionary payload"
#define _BACKWARD_BACKWARD_WARNING_H
// Inline headers
#ifndef __MBDSTUDY_H__
#define __MBDSTUDY_H__
#include <fun4all/SubsysReco.h>
#include <string>
#include <map>
#include <TFile.h>
//Forward declerations
class PHCompositeNode;
class PHG4HitContainer;
class PHG4TruthInfoContainer;
class EventHeader;
class MbdOut;
class TFile;
class TTree;
class TDatabasePDG;
class TRandom3;
class TH1;
class TH2;
class TF1;
class TCanvas;
//Brief: basic ntuple and histogram creation for sim evaluation
class MBDStudy: public SubsysReco
{
public:
//Default constructor
MBDStudy(const std::string &name="MBDStudy");
//Initialization, called for initialization
int Init(PHCompositeNode *);
//Initialization at start of every run
int InitRun(PHCompositeNode *);
//Process Event, called for each event
int process_event(PHCompositeNode *);
//End, write and close files
int End(PHCompositeNode *);
//Change output filename
void set_savefile(const char *f) { _savefname = f; }
void set_tres(const Float_t tr) { _tres = tr; }
private:
//
void CheckDST(PHCompositeNode *topNode);
//output filename
std::string _savefname;
TFile* _savefile;
int nprocessed{0}; // num events processed
//Output
TTree* _tree;
Int_t f_evt;
Float_t f_bimp; // impact parameter
Int_t f_ncoll; // number n-n collisions
Int_t f_npart; // number participants
Float_t f_vx; // true x vertex of collision point
Float_t f_vy; // true y vertex
Float_t f_vz; // true z vertex
Float_t f_vt; // true start time
Short_t f_mbdn[2]; // num hits for each arm (north and south)
Float_t f_mbdq[2]; // total charge (currently npe) in each arm
Float_t f_mbdt[2]; // time in arm
Float_t f_mbdte[2]; // earliest hit time in arm
Float_t f_mbdz; // z-vertex
Float_t f_mbdt0; // start time
TH1* h_mbdq[128]; // q in each tube
TH1* h_mbdqtot[2]; // total q in mbd arms
TH2* h2_mbdqtot; // north q vs south q
TH1* h_ztrue; // true z-vertex
TH1* h_tdiff; // time diff between estimated and real time
TH2* h2_tdiff_ch; // time diff by channel
TCanvas *c_mbdt; // Canvas to
TH1 *hevt_mbdt[2]; // time in each mbd, per event
TF1 *gaussian;
std::map<int,int> _pids; // PIDs of tracks in the MBD
//
TDatabasePDG* _pdg;
TRandom3* _rndm;
Float_t _tres; // time resolution of one channel
//Get all the nodes
void GetNodes(PHCompositeNode *);
//Node pointers
PHG4TruthInfoContainer* _truth_container;
PHG4HitContainer* _mbdhits;
EventHeader* _evtheader;
};
#endif //* __MBDSTUDY_H__ *//
#undef _BACKWARD_BACKWARD_WARNING_H
)DICTPAYLOAD";
187 static const char* classesHeaders[] = {
188 "MBDStudy", payloadCode,
"@",
191 static bool isInitialized =
false;
192 if (!isInitialized) {
193 TROOT::RegisterModule(
"MBDStudy_Dict",
194 headers, includePaths, payloadCode, fwdDeclCode,
195 TriggerDictionaryInitialization_MBDStudy_Dict_Impl, {}, classesHeaders,
false);
196 isInitialized =
true;
199 static struct DictInit {
201 TriggerDictionaryInitialization_MBDStudy_Dict_Impl();
203 } __TheDictionaryInitializer;
206 TriggerDictionaryInitialization_MBDStudy_Dict_Impl();