![]() |
|
|||
File indexing completed on 2025-08-05 08:14:50
0001 #pragma once 0002 0003 #include <fun4all/Fun4AllDstInputManager.h> 0004 #include <fun4all/Fun4AllInputManager.h> 0005 #include <fun4all/Fun4AllServer.h> 0006 0007 #include <GlobalVariables.C> 0008 #include <G4_Global.C> 0009 #include <G4_Mbd.C> 0010 0011 #include <pythiaemcalana/pythiaEMCalAna.h> 0012 0013 R__LOAD_LIBRARY(libfun4all.so) 0014 R__LOAD_LIBRARY(libpythiaEMCalAna.so) 0015 0016 void Fun4All_pythiaEMCalAna( 0017 int nEvents = 1, 0018 const char *filelist1 = "dst_calo_cluster.list", 0019 const char *filelist2 = "dst_truth.list", 0020 const string outname = "pythiaEMCalTrees.root", 0021 bool isMC = true, 0022 bool hasPythia = true) 0023 { 0024 // this convenience library knows all our i/o objects so you don't 0025 // have to figure out what is in each dst type 0026 gSystem->Load("libg4dst.so"); 0027 /* gSystem->Load("libpythiaEMCalAna.so"); */ 0028 0029 Fun4AllServer *se = Fun4AllServer::instance(); 0030 se->Verbosity(0); // set it to 1 if you want event printouts 0031 0032 Fun4AllInputManager *inCluster = new Fun4AllDstInputManager("DSTCaloCluster"); 0033 std::cout << "Adding file list " << filelist1 << std::endl; 0034 inCluster->AddListFile(filelist1,1); 0035 se->registerInputManager(inCluster); 0036 0037 Fun4AllInputManager *inTruth = new Fun4AllDstInputManager("DSTTruth"); 0038 if (isMC) { 0039 std::cout << "Adding file list " << filelist2 << std::endl; 0040 inTruth -> AddListFile(filelist2,1); 0041 se -> registerInputManager(inTruth); 0042 } 0043 0044 pythiaEMCalAna *eval = new pythiaEMCalAna("pythiaEMCalAna", outname.c_str(), isMC, hasPythia); 0045 eval -> setGenEvent(1); 0046 se -> registerSubsystem(eval); 0047 0048 se->run(nEvents); 0049 se->End(); 0050 0051 delete se; 0052 cout << "Analysis Completed" << endl; 0053 0054 gSystem->Exit(0); 0055 } 0056 0057 /*{ */ 0058 0059 0060 /* std::cout << "Starting...\n"; */ 0061 0062 /* Fun4AllServer *se = Fun4AllServer::instance(); */ 0063 /* int verbosity = 0; */ 0064 0065 /* se->Verbosity(verbosity); */ 0066 /* recoConsts *rc = recoConsts::instance(); */ 0067 /* //rc->set_IntFlag("RUNNUMBER",62); */ 0068 0069 0070 /* RetowerCEMC *rcemc = new RetowerCEMC(); */ 0071 /* //rcemc->SetEnergyDistribution(1); */ 0072 /* se->registerSubsystem(rcemc); */ 0073 0074 /* std::cout << "jet stuff...\n"; */ 0075 /* //seeds */ 0076 /* JetReco *towerjetreco = new JetReco(); */ 0077 /* towerjetreco->add_input(new TowerJetInput(Jet::CEMC_TOWER_RETOWER)); */ 0078 /* towerjetreco->add_input(new TowerJetInput(Jet::HCALIN_TOWER)); */ 0079 /* towerjetreco->add_input(new TowerJetInput(Jet::HCALOUT_TOWER)); */ 0080 /* towerjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.2), "AntiKt_Tower_HIRecoSeedsRaw_r02"); */ 0081 /* towerjetreco->set_algo_node("ANTIKT"); */ 0082 /* towerjetreco->set_input_node("TOWER"); */ 0083 0084 /* se->registerSubsystem(towerjetreco); */ 0085 0086 0087 0088 /* std::cout << "UE subtraction stuff...\n"; */ 0089 /* //first UE subtraction pass */ 0090 /* DetermineTowerBackground *dtb = new DetermineTowerBackground(); */ 0091 /* dtb->SetBackgroundOutputName("TowerBackground_Sub1"); */ 0092 /* dtb->SetFlow(G4HIJETS::do_flow); */ 0093 /* dtb->SetSeedType(0); */ 0094 /* dtb->SetSeedJetD(3); */ 0095 0096 /* se->registerSubsystem(dtb); */ 0097 0098 /* CopyAndSubtractJets *casj = new CopyAndSubtractJets(); */ 0099 /* casj->SetFlowModulation(G4HIJETS::do_flow); */ 0100 /* casj->Verbosity(verbosity); */ 0101 /* se->registerSubsystem(casj); */ 0102 0103 0104 0105 /* DetermineTowerBackground *dtb2 = new DetermineTowerBackground(); */ 0106 /* dtb2->SetBackgroundOutputName("TowerBackground_Sub2"); */ 0107 /* dtb2->SetFlow(G4HIJETS::do_flow); */ 0108 /* dtb2->SetSeedType(1); */ 0109 /* dtb2->SetSeedJetPt(7); */ 0110 /* dtb2->Verbosity(verbosity); */ 0111 /* se->registerSubsystem(dtb2); */ 0112 0113 /* //subtract UE from towers */ 0114 /* SubtractTowers *st = new SubtractTowers(); */ 0115 /* st->SetFlowModulation(G4HIJETS::do_flow); */ 0116 /* st->Verbosity(verbosity); */ 0117 /* se->registerSubsystem(st); */ 0118 0119 /* std::cout << "ClusterIso stuff...\n"; */ 0120 /* //I think this goes here? */ 0121 /* ClusterIso *makeClusterEt = new ClusterIso("pythiaEMCalAna",0,3,1,0); */ 0122 /* /1* makeClusterEt -> Verbosity(0); *1/ */ 0123 /* /1* se->registerSubsystem(makeClusterEt); *1/ */ 0124 /* ///??? */ 0125 /* //substract UE from jets */ 0126 /* /1*CopyAndSubtractJets *casj = new CopyAndSubtractJets(); */ 0127 /* casj->SetFlowModulation(G4HIJETS::do_flow); */ 0128 0129 /* se->registerSubsystem(casj); */ 0130 0131 /* //second pass of UE subtraction */ 0132 /* DetermineTowerBackground *dtb2 = new DetermineTowerBackground(); */ 0133 /* dtb2->SetBackgroundOutputName("TowerBackground_Sub2"); */ 0134 /* dtb2->SetFlow(G4HIJETS::do_flow); */ 0135 /* dtb2->SetSeedType(1); */ 0136 /* dtb2->SetSeedJetPt(7); */ 0137 0138 /* se->registerSubsystem(dtb2); */ 0139 0140 /* //now we build our regular jets. Not used for eT analysis right now */ 0141 /* //but could add in function easily. */ 0142 /* /1*towerjetreco = new JetReco(); */ 0143 /* towerjetreco->add_input(new TowerJetInput(Jet::CEMC_TOWER_SUB1)); */ 0144 /* towerjetreco->add_input(new TowerJetInput(Jet::HCALIN_TOWER_SUB1)); */ 0145 /* towerjetreco->add_input(new TowerJetInput(Jet::HCALOUT_TOWER_SUB1)); */ 0146 /* towerjetreco->add_algo(new FastJetAlgoSub(Jet::ANTIKT, 0.2, 1), "AntiKt_Tower_r02_Sub1"); */ 0147 /* towerjetreco->add_algo(new FastJetAlgoSub(Jet::ANTIKT, 0.3, 1), "AntiKt_Tower_r03_Sub1"); */ 0148 /* towerjetreco->add_algo(new FastJetAlgoSub(Jet::ANTIKT, 0.4, 1), "AntiKt_Tower_r04_Sub1"); */ 0149 /* towerjetreco->add_algo(new FastJetAlgoSub(Jet::ANTIKT, 0.5, 1), "AntiKt_Tower_r05_Sub1"); */ 0150 /* towerjetreco->set_algo_node("ANTIKT"); */ 0151 /* towerjetreco->set_input_node("TOWER"); */ 0152 /* towerjetreco->Verbosity(verbosity); */ 0153 /* se->registerSubsystem(towerjetreco); */ 0154 0155 0156 /* std::cout << "more stuff...\n"; */ 0157 0158 /* Fun4AllInputManager *in = new Fun4AllDstInputManager("DSTcalo"); */ 0159 /* in->AddListFile(filelist1,1); */ 0160 /* se->registerInputManager(in); */ 0161 0162 /* Fun4AllInputManager *in2 = new Fun4AllDstInputManager("DSTTruth"); */ 0163 /* in2 -> AddListFile(filelist2,1); */ 0164 /* se -> registerInputManager(in2); */ 0165 0166 /* std::cout << "pythiaEMCalAna stuff...\n"; */ 0167 0168 /* pythiaEMCalAna *eval = new pythiaEMCalAna(outname.c_str()); */ 0169 /* eval -> setGenEvent(1); */ 0170 /* se -> registerSubsystem(eval); */ 0171 0172 /* std::cout << "running events...\n"; */ 0173 0174 /* se -> run(nEvents); */ 0175 /* std::cout << "ending...\n"; */ 0176 /* se -> End(); */ 0177 0178 /* std::cout << "finished!\n"; */ 0179 0180 /*} */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |