Go to the source code of this file.
Functions | |
| JobCPath & | attach_mrcc_path_far (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_far.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("ChopModule", "Reco");
00022 muonreco.PushBack("BiggestChopModule", "Reco");
00023 muonreco.PushBack("DeMuxDigitListModule", "Reco");
00024 muonreco.PushBack("StripSRListModule", "Reco");
00025 muonreco.PushBack("SliceSRListModule", "Reco");
00026 muonreco.PushBack("TrackCamListModule", "Reco");
00027 muonreco.PushBack("FitTrackCamListModule", "Reco");
00028 muonreco.PushBack("ClusterSRListModule", "Reco");
00029 muonreco.PushBack("SubShowerSRListModule", "Reco");
00030 muonreco.PushBack("ShowerSRListModule", "Reco");
00031 muonreco.PushBack("EventSRListModule", "Reco");
00032 muonreco.PushBack("RecordSetupModule", "Reco");
00033
00034 if(simflag == SimFlag::kData)
00035 muonreco.PushBack("NtpBDLite", "Reco");
00036
00037 muonreco.PushBack("NtpStModule", "Get");
00038 muonreco.PushBack("NtpSRModule", "Reco");
00039
00040 if(simflag == SimFlag::kMC){
00041 muonreco.PushBack("NtpMCModule", "Reco"); //Necessary to write the MC info tree
00042 JobCModule& ntpmc = muonreco.Mod("NtpMCModule");
00043 ntpmc.Set("UseStandard=1");
00044 ntpmc.Set("RecordName=MuonRemoved");
00045
00046 muonreco.PushBack("NtpTHModule", "Reco"); //Necessary to write the MC th tree
00047 JobCModule& ntpth = muonreco.Mod("NtpTHModule");
00048 ntpth.Set("UseStandard=1");
00049 ntpth.Set("RecordName=MuonRemoved");
00050 }
00051
00052 muonreco.PushBack("FitTrackSAListModule", "Reco");
00053 muonreco.PushBack("NtpFitSAModule", "Reco");
00054 muonreco.PushBack("NtpMRModule", "Reco");
00055 muonreco.PushBack("Output", "Put");
00056
00057 removal.Attach(&muonreco);
00058
00059 removal.SetAllFilters(1);
00060
00061 removal.Mod("FiltTriggerPrescale").Set(TString::Format("Spill_N=1 Spill_M=%d", spill_m));
00062
00063 muonreco.SetAllFilters(0);
00064
00065 //configure my code
00066 muonreco.Mod("RemoveMuon").Set("StripListOut=stripdigitlist");
00067 muonreco.Mod("StripCands").Set("keepdigitlist=stripdigitlist");
00068
00069 //Post Muon removal reconstruction
00070 JobCModule& stripsrlist = muonreco.Mod("StripSRListModule");
00071 stripsrlist.Set("ListIn=canddigitlist");
00072
00073 JobCModule& slicesrlist = muonreco.Mod("SliceSRListModule");
00074 slicesrlist.Set(("SliceListAlgConfig="+config).Data());
00075 slicesrlist.Set("ListIn=CandStripList");
00076
00077 JobCModule& trackcamlist = muonreco.Mod("TrackCamListModule");
00078 trackcamlist.Set("TrackListAlgConfig=default");
00079 trackcamlist.Set("NameListIn=CandSliceList");
00080 trackcamlist.Set("NameListOut=CandTrackSRList");
00081
00082 JobCModule& fittrackcam = muonreco.Mod("FitTrackCamListModule");
00083 fittrackcam.Set("NameListIn=CandTrackSRList");
00084 fittrackcam.Set("UseGeoSwimmer=1");
00085
00086 muonreco.Mod("ClusterSRListModule").Set(("ClusterListAlgConfig="+config).Data());
00087 muonreco.Mod("SubShowerSRListModule").Set("SubShowerSRListAlgConfig=default");
00088 JobCModule& showersrlist = muonreco.Mod("ShowerSRListModule");
00089 showersrlist.Set("ShowerListAlgorithm=AlgShowerSSList");
00090 showersrlist.Set("ShowerListAlgConfig=default");
00091 showersrlist.Set("ListOut=CandShowerSRList");
00092
00093 JobCModule& eventsrlist = muonreco.Mod("EventSRListModule");
00094 eventsrlist.Set("EventListAlgorithm=AlgEventSSList");
00095 eventsrlist.Set(("EventListAlgConfig="+config).Data());
00096
00097
00098
00099
00100
00101
00102
00103 muonreco.Mod("ChopModule").Set("ChopAlgorithm=AlgChopListFar");
00104 muonreco.Mod("BiggestChopModule").Set("MinEnergy=0.0"); //No cut.
00105 muonreco.Mod("BiggestChopModule").Set("OmitLiEvents=1"); //kill LI
00106 muonreco.Mod("BiggestChopModule").Set("LiVetoWindowLow=-1.0e-6");
00107 muonreco.Mod("BiggestChopModule").Set("LiVetoWindowHigh=31.0e-6");
00108
00109
00110 muonreco.Mod("DeMuxDigitListModule").Set("SwitchPersToTemp=1");
00111 muonreco.Mod("DeMuxDigitListModule").Set("NameListOut=altdemux");
00112 muonreco.Mod("DeMuxDigitListModule").Set("DeMuxDigitListAlgConfig=devel");
00113 muonreco.Mod("StripSRListModule").Set("ListIn=altdemux");
00114
00115
00116
00117
00118
00119 //configure output
00120 JobCModule& output = muonreco.Mod("Output");
00121 output.Set("FileName="+output_filename);
00122
00123 muonreco.Mod("NtpStModule").Set("RecordName=MuonRemoved");
00124 muonreco.Mod("NtpSRModule").Set("UseStandard=1");
00125 muonreco.Mod("NtpSRModule").Set("RecordName=MuonRemoved");
00126
00127 output.Cmd("DefineStream NtpSt NtpStRecord MuonRemoved");
00128 output.Cmd("DefineStream NtpMR NtpMRRecord");
00129 output.Set("Streams=NtpSt,NtpMR");
00130
00131
00132 if(blinding){
00133 JobCPath& mrblindpath = jc.Path.Create("mrblindpath",
00134 "Blinder::Ana "
00135 );
00136
00137 //Explicitly turn on the Blinder Filtering
00138 mrblindpath.Node("Blinder::Ana").FilterOn();
00139
00140 JobCPath& mrblindSR = jc.Path.Create("mrblindSR",
00141 "Output::Put ");
00142
00143 mrblindSR.SetAllFilters(false);
00144
00145 mrblindpath.Attach(&mrblindSR);
00146 muonreco.Attach(&mrblindpath);
00147
00148 JobCModule& op = mrblindSR.Mod("Output");
00149 op.Set("FileName=ntupleMRNT.root");
00150 op.Cmd("DefineStream NtpSt NtpStRecord MuonRemoved");
00151 op.Cmd("DefineStream NtpMR NtpMRRecord");
00152 op.Set("Streams=NtpSt,NtpMR");
00153 } // end if blinding
00154
00155
00156 attach_to.Attach(&removal);
00157
00158 return muonreco;
00159 }
|
1.3.9.1