ROOT logo
Bool_t ConfigWithFlagsJetSpectrum2();
AliAnalysisTaskJetSpectrum2 *jetspec = 0;

AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(const char* bRec = "jets",const char* bGen = "jetsAODMC_UA104",const char* nonStdFile="",UInt_t filterMask = 32, Int_t iPhysicsSelectionFlag = AliVEvent::kMB,Int_t hjet=0, UInt_t iEventSelectionMask = 0,Int_t iCl = 0, Bool_t bRCSparseDimensions = kFALSE);


AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2Delta(UInt_t filterMask = 32,Bool_t kUseAODMC = kFALSE,Int_t iPhysicsSelectionFlag = AliVEvent::kMB,Int_t hjet=0,UInt_t iFlag = 0xfffffff, UInt_t iEventSelectionMask = 0,char* back = ""){

  TString cBack = back;

  AliAnalysisTaskJetSpectrum2 *js = 0;
  if(kUseAODMC){
    if(iFlag&(1<<0)){ // UA104
      js = AddTaskJetSpectrum2("jets","jetsAODMC_UA104",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);
      js = AddTaskJetSpectrum2("jets","jetsAODMC2_UA104",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);
    }
    if(iFlag&(1<<1)){ // ANTIKT 04
      js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);
      js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC2_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag,  iEventSelectionMask);
      // cross check MC only background subtration
      js = AddTaskJetSpectrum2("jetsAODMC2_FASTJET04","jetsAODMC_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag,  iEventSelectionMask);
    }
    if(iFlag&(1<<2)){ // KT 04
      js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","jetsAODMC_FASTKT04",cBack.Data(),filterMask,iPhysicsSelectionFlag,iEventSelectionMask);
      js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","jetsAODMC2_FASTKT04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);
    }
    if(iFlag&(1<<3)){ // SISCONE 04
      js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","jetsAODMC_SISCONE04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);
      js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","jetsAODMC2_SISCONE04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);
    }
    // here can go other radii
  }
  else { // only the data ... no MC
    if(iFlag&(1<<0)){ // UA104
      js = AddTaskJetSpectrum2("jets","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,1);
    }
    if(iFlag&(1<<1)){ // ANTIKT 04
      js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);
    }
    if(iFlag&(1<<2)){ // KT 04
      js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","",cBack.Data(),filterMask,iPhysicsSelectionFlag,iEventSelectionMask);
    }
    if(iFlag&(1<<3)){ // SISCONE 04
      js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);
    }
  }
  return js;
}


AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(const char* bRec,const char* bGen ,const char* nonStdFile,UInt_t filterMask,Int_t iPhysicsSelectionFlag,Int_t hjet, UInt_t iEventSelectionMask,Int_t iCl, Bool_t bRCSparseDimensions)
{
  // Creates a jet fider task, configures it and adds it to the analysis manager.
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
     ::Error("AddTaskJetSpectrum2", "No analysis manager to connect to.");
    return NULL;
   }  
  
  // Check the analysis type using the event handlers connected to the analysis manager.
  //==============================================================================
  if (!mgr->GetInputEventHandler()) {
    ::Error("AddTaskJetSpectrum2", "This task requires an input event handler");
    return NULL;
  }
  
  TString type = mgr->GetInputEventHandler()->GetDataType();
  TString typeRec(bRec);
  TString typeGen(bGen);
  typeGen.ToUpper();
  typeRec.ToUpper();
  

   // Create the task and configure it.
   //===========================================================================

   jetspec = new  AliAnalysisTaskJetSpectrum2(Form("JetSpectrum2%s-%s_%010d_Class%02d",bRec,bGen,iEventSelectionMask,iCl));
   if(iCl)jetspec->SetEventClass(iCl);

   // add the filter mask for non default jets branches
   TString cAdd("");
   cAdd += Form("_Filter%05d",filterMask);

   
   jetspec->SetTRP(hjet);
   jetspec->SetBranchGen(bGen); 
   //  if(typeGen.Contains("JETSAOD")&&!typeGen.Contains("MC"))jetspec->SetBranchGen(Form("%s%s",bGen,cAdd.Data())); 

   jetspec->SetBranchRec(bRec); 
   // if(typeRec.Contains("JETSAOD")&&!typeRec.Contains("MC"))     jetspec->SetBranchRec(Form("%s%s",bRec,cAdd.Data())); 



   if(type == "AOD"){
     // Assume all jets are not yet produced 
     //     jetspec->SetAODJetInput(kTRUE);
     jetspec->SetAODTrackInput(kTRUE);
     jetspec->SetAODMCInput(kTRUE);
   }
   else{
     if(mgr->GetMCtruthEventHandler()){
       jetspec-> SetAnalysisType(AliAnalysisTaskJetSpectrum2::kAnaMCESD);
     }
   }

   if(typeRec.Contains("AODMC2b")){// work down from the top AODMC2b -> AODMC2 -> AODMC -> AOD
     jetspec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCChargedAcceptance);
   }
   else if (typeRec.Contains("AODMC2")){
     jetspec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);
   }
   else if (typeRec.Contains("AODMC")){
     jetspec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCAll);
   }
   else { // catch akk use AOD
     jetspec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAOD);
   }

   if(typeGen.Contains("AODMC2b")){// work down from the top AODMC2b -> AODMC2 -> AODMC -> AOD
     jetspec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCChargedAcceptance);
   }
   else if (typeGen.Contains("AODMC2")){
     jetspec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);
   }
   else if (typeGen.Contains("AODMC")){
     jetspec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCAll);
   }
   else if (typeGen.Length()>0){ // catch all use AOD
     jetspec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAOD);
   }

   if(iEventSelectionMask)jetspec->SetEventSelectionMask(iEventSelectionMask);

   //   jetspec->SetDebugLevel(10);
   if(!ConfigWithFlagsJetSpectrum2())return 0;

   jetspec->SetUseGlobalSelection(kTRUE); 
   jetspec->SetMinJetPt(-1.);//keep all jets 

   if(bRCSparseDimensions) {
     jetspec->SetNRPBins(100);
     jetspec->SetNMultBins(1);
     jetspec->SetNPtLeadingBins(1);
   }
   
   // to fetch the AOD from the AOD extension ouput 
   if(strlen(nonStdFile))jetspec->SetNonStdFile(nonStdFile);
   mgr->AddTask(jetspec);
     
   // Create ONLY the output containers for the data produced by the task.
   // Get and connect other common input/output containers via the manager as below
   //==============================================================================
   AliAnalysisDataContainer *coutput1_Spec = ;
   if(hjet>0)
     coutput1_Spec = mgr->CreateContainer(Form("pwgje_spec2_%s_%s_%010d_Class%02d_HJ%d",bRec,bGen,iEventSelectionMask,iCl,hjet),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWGJE_spec2_%s_%s_%010d_Class%02d_HJ%d",AliAnalysisManager::GetCommonFileName(),bRec,bGen,iEventSelectionMask,iCl,hjet));
   else
     coutput1_Spec = mgr->CreateContainer(Form("pwgje_spec2_%s_%s_%010d_Class%02d",bRec,bGen,iEventSelectionMask,iCl),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWGJE_spec2_%s_%s_%010d_Class%02d",AliAnalysisManager::GetCommonFileName(),bRec,bGen,iEventSelectionMask,iCl));

   mgr->ConnectInput  (jetspec, 0, mgr->GetCommonInputContainer());
   mgr->ConnectOutput (jetspec, 0, mgr->GetCommonOutputContainer());
   mgr->ConnectOutput (jetspec,  1, coutput1_Spec );
   
   return jetspec;
}

void SetAODInput(AliAnalysisTaskJetSpectrum2 *taskJetSpectrum){
  taskJetSpectrum->SetAODJetInput(kTRUE);
  taskJetSpectrum->SetAODTrackInput(kTRUE);
  // taskJetSpectrum->SetUseGlobalSelection(kFALSE);
}

Bool_t ConfigWithFlagsJetSpectrum2(){
    
  Bool_t bGood1 = kFALSE;
  Bool_t bGood2 = kFALSE;

  
  Int_t nTrigger = AliAnalysisManager::GetGlobalInt("kNTrigger",bGood1);
  
  if(bGood1){
    jetspec->SetNTrigger(nTrigger);
    for(int it = 0;it < nTrigger;it++){
      jetspec->SetTrigger(it,
			  AliAnalysisManager::GetGlobalInt(Form("kTriggerBit%d",it),bGood1),
			  AliAnalysisManager::GetGlobalStr(Form("kTriggerName%d",it),bGood2));
    }
   }
   else {
     Printf("%s%d: kNTrigger not defined",(char*)__FILE__,__LINE__); return kFALSE; 
   }


  Int_t nAcceptance = AliAnalysisManager::GetGlobalInt("kNAcceptanceSpec",bGood1);
  
  if(bGood1){
    jetspec->SetNAcceptance(nAcceptance);
    for(int ia = 0;ia < nAcceptance;ia++){
      jetspec->SetAcceptance(ia,
			     AliAnalysisManager::GetGlobalDbl(Form("kAcceptancePhiMinSpec%d",ia),bGood1),
			     AliAnalysisManager::GetGlobalDbl(Form("kAcceptancePhiMaxSpec%d",ia),bGood1),
			     AliAnalysisManager::GetGlobalDbl(Form("kAcceptanceEtaMinSpec%d",ia),bGood1),
			     AliAnalysisManager::GetGlobalDbl(Form("kAcceptanceEtaMaxSpec%d",ia),bGood1));
    }
   }
   else {
     Printf("%s%d: kNAcceptance not defined",(char*)__FILE__,__LINE__); 
   }

     
   AliAnalysisManager::GetGlobalInt("kPhysicsSelectionFlag",bGood1);if(bGood1){
     jetspec->SelectCollisionCandidates(AliAnalysisManager::GetGlobalInt("kPhysicsSelectionFlag",bGood1));
   }
   else {Printf("%s%d: kPhysicsSelectionFlag not defined",(char*)__FILE__,__LINE__); return kFALSE; }


   AliAnalysisManager::GetGlobalStr("kDeltaAODJetName",bGood1);if(bGood1)jetspec->SetNonStdFile(AliAnalysisManager::GetGlobalStr("kDeltaAODJetName",bGood1));
   else {Printf("%s%d: kDeltaAODJetName not defined",(char*)__FILE__,__LINE__); return kFALSE; }

   AliAnalysisManager::GetGlobalDbl("kTrackEtaWindow",bGood1);if(bGood1)jetspec->SetTrackEtaWindow(AliAnalysisManager::GetGlobalDbl("kTrackEtaWindow",bGood1));
   else {Printf("%s%d: kTrackEtaWindow not defined",(char*)__FILE__,__LINE__); return kFALSE; }

   AliAnalysisManager::GetGlobalDbl("kJetEtaWindow",bGood1);if(bGood1)jetspec->SetJetEtaWindow(AliAnalysisManager::GetGlobalDbl("kJetEtaWindow",bGood1));
   else {Printf("%s%d: kJetEtaWindow not defined",(char*)__FILE__,__LINE__); return kFALSE; }

   
   AliAnalysisManager::GetGlobalInt("kHighPtFilterMask",bGood1);if(bGood1)jetspec->SetFilterMask(AliAnalysisManager::GetGlobalInt("kHighPtFilterMask",bGood1));
   else {Printf("%s%d: kHighPtFilterMask not defined",(char*)__FILE__,__LINE__); return kFALSE; }   
   
   return kTRUE;


}
 AddTaskJetSpectrum2.C:1
 AddTaskJetSpectrum2.C:2
 AddTaskJetSpectrum2.C:3
 AddTaskJetSpectrum2.C:4
 AddTaskJetSpectrum2.C:5
 AddTaskJetSpectrum2.C:6
 AddTaskJetSpectrum2.C:7
 AddTaskJetSpectrum2.C:8
 AddTaskJetSpectrum2.C:9
 AddTaskJetSpectrum2.C:10
 AddTaskJetSpectrum2.C:11
 AddTaskJetSpectrum2.C:12
 AddTaskJetSpectrum2.C:13
 AddTaskJetSpectrum2.C:14
 AddTaskJetSpectrum2.C:15
 AddTaskJetSpectrum2.C:16
 AddTaskJetSpectrum2.C:17
 AddTaskJetSpectrum2.C:18
 AddTaskJetSpectrum2.C:19
 AddTaskJetSpectrum2.C:20
 AddTaskJetSpectrum2.C:21
 AddTaskJetSpectrum2.C:22
 AddTaskJetSpectrum2.C:23
 AddTaskJetSpectrum2.C:24
 AddTaskJetSpectrum2.C:25
 AddTaskJetSpectrum2.C:26
 AddTaskJetSpectrum2.C:27
 AddTaskJetSpectrum2.C:28
 AddTaskJetSpectrum2.C:29
 AddTaskJetSpectrum2.C:30
 AddTaskJetSpectrum2.C:31
 AddTaskJetSpectrum2.C:32
 AddTaskJetSpectrum2.C:33
 AddTaskJetSpectrum2.C:34
 AddTaskJetSpectrum2.C:35
 AddTaskJetSpectrum2.C:36
 AddTaskJetSpectrum2.C:37
 AddTaskJetSpectrum2.C:38
 AddTaskJetSpectrum2.C:39
 AddTaskJetSpectrum2.C:40
 AddTaskJetSpectrum2.C:41
 AddTaskJetSpectrum2.C:42
 AddTaskJetSpectrum2.C:43
 AddTaskJetSpectrum2.C:44
 AddTaskJetSpectrum2.C:45
 AddTaskJetSpectrum2.C:46
 AddTaskJetSpectrum2.C:47
 AddTaskJetSpectrum2.C:48
 AddTaskJetSpectrum2.C:49
 AddTaskJetSpectrum2.C:50
 AddTaskJetSpectrum2.C:51
 AddTaskJetSpectrum2.C:52
 AddTaskJetSpectrum2.C:53
 AddTaskJetSpectrum2.C:54
 AddTaskJetSpectrum2.C:55
 AddTaskJetSpectrum2.C:56
 AddTaskJetSpectrum2.C:57
 AddTaskJetSpectrum2.C:58
 AddTaskJetSpectrum2.C:59
 AddTaskJetSpectrum2.C:60
 AddTaskJetSpectrum2.C:61
 AddTaskJetSpectrum2.C:62
 AddTaskJetSpectrum2.C:63
 AddTaskJetSpectrum2.C:64
 AddTaskJetSpectrum2.C:65
 AddTaskJetSpectrum2.C:66
 AddTaskJetSpectrum2.C:67
 AddTaskJetSpectrum2.C:68
 AddTaskJetSpectrum2.C:69
 AddTaskJetSpectrum2.C:70
 AddTaskJetSpectrum2.C:71
 AddTaskJetSpectrum2.C:72
 AddTaskJetSpectrum2.C:73
 AddTaskJetSpectrum2.C:74
 AddTaskJetSpectrum2.C:75
 AddTaskJetSpectrum2.C:76
 AddTaskJetSpectrum2.C:77
 AddTaskJetSpectrum2.C:78
 AddTaskJetSpectrum2.C:79
 AddTaskJetSpectrum2.C:80
 AddTaskJetSpectrum2.C:81
 AddTaskJetSpectrum2.C:82
 AddTaskJetSpectrum2.C:83
 AddTaskJetSpectrum2.C:84
 AddTaskJetSpectrum2.C:85
 AddTaskJetSpectrum2.C:86
 AddTaskJetSpectrum2.C:87
 AddTaskJetSpectrum2.C:88
 AddTaskJetSpectrum2.C:89
 AddTaskJetSpectrum2.C:90
 AddTaskJetSpectrum2.C:91
 AddTaskJetSpectrum2.C:92
 AddTaskJetSpectrum2.C:93
 AddTaskJetSpectrum2.C:94
 AddTaskJetSpectrum2.C:95
 AddTaskJetSpectrum2.C:96
 AddTaskJetSpectrum2.C:97
 AddTaskJetSpectrum2.C:98
 AddTaskJetSpectrum2.C:99
 AddTaskJetSpectrum2.C:100
 AddTaskJetSpectrum2.C:101
 AddTaskJetSpectrum2.C:102
 AddTaskJetSpectrum2.C:103
 AddTaskJetSpectrum2.C:104
 AddTaskJetSpectrum2.C:105
 AddTaskJetSpectrum2.C:106
 AddTaskJetSpectrum2.C:107
 AddTaskJetSpectrum2.C:108
 AddTaskJetSpectrum2.C:109
 AddTaskJetSpectrum2.C:110
 AddTaskJetSpectrum2.C:111
 AddTaskJetSpectrum2.C:112
 AddTaskJetSpectrum2.C:113
 AddTaskJetSpectrum2.C:114
 AddTaskJetSpectrum2.C:115
 AddTaskJetSpectrum2.C:116
 AddTaskJetSpectrum2.C:117
 AddTaskJetSpectrum2.C:118
 AddTaskJetSpectrum2.C:119
 AddTaskJetSpectrum2.C:120
 AddTaskJetSpectrum2.C:121
 AddTaskJetSpectrum2.C:122
 AddTaskJetSpectrum2.C:123
 AddTaskJetSpectrum2.C:124
 AddTaskJetSpectrum2.C:125
 AddTaskJetSpectrum2.C:126
 AddTaskJetSpectrum2.C:127
 AddTaskJetSpectrum2.C:128
 AddTaskJetSpectrum2.C:129
 AddTaskJetSpectrum2.C:130
 AddTaskJetSpectrum2.C:131
 AddTaskJetSpectrum2.C:132
 AddTaskJetSpectrum2.C:133
 AddTaskJetSpectrum2.C:134
 AddTaskJetSpectrum2.C:135
 AddTaskJetSpectrum2.C:136
 AddTaskJetSpectrum2.C:137
 AddTaskJetSpectrum2.C:138
 AddTaskJetSpectrum2.C:139
 AddTaskJetSpectrum2.C:140
 AddTaskJetSpectrum2.C:141
 AddTaskJetSpectrum2.C:142
 AddTaskJetSpectrum2.C:143
 AddTaskJetSpectrum2.C:144
 AddTaskJetSpectrum2.C:145
 AddTaskJetSpectrum2.C:146
 AddTaskJetSpectrum2.C:147
 AddTaskJetSpectrum2.C:148
 AddTaskJetSpectrum2.C:149
 AddTaskJetSpectrum2.C:150
 AddTaskJetSpectrum2.C:151
 AddTaskJetSpectrum2.C:152
 AddTaskJetSpectrum2.C:153
 AddTaskJetSpectrum2.C:154
 AddTaskJetSpectrum2.C:155
 AddTaskJetSpectrum2.C:156
 AddTaskJetSpectrum2.C:157
 AddTaskJetSpectrum2.C:158
 AddTaskJetSpectrum2.C:159
 AddTaskJetSpectrum2.C:160
 AddTaskJetSpectrum2.C:161
 AddTaskJetSpectrum2.C:162
 AddTaskJetSpectrum2.C:163
 AddTaskJetSpectrum2.C:164
 AddTaskJetSpectrum2.C:165
 AddTaskJetSpectrum2.C:166
 AddTaskJetSpectrum2.C:167
 AddTaskJetSpectrum2.C:168
 AddTaskJetSpectrum2.C:169
 AddTaskJetSpectrum2.C:170
 AddTaskJetSpectrum2.C:171
 AddTaskJetSpectrum2.C:172
 AddTaskJetSpectrum2.C:173
 AddTaskJetSpectrum2.C:174
 AddTaskJetSpectrum2.C:175
 AddTaskJetSpectrum2.C:176
 AddTaskJetSpectrum2.C:177
 AddTaskJetSpectrum2.C:178
 AddTaskJetSpectrum2.C:179
 AddTaskJetSpectrum2.C:180
 AddTaskJetSpectrum2.C:181
 AddTaskJetSpectrum2.C:182
 AddTaskJetSpectrum2.C:183
 AddTaskJetSpectrum2.C:184
 AddTaskJetSpectrum2.C:185
 AddTaskJetSpectrum2.C:186
 AddTaskJetSpectrum2.C:187
 AddTaskJetSpectrum2.C:188
 AddTaskJetSpectrum2.C:189
 AddTaskJetSpectrum2.C:190
 AddTaskJetSpectrum2.C:191
 AddTaskJetSpectrum2.C:192
 AddTaskJetSpectrum2.C:193
 AddTaskJetSpectrum2.C:194
 AddTaskJetSpectrum2.C:195
 AddTaskJetSpectrum2.C:196
 AddTaskJetSpectrum2.C:197
 AddTaskJetSpectrum2.C:198
 AddTaskJetSpectrum2.C:199
 AddTaskJetSpectrum2.C:200
 AddTaskJetSpectrum2.C:201
 AddTaskJetSpectrum2.C:202
 AddTaskJetSpectrum2.C:203
 AddTaskJetSpectrum2.C:204
 AddTaskJetSpectrum2.C:205
 AddTaskJetSpectrum2.C:206
 AddTaskJetSpectrum2.C:207
 AddTaskJetSpectrum2.C:208
 AddTaskJetSpectrum2.C:209
 AddTaskJetSpectrum2.C:210
 AddTaskJetSpectrum2.C:211
 AddTaskJetSpectrum2.C:212
 AddTaskJetSpectrum2.C:213
 AddTaskJetSpectrum2.C:214
 AddTaskJetSpectrum2.C:215
 AddTaskJetSpectrum2.C:216
 AddTaskJetSpectrum2.C:217
 AddTaskJetSpectrum2.C:218
 AddTaskJetSpectrum2.C:219
 AddTaskJetSpectrum2.C:220
 AddTaskJetSpectrum2.C:221
 AddTaskJetSpectrum2.C:222
 AddTaskJetSpectrum2.C:223
 AddTaskJetSpectrum2.C:224
 AddTaskJetSpectrum2.C:225
 AddTaskJetSpectrum2.C:226
 AddTaskJetSpectrum2.C:227
 AddTaskJetSpectrum2.C:228
 AddTaskJetSpectrum2.C:229
 AddTaskJetSpectrum2.C:230
 AddTaskJetSpectrum2.C:231
 AddTaskJetSpectrum2.C:232
 AddTaskJetSpectrum2.C:233
 AddTaskJetSpectrum2.C:234
 AddTaskJetSpectrum2.C:235