attach_mrcc_path_far.h File Reference

Go to the source code of this file.

Functions

JobCPathattach_mrcc_path_far (JobC &jc, JobCPath &attach_to, int spill_m, TString config, bool blinding, SimFlag::SimFlag_t simflag, TString output_filename="ntupleMRNT.root")

Function Documentation

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 Dogwood/headers/attach_mrcc_path_far.h.

References JobCPath::Attach(), JobCModule::Cmd(), JobCPathModule::Create(), JobCNode::FilterOn(), Plot::Format(), SimFlag::kData, SimFlag::kMC, 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 }


Generated on 3 Dec 2018 for loon by  doxygen 1.6.1