You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adding dynamic columns for readability. Adding more centrality information in derived data. Removing useless histograms from derived data consumer output and cleaning folder structure
// (TODO: Add a configurable to select charged jets, neutral jets, full jets, photon-tagged jets and so on)
422
+
// (TODO: create a reasonable track selection for full, photon, and Z-tagged jet tracks, including detector angular acceptance parameters for EMCal)
421
423
struct : ConfigurableGroup {
422
424
std::string prefix = "jetConfigurations"; // JSON group name
423
425
Configurable<double> minJetPt{"minJetPt", 30.0f, "Minimum reconstructed pt of the jet (GeV/c)"}; // Something in between pp and PbPb minima. Change for bkgSubtraction true or false!
Configurable<int> bkgSubtraction{"bkgSubtraction", kNoSubtraction, "Jet background subtraction: No subtraction (false), Area (true), Constituent (TODO)"}; // Selection bool for background subtraction strategy
430
432
Configurable<float> GhostedAreaSpecRapidity{"GhostedAreaSpecRapidity", 1.1, "Max ghost particle rapidity for jet area estimates"}; // At least 1.0 for tracks and jets within the |eta| < 0.9 window of ITS+TPC
// (TODO: create a reasonable track selection for full jets and photon/Z-tagged jet tracks, including detector angular acceptance parameters for EMCal)
434
+
Configurable<int> jetType{"jetType", kChargedJet, "Jet type: 0: Charged Jet, 1: Full Jet, 2: Photon-tagged, 3: Z-tagged"};// TODO: implement full, photon and Z jets
435
+
// (TODO: check the maximum pT of jets used in my analyses! If it is way too hard, it might not be the best jet to use!)
434
436
437
+
// (TODO: Check which of these configurables might be useful for the photon-tagged and regular analyses)
435
438
// // Configurables from JE PWG:
436
-
// // (TODO: check the maximum pT of jets used in my analyses! If it is way too hard, it might not be the best jet to use!)
// Configurable<int> ghostRepeat{"ghostRepeat", 0, "set to 0 to gain speed if you dont need area calculation"};
441
443
// Configurable<bool> DoTriggering{"DoTriggering", false, "used for the charged jet trigger to remove the eta constraint on the jet axis"};
442
444
// Configurable<float> jetAreaFractionMin{"jetAreaFractionMin", -99.0, "used to make a cut on the jet areas"};
443
-
444
-
// (TODO: Check which of these configurables might be useful for the photon-tagged and regular analyses)
445
-
// // event level configurables
446
-
// Configurable<int> trackOccupancyInTimeRangeMax{"trackOccupancyInTimeRangeMax", 999999, "maximum occupancy of tracks in neighbouring collisions in a given time range"};
447
-
// Configurable<std::string> triggerMasks{"triggerMasks", "", "possible JE Trigger masks: fJetChLowPt,fJetChHighPt,fTrackLowPt,fTrackHighPt,fJetD0ChLowPt,fJetD0ChHighPt,fJetLcChLowPt,fJetLcChHighPt,fEMCALReadout,fJetFullHighPt,fJetFullLowPt,fJetNeutralHighPt,fJetNeutralLowPt,fGammaVeryHighPtEMCAL,fGammaVeryHighPtDCAL,fGammaHighPtEMCAL,fGammaHighPtDCAL,fGammaLowPtEMCAL,fGammaLowPtDCAL,fGammaVeryLowPtEMCAL,fGammaVeryLowPtDCAL"};
448
-
// Configurable<bool> skipMBGapEvents{"skipMBGapEvents", true, "decide to run over MB gap events or not"};
449
-
// Configurable<bool> applyRCTSelections{"applyRCTSelections", true, "decide to apply RCT selections"};
int selectionIdx = 0; // To loop over QA histograms. First bin is already filled: first call will already increment this index (not actually the bin index, but a value in the X axis).
1040
1032
if (eventSelections.requireSel8 && !collision.sel8()) returnfalse;
boolpassesGenericV0Cuts(TV0 const& v0){// (TODO: cache the posTrackExtra and neg track objects outside the V0cuts and hypothesis dependent cuts and then pass them by reference? May be quicker!)
1143
+
boolpassesGenericV0Cuts(TV0 const& v0){
1152
1144
// Base topological variables (high rejection, low cost checks)
1153
1145
if (v0.v0radius() < v0Selections.v0radius) returnfalse;
if (analyseLambda) isLambda = passesLambdaLambdaBarHypothesis(v0, collision, true);
1637
1631
if (analyseAntiLambda) isAntiLambda = passesLambdaLambdaBarHypothesis(v0, collision, false);
1638
1632
1639
-
if (!isLambda && !isAntiLambda) continue; // Candidate is not considered to be a Lambda (TODO: expand this to a full if block with QA about rejections)
1640
-
// hasValidV0 = true;
1633
+
if (!isLambda && !isAntiLambda) continue; // Candidate is not considered to be a Lambda
1641
1634
1642
1635
if (doArmenterosQA) histos.fill(HIST("GeneralQA/h2dArmenterosFullSelected"), v0.alpha(), v0.qtarm()); // cross-check
1643
1636
if (isLambda && !isAntiLambda) histos.fill(HIST("GeneralQA/h2dArmenterosFullSelectedLambda"), v0.alpha(), v0.qtarm());
0 commit comments