Go to the source code of this file.
Functions | |
| JobCPath & | attach_mrcc_path_near (JobC &jc, JobCPath &attach_to, int spill_m, TString config, bool blinding, SimFlag::SimFlag_t simflag, TString output_filename="ntupleMRNT.root") |
|
||||||||||||||||||||||||||||||||
|
Definition at line 1 of file attach_mrcc_path_near.h. References JobCPath::Attach(), JobCModule::Cmd(), JobCPathModule::Create(), Anp::Data, JobCNode::FilterOn(), jc, JobCPath::Mod(), JobCPath::Node(), JobC::Path, JobCPath::PushBack(), JobCModule::Set(), and JobCPath::SetAllFilters(). 00008 {
00009 assert(simflag == SimFlag::kData || simflag == SimFlag::kMC);
00010
00011 // For use in making unique job path names
00012 const TString blindStr = blinding ? "Blind" : "";
00013
00014 JobCPath& removal = jc.Path.Create("muonremoval"+blindStr,
00015 "FiltTriggerPrescale::Ana ");
00016
00017 JobCPath& muonreco = jc.Path.Create("muonreco"+blindStr);
00018
00019 muonreco.PushBack("RemoveMuon", "Reco");
00020 muonreco.PushBack("StripCands", "Reco");
00021 muonreco.PushBack("StripSRListModule", "Reco");
00022 muonreco.PushBack("SliceSRListModule", "Reco");
00023 muonreco.PushBack("TrackCamListModule", "Reco");
00024 muonreco.PushBack("FitTrackCamListModule", "Reco");
00025 muonreco.PushBack("ClusterSRListModule", "Reco");
00026 muonreco.PushBack("SubShowerSRListModule", "Reco");
00027 muonreco.PushBack("ShowerSRListModule", "Reco");
00028 muonreco.PushBack("EventSRListModule", "Reco");
00029 muonreco.PushBack("RecordSetupModule", "Reco");
00030
00031 if(simflag == SimFlag::kData)
00032 muonreco.PushBack("NtpBDLite", "Reco");
00033
00034 muonreco.PushBack("NtpStModule", "Get");
00035 muonreco.PushBack("NtpSRModule", "Reco");
00036
00037 if(simflag == SimFlag::kMC){
00038 muonreco.PushBack("NtpMCModule", "Reco"); //Necessary to write the MC info tree
00039 JobCModule& ntpmc = muonreco.Mod("NtpMCModule");
00040 ntpmc.Set("UseStandard=1");
00041 ntpmc.Set("RecordName=MuonRemoved");
00042
00043 muonreco.PushBack("NtpTHModule", "Reco"); //Necessary to write the MC th tree
00044 JobCModule& ntpth = muonreco.Mod("NtpTHModule");
00045 ntpth.Set("UseStandard=1");
00046 ntpth.Set("RecordName=MuonRemoved");
00047 }
00048
00049 muonreco.PushBack("FitTrackSAListModule", "Reco");
00050 muonreco.PushBack("NtpFitSAModule", "Reco");
00051 muonreco.PushBack("NtpMRModule", "Reco");
00052 muonreco.PushBack("Output", "Put");
00053
00054 removal.Attach(&muonreco);
00055
00056 removal.SetAllFilters(1);
00057
00058 removal.Mod("FiltTriggerPrescale").Set(TString::Format("Spill_N=1 Spill_M=%d", spill_m));
00059
00060 muonreco.SetAllFilters(0);
00061
00062 //configure my code
00063 muonreco.Mod("RemoveMuon").Set("StripListOut=stripdigitlist");
00064 muonreco.Mod("StripCands").Set("keepdigitlist=stripdigitlist");
00065
00066 //Post Muon removal reconstruction
00067 JobCModule& stripsrlist = muonreco.Mod("StripSRListModule");
00068 stripsrlist.Set("ListIn=canddigitlist");
00069
00070 JobCModule& slicesrlist = muonreco.Mod("SliceSRListModule");
00071 slicesrlist.Set(("SliceListAlgConfig="+config).Data());
00072 slicesrlist.Set("ListIn=CandStripList");
00073
00074 JobCModule& trackcamlist = muonreco.Mod("TrackCamListModule");
00075 trackcamlist.Set("TrackListAlgConfig=default");
00076 trackcamlist.Set("NameListIn=CandSliceList");
00077 trackcamlist.Set("NameListOut=CandTrackSRList");
00078
00079 JobCModule& fittrackcam = muonreco.Mod("FitTrackCamListModule");
00080 fittrackcam.Set("NameListIn=CandTrackSRList");
00081 fittrackcam.Set("UseGeoSwimmer=1");
00082
00083 muonreco.Mod("ClusterSRListModule").Set(("ClusterListAlgConfig="+config).Data());
00084 muonreco.Mod("SubShowerSRListModule").Set("SubShowerSRListAlgConfig=default");
00085 JobCModule& showersrlist = muonreco.Mod("ShowerSRListModule");
00086 showersrlist.Set("ShowerListAlgorithm=AlgShowerSSList");
00087 showersrlist.Set("ShowerListAlgConfig=default");
00088 showersrlist.Set("ListOut=CandShowerSRList");
00089
00090 JobCModule& eventsrlist = muonreco.Mod("EventSRListModule");
00091 eventsrlist.Set("EventListAlgorithm=AlgEventSSList");
00092 eventsrlist.Set(("EventListAlgConfig="+config).Data());
00093
00094
00095 //configure output
00096 JobCModule& output = muonreco.Mod("Output");
00097 output.Set("FileName="+output_filename);
00098
00099 muonreco.Mod("NtpStModule").Set("RecordName=MuonRemoved");
00100 muonreco.Mod("NtpSRModule").Set("UseStandard=1");
00101 muonreco.Mod("NtpSRModule").Set("RecordName=MuonRemoved");
00102
00103 output.Cmd("DefineStream NtpSt NtpStRecord MuonRemoved");
00104 output.Cmd("DefineStream NtpMR NtpMRRecord");
00105 output.Set("Streams=NtpSt,NtpMR");
00106
00107
00108 if(blinding){
00109 JobCPath& mrblindpath = jc.Path.Create("mrblindpath",
00110 "Blinder::Ana "
00111 );
00112
00113 //Explicitly turn on the Blinder Filtering
00114 mrblindpath.Node("Blinder::Ana").FilterOn();
00115
00116 JobCPath& mrblindSR = jc.Path.Create("mrblindSR",
00117 "Output::Put ");
00118
00119 mrblindSR.SetAllFilters(false);
00120
00121 mrblindpath.Attach(&mrblindSR);
00122 muonreco.Attach(&mrblindpath);
00123
00124 JobCModule& op = mrblindSR.Mod("Output");
00125 op.Set("FileName=ntupleMRNT.root");
00126 op.Cmd("DefineStream NtpSt NtpStRecord MuonRemoved");
00127 op.Cmd("DefineStream NtpMR NtpMRRecord");
00128 op.Set("Streams=NtpSt,NtpMR");
00129 } // end if blinding
00130
00131
00132 attach_to.Attach(&removal);
00133
00134 return muonreco;
00135 }
|
1.3.9.1