#------------------------------------------------------------------------------ # etaped.tcl # for data # gamma gamma -> etap with two tagged e #------------------------------------------------------------------------------ # always source the error logger early in your main tcl script sourceFoundFile ErrLogger/ErrLog.tcl sourceFoundFile FrameScripts/FwkCfgVar.tcl sourceFoundFile FrameScripts/talkto.tcl # Disable the use of envvars set ProdTclOnly true # set the error logging level to 'warning'. If you encounter a configuration # error you can get more information using 'trace' ErrLoggingLevel warning ## allowed values of BetaMiniReadPersistence are (currently) "Kan", "Bdb" ## FwkCfgVar BetaMiniReadPersistence Kan ## allowed (non-expert) values of levelOfDetail are "micro", "cache", "extend" ## or "refit" ## FwkCfgVar levelOfDetail "cache" ## allowed values of ConfigPatch are "Run1", "Run2" or "MC". This MUST be set ## consistent ## with your input data type or you will get INCONSISTENT OR ## INCORRECT RESULTS ## FwkCfgVar ConfigPatch "Run1" #FwkCfgVar ConfigPatch "Run2" #FwkCfgVar ConfigPatch "MC" ## ## Set the number of events to run. If this isn't set, all events in the ## input collections will be processed. ## #FwkCfgVar NEvent ## input collections echo UserTcl if [ info exists env(UserTcl) ] { echo source $env(UserTcl) source ./$env(UserTcl) } ## choose the flavor of ntuple to write (hbook or root) and the file name ## set BetaMiniTuple "hbook" set histFileName "$env(UserHbook)" sourceFoundFile BetaMiniUser/btaMiniPhysics.tcl sourceFoundFile CompositionSequences/CompPsiInitSequence.tcl seq append BetaMiniPhysicsSequence -a PidSequence CompPsiInitSequence talkto PidLHElectronsGTL { unrefinedListName set eMicroLoose } talkto eBremRecoPID { inputList0 set eMicroLoose } sequence create MyAnalysis mod clone TagFilterByValue TagPi0 seq append BetaMiniReadSequence -a KanEventUpdateTag TagPi0 talkto TagPi0 { TagValueName set nGoodTrkLoose TagValueType set Integer TagValueMinimum set 4 TagValueMaximum set 4 assertIfMissing set true show } mod clone SmpSubListerDefiner MyGamma sequence append MyAnalysis MyGamma catch { setProduction MyGamma } talkto MyGamma { unrefinedListName set "GoodPhotonLoose" selectors set "LabE 0.05:10.0" } mod clone SmpMakerDefiner Mypi0 sequence append MyAnalysis Mypi0 catch { setProduction Mypi0 } talkto Mypi0 { decayMode set "pi0 -> gamma gamma" daughterListNames set "MyGamma" daughterListNames set "MyGamma" preFitSelectors set "Mass 0.06:0.20" fittingAlgorithm set "Add4" fitConstraints set "PrimaryVertex" postFitSelectors set "Mass 0.06:0.20" } mod clone SmpRefitterDefiner Mypi0Mass sequence append MyAnalysis Mypi0Mass catch { setProduction Mypi0Mass } talkto Mypi0Mass { unrefinedListName set Mypi0 fittingAlgorithm set "Add4" fitConstraints set "Mass" fitConstraints set "Momentum" } mod clone SmpMakerDefiner MyEta2g sequence append MyAnalysis MyEta2g catch { setProduction MyEta2g } talkto MyEta2g { decayMode set "eta -> pi+ pi- pi0" daughterListNames set "piCombinedVeryLoose" daughterListNames set "piCombinedVeryLoose" daughterListNames set "Mypi0Mass" preFitSelectors set "Mass 0.40:0.70" fittingAlgorithm set "Add4" fitConstraints set "PrimaryVertex" postFitSelectors set "Mass 0.45:0.65" } mod clone SmpRefitterDefiner MyEta2gMass sequence append MyAnalysis MyEta2gMass catch { setProduction MyEta2gMass } talkto MyEta2gMass { unrefinedListName set MyEta2g fittingAlgorithm set "Add4" fitConstraints set "Mass" fitConstraints set "Momentum" } mod clone SmpMakerDefiner MyEtap sequence append MyAnalysis MyEtap catch { setProduction MyEtap } talkto MyEtap { decayMode set "eta' -> pi+ pi- eta" daughterListNames set "piCombinedVeryLoose" daughterListNames set "piCombinedVeryLoose" daughterListNames set "MyEta2gMass" preFitSelectors set "CmsCosTheta 0.0:1.1" preFitSelectors set "Mass 0.9:1.4" fittingAlgorithm set "Add4" fitConstraints set "PrimaryVertex" postFitSelectors set "Mass 0.9:1.4" postFitSelectors set "CmsCosTheta 0.99:1.1" } mod clone SmpMakerDefiner MyEtap1 sequence append MyAnalysis MyEtap1 catch { setProduction MyEtap1 } talkto MyEtap1 { decayMode set "eta' -> pi+ pi- eta" daughterListNames set "piCombinedVeryLoose" daughterListNames set "piCombinedVeryLoose" daughterListNames set "MyEta2gMass" preFitSelectors set "CmsCosTheta -1.1:0." preFitSelectors set "Mass 0.9:1.4" fittingAlgorithm set "Add4" fitConstraints set "PrimaryVertex" postFitSelectors set "Mass 0.9:1.4" postFitSelectors set "CmsCosTheta -1.1:-0.99" } mod clone SmpMergerDefiner MyPsi sequence append MyAnalysis MyPsi catch { setProduction MyPsi } talkto MyPsi { inputListNames set "MyEtap" inputListNames set "MyEtap1" disableCloneCheck set true } path append Everything MyAnalysis #..Use BtuTupleMaker to write out ntuples for SimpleComposition job path append Everything BtuTupleMaker talkto BtuTupleMaker { writeEveryEvent set false listToDump set MyPsi fillMC set true mcBlockContents set "Mass CMMomentum Momentum" eventBlockContents set "EventID CMp4" eventTagsInt set "nTracks nGoodTrkLoose" eventTagsBool set "BGFMultiHadron BGFNeutralHadron BGFMuMu BGFTau BGFTwoProng BGFPhiGamma BGFAllNeutralTwoPhoton BGFIsr BGFRadTwoProng BGFHighMassHadron BGFTwoPhotonTwoTrack DigiFDchEmcPreVeto DigiFL1Open DigiFL3Open L3OutDch L3OutEmc" ntpBlockConfigs set "eta' etap 3 50" ntpBlockConfigs set "eta eta 3 50" ntpBlockConfigs set "pi0 pi0 2 50" ntpBlockConfigs set "pi+ pi 0 50" ntpBlockConfigs set "gamma gamma 0 50" ntpBlockToTrk set "pi" ntpBlockContents set "etap : Mass Momentum CMMomentum" ntpBlockContents set "eta: Momentum CMMomentum" ntpAuxListContents set "eta : MyEta2g : r : Mass" ntpBlockContents set "pi0: Momentum CMMomentum" ntpAuxListContents set "pi0 : Mypi0 : r : Mass" ntpBlockContents set "pi : Momentum CMMomentum DocaXY" fillAllCandsInList set "TRK ChargedTracks" fillAllCandsInList set "gamma CalorNeutral" ntpBlockContents set "gamma : Momentum CMMomentum" ntpBlockContents set "TRK : Momentum CMMomentum DocaXY" trkExtraContents set BitMap:piSelectorsMap,eSelectorsMap,KSelectorsMap,muSelectorsMap } echo mod talk evtcounter mod talk EvtCounter printFreq set 10000 exit action enable HistoDirAction action list echo Starting event loop module clone TagFilterByValue Tag_A0nTracks mod talk Tag_A0nTracks TagValueName set nTracks TagValueType set Integer TagValueMinimum set 4 TagValueMaximum set 4 assertIfMissing set true exit sequence append BetaMiniReadSequence -a KanEventUpdateTag Tag_A0nTracks path list if [info exists NEvent] { ev begin -nev $NEvent } else { ev begin } exit