Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:13:22

0001 #pragma once
0002 #if ROOT_VERSION_CODE >= ROOT_VERSION(6,00,0)
0003 #include <fun4all/SubsysReco.h>
0004 #include <fun4all/Fun4AllServer.h>
0005 #include <fun4all/Fun4AllInputManager.h>
0006 #include <fun4all/Fun4AllDstInputManager.h>
0007 
0008 #include <fun4all/Fun4AllDstOutputManager.h>
0009 #include <fun4all/Fun4AllOutputManager.h>
0010 #include <fun4all/Fun4AllServer.h>
0011 
0012 #include <phool/PHRandomSeed.h>
0013 #include <phool/recoConsts.h>
0014 
0015 #include <g4centrality/PHG4CentralityReco.h>
0016 
0017 #include "HIJetReco_softdrop.C"
0018 #include <G4_TopoClusterReco.C>
0019 #include <caloreco/RawClusterBuilderTopo.h>
0020 #include <jetvalidation/JetValidationTC.h>
0021 
0022 R__LOAD_LIBRARY(libfun4all.so)
0023 R__LOAD_LIBRARY(libg4jets.so)
0024 R__LOAD_LIBRARY(libjetbackground.so)
0025 R__LOAD_LIBRARY(libJetValidationTC.so)
0026 R__LOAD_LIBRARY(libg4centrality.so)
0027 R__LOAD_LIBRARY(libcalo_reco.so)
0028 R__LOAD_LIBRARY(libg4dst.so)
0029 
0030 
0031 #endif
0032 void Fun4All_JetVal(const char *filelisttruth = "dst_truth_jet.list",
0033                     const char *filelistcalo = "dst_calo_cluster.list",
0034             const char *filelistglobal = "dst_global.list",
0035             const char *outname = "outputest.root", float minJetPt = 0.)
0036 {
0037 
0038   std::string jetNode = "AntiKt_TopoCluster_Unsubtracted_r04";
0039   Fun4AllServer *se = Fun4AllServer::instance();
0040   int verbosity = 5;
0041 
0042   se->Verbosity(verbosity);
0043   recoConsts *rc = recoConsts::instance();
0044 
0045   PHG4CentralityReco *cent = new PHG4CentralityReco();
0046   cent->Verbosity(verbosity);
0047   cent->GetCalibrationParameters().ReadFromFile("centrality", "xml", 0, 0, string(getenv("CALIBRATIONROOT")) + string("/Centrality/"));
0048   se->registerSubsystem( cent );
0049   
0050   Enable::VERBOSITY = verbosity;
0051   
0052   
0053   RawClusterBuilderTopo* ClusterBuilder1 = new RawClusterBuilderTopo("HcalRawClusterBuilderTopo1");
0054   ClusterBuilder1->Verbosity(verbosity);
0055   ClusterBuilder1->set_nodename("TOPOCLUSTER_EMCAL");
0056   ClusterBuilder1->set_enable_HCal(false);
0057   ClusterBuilder1->set_enable_EMCal(true);
0058   ClusterBuilder1->set_noise(0.02, 0.03, 0.03);
0059   ClusterBuilder1->set_significance(4.0, 2.0, 1.0);
0060   ClusterBuilder1->allow_corner_neighbor(true);
0061   ClusterBuilder1->set_do_split(true);
0062   ClusterBuilder1->set_minE_local_max(1.0, 2.0, 0.5);
0063   ClusterBuilder1->set_R_shower(0.025);
0064   se->registerSubsystem(ClusterBuilder1);
0065 
0066   RawClusterBuilderTopo* ClusterBuilder2 = new RawClusterBuilderTopo("HcalRawClusterBuilderTopo2");
0067   ClusterBuilder2->Verbosity(verbosity);
0068   ClusterBuilder2->set_nodename("TOPOCLUSTER_HCAL");
0069   ClusterBuilder2->set_enable_HCal(true);
0070   ClusterBuilder2->set_enable_EMCal(false);
0071   ClusterBuilder2->set_noise(0.01, 0.03, 0.03);
0072   ClusterBuilder2->set_significance(4.0, 2.0, 1.0);
0073   ClusterBuilder2->allow_corner_neighbor(true);
0074   ClusterBuilder2->set_do_split(true);
0075   ClusterBuilder2->set_minE_local_max(1.0, 2.0, 0.5);
0076   ClusterBuilder2->set_R_shower(0.025);
0077   se->registerSubsystem(ClusterBuilder2);
0078 /*
0079   RawClusterBuilderTopo* ClusterBuilder3 = new RawClusterBuilderTopo("HcalRawClusterBuilderTopo3");
0080   ClusterBuilder3->Verbosity(verbosity);
0081   ClusterBuilder3->set_nodename("TOPOCLUSTER_ALLCALO");
0082   ClusterBuilder3->set_enable_HCal(true);
0083   ClusterBuilder3->set_enable_EMCal(true);
0084   ClusterBuilder3->set_noise(0.01, 0.03, 0.03);
0085   ClusterBuilder3->set_significance(4.0, 2.0, 1.0);
0086   ClusterBuilder3->allow_corner_neighbor(true);
0087   ClusterBuilder3->set_do_split(true);
0088   ClusterBuilder3->set_minE_local_max(1.0, 2.0, 0.5);
0089   ClusterBuilder3->set_R_shower(0.025);
0090   se->registerSubsystem(ClusterBuilder3);*/
0091 
0092   //TopoClusterReco();
0093 
0094   HIJetReco_softdrop();
0095 
0096   JetValidationTC *myJetVal = new JetValidationTC(jetNode, "AntiKt_Truth_r04", outname);
0097 
0098   myJetVal->setPtRange(5, 100);
0099   myJetVal->setEtaRange(-0.7, 0.7);
0100   myJetVal->doUnsub(0);
0101   myJetVal->doTruth(0);
0102   myJetVal->doSeeds(1);
0103   myJetVal->doClusters(1);
0104   myJetVal->setJetPtThreshold(minJetPt);
0105   myJetVal->setMinClusterE(0.8);
0106   myJetVal->setMinClusterDeltaR(0.08);
0107   myJetVal->setMinPhotonProb(0.1);
0108   myJetVal->setMaxdR(0.4);
0109   myJetVal->setClusterType("CLUSTERINFO_POS_COR_CEMC");
0110   myJetVal->removeClustersInJets(1);
0111   se->registerSubsystem(myJetVal);
0112 
0113   //We need to remove all DST inputs other than DSTcalo for data
0114  
0115   /*
0116   Fun4AllInputManager *intrue = new Fun4AllDstInputManager("DSTtruth");
0117   intrue->AddListFile(filelisttruth,1);
0118   se->registerInputManager(intrue);*/
0119 
0120   Fun4AllInputManager *in2 = new Fun4AllDstInputManager("DSTcalo");
0121   in2->AddFile(filelistcalo);
0122   se->registerInputManager(in2);
0123 
0124   /*
0125   Fun4AllInputManager *in3 = new Fun4AllDstInputManager("DSTglobal");
0126   in3->AddListFile(filelistglobal,1);
0127   se->registerInputManager(in3);*/
0128   
0129   //se->skip(1000);
0130   se->run(1200);
0131   se->End();
0132 
0133   gSystem->Exit(0);
0134   return 0;
0135 }