ROOT logo
void InitHistograms(AliDielectron *die, Int_t cutDefinition);
void InitCF(AliDielectron* die, Int_t cutDefinition);

void SetupEventCuts(AliDielectron *die, Int_t cutDefinition);
void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition);
void SetupPairCuts(AliDielectron *die,  Int_t cutDefinition);
//QAtask

void SetupV0cuts(AliDielectron *die, Int_t cutDefinition);
void SetupV0Add(AliDielectron *die, Int_t cutDefinition);

/*
namespace ConfDef {
	
	void InitHistograms(AliDielectron *die, Int_t cutDefinition);
	void InitCF(AliDielectron* die, Int_t cutDefinition);
	void SetupV0Cuts(AliDielectron *die, Int_t cutDefinition);
	void SetupV0Add(AliDielectron *die, Int_t cutDefinition);
	void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition);
	void SetupPairCuts(AliDielectron *die, Int_t cutDefinition);
	void SetEtaCorrection();	
	enum {kDefault,kHF,kLmee,kDefault_activevolume,kDefault_conversions,kDefault_conversions_wPID};
}
*/

enum ConfDef {kDefault,kHF,kLmee,kDefault_activevolume,kDefault_conversions,kDefault_conversions_wPID};
void SetupMCsignals(AliDielectron *die);
//TVectorD *GetRunNumbers();
TVectorD *GetRunNumbers() {
    if (period="LHC10d"){
    return AliDielectronHelper::MakeArbitraryBinning ("122374,122375,124751,125023,125085,125097,125100,125101,125134,125296,125628,125630,125632,125633,125842,125843,125844,125847,125848,125849,125850,125851,125855,125941,125942,125943,125944,125945,125946,125947,125948,125949,125950,125951,125952,125953,125954,125955,125956,125957,125958,125959,125960,125961,125962,125963,125964,125965,125966,125969,125970,125976,125978,125981,125982,125983,125984,125985,125986,125997,125998,125999,126004,126007,126008,126073,126078,126081,126082,126088,126090,126097,126158,126160,126168,126283,126284,126285,126351,126352,126359,126403,126404,126405,126406,126407,126408,126409,126422,126424,126425,126432");
     }
}
  // increasing order of run array is important

//TString names=("default");
TString names=("JPsi;kHFe;Lmee;Jpsi_activevolume;Jpsi_conversions;Jpsi_conversions_wPID");
TObjArray *arrNames=names.Tokenize(";");

const Int_t nDie=arrNames->GetEntries();
Bool_t isAOD=kFALSE;
Bool_t hasMC=kFALSE;
Int_t iPeriod=-1;
enum { k10b=0, k10c, k10d, k10e, k10f, k10h, k11a, k11d, k11h, k12h, k13b, k13c, k13d, k13e, k13f };

//______________________________________________________________________________________
AliAnalysisTask* AddTask_jpsi_Default(TString prod="", Bool_t isMC=kFALSE)
{
  //get the current analysis manager

  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTask_jpsi_JPsi", "No analysis manager found.");
    return 0;
  }

  //Do we have an MC handler?
  hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);

  //AOD input?
  isAOD=mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();
  if(isAOD) hasMC=isMC;

  //Get the current train configuration
  TString trainConfig=gSystem->Getenv("CONFIG_FILE");
  TString list=gSystem->Getenv("LIST");
  if( list.IsNull()) list=prod;

  // selected period
  if(      !prod.CompareTo("LHC10b") ) iPeriod = k10b;
  else if( !prod.CompareTo("LHC10c") ) iPeriod = k10c;
  else if( !prod.CompareTo("LHC10d") ) iPeriod = k10d;
  else if( !prod.CompareTo("LHC10e") ) iPeriod = k10e;
  else if( !prod.CompareTo("LHC10f") ) iPeriod = k10f;
  else if( !prod.CompareTo("LHC10h") ) iPeriod = k10h;
  else if( !prod.CompareTo("LHC11a") ) iPeriod = k11a;
  else if( !prod.CompareTo("LHC11d") ) iPeriod = k11d;
  else if( !prod.CompareTo("LHC11h") ) iPeriod = k11h;
  else if( !prod.CompareTo("LHC12h") ) iPeriod = k12h;
  else if( !prod.CompareTo("LHC13b") ) iPeriod = k13b;
  else if( !prod.CompareTo("LHC13c") ) iPeriod = k13c;
  else if( !prod.CompareTo("LHC12d") ) iPeriod = k13d;
  else if( !prod.CompareTo("LHC12e") ) iPeriod = k13e;
  else if( !prod.CompareTo("LHC12f") ) iPeriod = k13f;

  // // aod monte carlo
  // if( list.Contains("LHC11a10") ||
  //     list.Contains("LHC11b10") ||
  //     list.Contains("LHC12a17") ||
  //     list.Contains("fix")
  //     ) hasMC=kTRUE;

  //create task and add it to the manager
  AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("JpsiDefault");
  //  task->SetBeamEnergy(1380.); // not neeeded since we are not looking at helicity and Collins-Soper coordinates
  if (!hasMC) task->UsePhysicsSelection();

  // add special triggers
  switch(iPeriod) {
  case k11d: task->SetTriggerMask(AliVEvent::kEMCEJE+AliVEvent::kEMC7+AliVEvent::kEMCEGA);     break;
  case k11h: task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral); break;
  case k12h: task->SetTriggerMask(AliVEvent::kAnyINT); break;                                      
  case k13b: task->SetTriggerMask(AliVEvent::kINT7); break;
  case k13c: task->SetTriggerMask(AliVEvent::kINT7); break;
  case k13d: task->SetTriggerMask(AliVEvent::kAnyINT); break;
  case k13e: task->SetTriggerMask(AliVEvent::kAnyINT); break;
  case k13f: task->SetTriggerMask(AliVEvent::kAnyINT); break;
  }
  mgr->AddTask(task);

  //add dielectron analysis with different cuts to the task
  for (Int_t i=0; i<nDie; ++i){ //nDie defined in config file
    AliDielectron *jpsi=ConfigDefault(i);
    if (!jpsi) continue;
    jpsi->SetHasMC(hasMC);
    task->AddDielectron(jpsi);
  }

  //   task->SetTriggerOnV0AND();
  //   if ( trainConfig=="pp" ) task->SetRejectPileup();
  
  //create output container
  AliAnalysisDataContainer *coutput1 =
    mgr->CreateContainer("jpsi_Default_tree",
                         TTree::Class(),
                         AliAnalysisManager::kExchangeContainer,
                         "jpsi_Default_default");
  
  AliAnalysisDataContainer *cOutputHist1 =
    mgr->CreateContainer("jpsi_Default_QA",
                         TList::Class(),
                         AliAnalysisManager::kOutputContainer,
                         "jpsi_Default.root");

  AliAnalysisDataContainer *cOutputHist2 =
    mgr->CreateContainer("jpsi_Default_CF",
                         TList::Class(),
                         AliAnalysisManager::kOutputContainer,
                         "jpsi_Default.root");
  
  AliAnalysisDataContainer *cOutputHist3 =
    mgr->CreateContainer("jpsi_Default_EventStat",
                         TH1D::Class(),
                         AliAnalysisManager::kOutputContainer,
                         "jpsi_Default.root");
  
  mgr->ConnectInput(task,  0, mgr->GetCommonInputContainer());
  mgr->ConnectOutput(task, 0, coutput1 );
  mgr->ConnectOutput(task, 1, cOutputHist1);
  mgr->ConnectOutput(task, 2, cOutputHist2);
  mgr->ConnectOutput(task, 3, cOutputHist3);
  
  return task;
}


//______________________________________________________________________________________
//______________________________________________________________________________________
//______________________________________________________________________________________
//
// Here the configuration part starts
//
AliDielectron* ConfigDefault(Int_t cutDefinition)
{
  //
  // Setup the instance of AliDielectron
  //
  
  // create the actual framework object
  TString name=Form("%02d",cutDefinition);
  if (cutDefinition<arrNames->GetEntriesFast()){
    name=arrNames->At(cutDefinition)->GetName();
  }
  AliDielectron *die =
  new AliDielectron(Form("%s",name.Data()),
                    Form("Track cuts: %s",name.Data()));
  
  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv CUTS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  SetupEventCuts(die,cutDefinition);
  SetupTrackCuts(die,cutDefinition);
  
  if (cutDefinition ==ConfDef::kDefault || cutDefinition ==ConfDef::kLmee || cutDefinition ==ConfDef::kDefault_activevolume){
		SetupV0Cuts(die,cutDefinition);
	}
		
//V0s to have a pure e+e- sample to check the TPC nsigma	
  if (cutDefinition ==ConfDef::kDefault_conversions || cutDefinition ==ConfDef::kDefault_conversions_wPID){
		SetupV0add(die,cutDefinition);
	}
	
  if (cutDefinition ==ConfDef::kLmee || cutDefinition ==ConfDef::kDefault_conversions || cutDefinition ==ConfDef::kDefault_conversions_wPID ){
		die->SetNoPairing();
	}	
  
  //SetupV0Cuts(die,cutDefinition); 
  SetupPairCuts(die,cutDefinition);

  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv MISC vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  // Monte Carlo Signals
  if (hasMC) SetupMCsignals(die);
  // prefilter settings
  // die->SetPreFilterUnlikeOnly();//  die->SetNoPairing();//  die->SetPreFilterAllSigns();
  // cut QA
  // die->SetCutQA();

  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv OUTPUT vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  InitHistograms(die,cutDefinition);
  InitCF(die,cutDefinition);


  //   AliDielectronMixingHandler *mix=new AliDielectronMixingHandler;
  //   mix->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-8,-5,0,5,8,10");
  //   mix->AddVariable(AliDielectronVarManager::kPhi ,"0,3.14,6.3");
  //   mix->SetDepth(10);
  //  die->SetMixingHandler(mix);
  //
  
  return die;
}

//______________________________________________________________________________________
void SetupEventCuts(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Setup the event cuts
  //

  AliDielectronEventCuts *eventCuts=new AliDielectronEventCuts("eventCuts","eventCuts");
  if(isAOD) eventCuts->SetVertexType(AliDielectronEventCuts::kVtxAny);
  eventCuts->SetRequireVertex();
  eventCuts->SetMinVtxContributors(1);
  eventCuts->SetVertexZ(-10.,+10.);
  eventCuts->Print();
  die->GetEventFilter().AddCuts(eventCuts);

}

//______________________________________________________________________________________
void SetupTrackCuts(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Setup the track cuts
  //

    AliDielectronCutGroup* cuts = new AliDielectronCutGroup("cuts","cuts",AliDielectronCutGroup::kCompAND);
	die->GetTrackFilter().AddCuts(cuts);
	
	//default quality cuts
	AliDielectronTrackCuts *refit=new AliDielectronTrackCuts("refit","refit");
	
	if (cutDefinition==ConfDef::kDefault){
		refit->SetRequireITSRefit(kTRUE);
		refit->SetRequireTPCRefit(kTRUE);
		refit->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
	}else if(cutDefinition==ConfDef::kHF){
		refit->SetRequireITSRefit(kTRUE);
		refit->SetRequireTPCRefit(kTRUE);
		refit->SetClusterRequirementITS(AliESDtrackCuts::kFirst,AliESDtrackCuts::kBoth);
	}else if(cutDefinition==ConfDef::kLmee){
		refit->SetRequireITSRefit(kTRUE);
		refit->SetRequireTPCRefit(kTRUE);
		refit->SetClusterRequirementITS(AliESDtrackCuts::kFirst,AliESDtrackCuts::kAny);
	}else if (cutDefinition ==ConfDef::kDefault_activevolume){
		refit->SetRequireITSRefit(kTRUE);
		refit->SetRequireTPCRefit(kTRUE);
		refit->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
	}else if (cutDefinition ==ConfDef::kDefault_conversions){
		refit->SetRequireITSRefit(kTRUE);
		refit->SetRequireTPCRefit(kTRUE);
		//    refit->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
	}else if(cutDefinition ==ConfDef::kDefault_conversions_wPID){
		refit->SetRequireITSRefit(kTRUE);
		refit->SetRequireTPCRefit(kTRUE);
		//  refit->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
		
	}
	cuts->AddCut(refit);
	
	
	//pt and kink mother
	AliDielectronVarCuts *pt = new AliDielectronVarCuts("ptCut","pt cut");
	
	if (cutDefinition==kDefault){
		pt->AddCut(AliDielectronVarManager::kPt,1.,1.e30);
		pt->AddCut(AliDielectronVarManager::kEta,-0.9,0.9);
		pt->AddCut(AliDielectronVarManager::kKinkIndex0,0.);	
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaEle,-3.,3.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaPio,3.5,1000.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaPro,3.,1000.);
		//rjim NTPCclusters cut
		pt->AddCut(AliDielectronVarManager::kNclsTPC,70.,160.);  
		pt->AddCut(AliDielectronVarManager::kTPCchi2Cl,0.,4.);
		//impact parameter
		pt->AddCut(AliDielectronVarManager::kImpactParXY,-1.,1.);
		pt->AddCut(AliDielectronVarManager::kImpactParZ,-3.,3.);
	}
	else if (cutDefinition==kHF) {
		pt->AddCut(AliDielectronVarManager::kPt,1.,1.e30);
		pt->AddCut(AliDielectronVarManager::kEta,-0.8,0.8);
		//to be checked
		pt->AddCut(AliDielectronVarManager::kKinkIndex0,0.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaEle,-0.5.,3.);
		if (AliDielectronVarManager::kTOFPIDBit >0.8){
			pt->AddCut(AliDielectronVarManager::kTOFnSigmaEle,-3.,3.);
		}
		//TPC PID ClusteR
		pt->AddCut(AliDielectronVarManager::kTPCsignalN,80.,160.);
		//rjim NTPCcluster cut
		pt->AddCut(AliDielectronVarManager::kNclsTPC,120.,160.);  
		pt->AddCut(AliDielectronVarManager::kNFclsTPCfCross,0.6,1.1);    
		pt->AddCut(AliDielectronVarManager::kTPCchi2Cl,0.,4.);
		//    pt->AddCut(AliDielectronVarManager::kNClsITS,4.,200); 
		//rjim 
		pt->AddCut(AliDielectronVarManager::kImpactParXY,-1.,1.);
		pt->AddCut(AliDielectronVarManager::kImpactParZ,-2.,2.);  
	}
	else if (cutDefinition==kLmee) {
		pt->AddCut(AliDielectronVarManager::kPt,0.2,1.e30);
		pt->AddCut(AliDielectronVarManager::kEta,-0.8,0.8);
		pt->AddCut(AliDielectronVarManager::kKinkIndex0,0.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaEle,-3.,3.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaPio,3.,1000.);
		pt->AddCut(AliDielectronVarManager::kTOFnSigmaEle,-3.,3.); 
		//rjim Nitsclusters cut
		//  pt->AddCut(AliDielectronVarManager::kNclsITS,4.,160.);
		//add ncrossed rows tpc instead cluster instead Ncluster
		pt->AddCut(AliDielectronVarManager::kNclsTPC,70.,160.);
		pt->AddCut(AliDielectronVarManager::kNFclsTPCfCross,0.8,1.0);    
		pt->AddCut(AliDielectronVarManager::kTPCchi2Cl,0.,4.); 
		pt->AddCut(AliDielectronVarManager::kImpactParXY,-1.,1.);
		pt->AddCut(AliDielectronVarManager::kImpactParZ,-3.,3.);
	}else if(cutDefinition==kDefault_activevolume){
		pt->AddCut(AliDielectronVarManager::kPt,1.,1.e30);
		pt->AddCut(AliDielectronVarManager::kEta,-0.9,0.9);
		pt->AddCut(AliDielectronVarManager::kKinkIndex0,0.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaEle,-3.,3.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaPio,3.5,1000.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaPro,3.,1000.);
		//    pt->AddCut(AliDielectronVarManager::kTPCactvol,120.,200.);
		// NTPCclusters
		pt->AddCut(AliDielectronVarManager::kNclsTPC,70.,160.);  
		pt->AddCut(AliDielectronVarManager::kTPCchi2Cl,0.,4.);
		//impact parameter
		pt->AddCut(AliDielectronVarManager::kImpactParXY,-1.,1.);
		pt->AddCut(AliDielectronVarManager::kImpactParZ,-3.,3.);
		//  pt->AddCut(AliDielectronVarManager::kTOFPIDBit,0.8,2.0);
	}else if(cutDefinition==kDefault_conversions){
		pt->AddCut(AliDielectronVarManager::kPt,1.,1.e30);
		pt->AddCut(AliDielectronVarManager::kEta,-0.9,0.9);
		pt->AddCut(AliDielectronVarManager::kKinkIndex0,0.);
		//    pt->AddCut(AliDielectronVarManager::kTPCnSigmaEle,-3.,3.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaPio,3.5,1000.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaPro,3.,1000.);
		pt->AddCut(AliDielectronVarManager::kNclsTPC,70.,160.);  
		pt->AddCut(AliDielectronVarManager::kTPCchi2Cl,0.,4.);
		pt->AddCut(AliDielectronVarManager::kImpactParXY,-1.,1.);
		pt->AddCut(AliDielectronVarManager::kImpactParZ,-3.,3.);
	}else if(cutDefinition==kDefault_conversions_wPID){
		pt->AddCut(AliDielectronVarManager::kPt,1.,1.e30);
		pt->AddCut(AliDielectronVarManager::kEta,-0.9,0.9);
		pt->AddCut(AliDielectronVarManager::kKinkIndex0,0.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaEle,-3.,3.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaPio,3.5,1000.);
		pt->AddCut(AliDielectronVarManager::kTPCnSigmaPro,3.,1000.);
		pt->AddCut(AliDielectronVarManager::kNclsTPC,70.,160.);  
		pt->AddCut(AliDielectronVarManager::kTPCchi2Cl,0.,4.);
		pt->AddCut(AliDielectronVarManager::kImpactParXY,-1.,1.);
		pt->AddCut(AliDielectronVarManager::kImpactParZ,-3.,3.);
	}
	cuts->AddCut(pt);
	
	
	
	/*
	
  // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv TRACK CUTS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv /
  AliDielectronVarCuts *varAccCuts   = new AliDielectronVarCuts("acc","acc");
  varAccCuts->AddCut(AliDielectronVarManager::kPt,           0.8, 1e30);
  varAccCuts->AddCut(AliDielectronVarManager::kEta,         -0.9,  0.9);
  die->GetTrackFilter().AddCuts(varAccCuts);
  varAccCuts->Print();


  AliDielectronVarCuts   *varRecCuts = new AliDielectronVarCuts("VarRecCuts","VarRecCuts");
  varRecCuts->AddCut(AliDielectronVarManager::kNclsTPC,      70.,   160.);
  varRecCuts->AddCut(AliDielectronVarManager::kImpactParXY, -1.0,   1.0);
  varRecCuts->AddCut(AliDielectronVarManager::kImpactParZ,  -3.0,   3.0);
  varRecCuts->AddCut(AliDielectronVarManager::kTPCchi2Cl,    0.0,   4.0);
  //  varRecCuts->AddCut(AliDielectronVarManager::kITSchi2Cl,     0.  ,   36.     ); // not defined in AOD
  varRecCuts->AddCut(AliDielectronVarManager::kKinkIndex0,.000001,1e30,kTRUE);

  AliDielectronTrackCuts *trkRecCuts = new AliDielectronTrackCuts("TrkRecCuts","TrkRecCuts");
  trkRecCuts->SetITSclusterCut(AliDielectronTrackCuts::kOneOf, 3); // SPD any
  trkRecCuts->SetRequireITSRefit(kTRUE);
  trkRecCuts->SetRequireTPCRefit(kTRUE);

  AliDielectronCutGroup  *grpRecCuts = new AliDielectronCutGroup("rec","rec",AliDielectronCutGroup::kCompAND);
  grpRecCuts->AddCut(trkRecCuts);
  grpRecCuts->AddCut(varRecCuts);
  die->GetTrackFilter().AddCuts(grpRecCuts);
  grpRecCuts->Print();


  /* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv PID CUTS vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */
  AliDielectronVarCuts *pidVarCuts = new AliDielectronVarCuts("varPIDCuts","varPIDCuts");
  pidVarCuts->AddCut(AliDielectronVarManager::kTPCnSigmaEle,  -2. ,    3.     ); //-3.0
  pidVarCuts->AddCut(AliDielectronVarManager::kTPCnSigmaPio,   3.5, 1000.     );
  pidVarCuts->AddCut(AliDielectronVarManager::kTPCnSigmaPro,   4. , 1000.     ); //3.0
  //  AliDielectronPID *pidCuts        = new AliDielectronPID("PIDCuts","PIDCuts"); //not used
  AliDielectronCutGroup *grpPIDCuts = new AliDielectronCutGroup("PID","PID",AliDielectronCutGroup::kCompAND);
  grpPIDCuts->AddCut(pidVarCuts);
  //grpPIDCuts->AddCut(pidCuts);
  die->GetTrackFilter().AddCuts(grpPIDCuts);
  grpPIDCuts->Print();

  //


  //exclude conversion electrons selected by the tender
  //   AliDielectronTrackCuts *noconv=new AliDielectronTrackCuts("noConv","noConv");
  //   noconv->SetV0DaughterCut(AliPID::kElectron,kTRUE);
  //   cuts->AddCut(noconv);

	cuts->Print();
}
void SetupV0Cuts(AliDielectron *die, Int_t cutDefinition)
{
	//
	// Setup the V0 cuts
	//
	AliDielectronV0Cuts *gammaV0Cuts = new AliDielectronV0Cuts("IsGamma","IsGamma");
	gammaV0Cuts->SetPdgCodes(22,11,11);
	gammaV0Cuts->SetDefaultPID(13); // TPC+-10, TOF+-3 if available
	gammaV0Cuts->AddCut(AliDielectronVarManager::kCosPointingAngle,TMath::Cos(0.02),1.0, kFALSE);
	gammaV0Cuts->AddCut(AliDielectronVarManager::kChi2NDF, 0.0,  10.0, kFALSE);//to be checked, if properly filled
	gammaV0Cuts->AddCut(AliDielectronVarManager::kLegDist, 0.0,   0.25, kFALSE);
	gammaV0Cuts->AddCut(AliDielectronVarManager::kR, 3.0,  90.0, kFALSE);
	gammaV0Cuts->AddCut(AliDielectronVarManager::kPsiPair, 0.0,   0.05, kFALSE);
	gammaV0Cuts->AddCut(AliDielectronVarManager::kM, 0.0,   0.05, kFALSE);
	// gammaV0Cuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0.0,   0.1, kFALSE);
	gammaV0Cuts->AddCut(AliDielectronVarManager::kArmPt, 0.0,   0.05, kFALSE);
	// gammaV0Cuts->AddCut(AliDielectronVarManager::kArmAlpha, -0.35,0.35, kFALSE); // not sure if it works as expected
	gammaV0Cuts->SetExcludeTracks(kTRUE);//ktrue excludes tracks v0s, 
	//kfalse 
	// gammaV0Cuts->Print();
	//  const Double_t |cutAlphaG| < 0.35; &&  const Double_t cutQTG < 0.05;
	//  const Double_t |cutAlphaG2|[2] = {0.6, 0.8}; && const Double_t cutQTG2 < 0.04;
	die->GetTrackFilter().AddCuts(gammaV0Cuts);
	gammaV0Cuts->Print();	// 
}

void SetupV0add(AliDielectron *die, Int_t cutDefinition)
{
	//
	// Setup the V0 cuts
	//
	AliDielectronV0Cuts *gammaV0Add = new AliDielectronV0Cuts("IsGamma2","IsGamma2");
	gammaV0Add->SetPdgCodes(22,11,11);
	gammaV0Add->SetDefaultPID(13); // TPC+-10, TOF+-3 if available
	gammaV0Add->AddCut(AliDielectronVarManager::kCosPointingAngle,TMath::Cos(0.02),1.0, kFALSE);
	gammaV0Add->AddCut(AliDielectronVarManager::kChi2NDF, 0.0,  10.0, kFALSE);//to be checked, if properly filled
	gammaV0Add->AddCut(AliDielectronVarManager::kLegDist, 0.0,   0.25, kFALSE);
	gammaV0Add->AddCut(AliDielectronVarManager::kR, 3.0,  90.0, kFALSE);
	gammaV0Add->AddCut(AliDielectronVarManager::kPsiPair, 0.0,   0.05, kFALSE);
	gammaV0Add->AddCut(AliDielectronVarManager::kM, 0.0,   0.05, kFALSE);
	// gammaV0Cuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0.0,   0.1, kFALSE);
	gammaV0Add->AddCut(AliDielectronVarManager::kArmPt, 0.0,   0.05, kFALSE);
	// gammaV0Cuts->AddCut(AliDielectronVarManager::kArmAlpha, -0.35,0.35, kFALSE); // not sure if it works as expected
	
	gammaV0Add->SetExcludeTracks(kFALSE);//ktrue excludes tracks v0s, 
	
	//kfalse 
	// gammaV0Cuts->Print();
	//  const Double_t |cutAlphaG| < 0.35; &&  const Double_t cutQTG < 0.05;
	//  const Double_t |cutAlphaG2|[2] = {0.6, 0.8}; && const Double_t cutQTG2 < 0.04;
	die->GetTrackFilter().AddCuts(gammaV0Add);
	gammaV0Add->Print();	// 
}
//______________________________________________________________________________________
void SetupPairCuts(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Setup the pair cuts
  //

  // add conversion rejection
  AliDielectronVarCuts *gammaCut=new AliDielectronVarCuts("gammaCut","gammaCut");
  gammaCut->AddCut(AliDielectronVarManager::kM,0.,.05);
  die->GetPairPreFilter().AddCuts(gammaCut);

}

//______________________________________________________________________________________
void InitHistograms(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Initialise the histograms
  //

  //Setup histogram Manager
  AliDielectronHistos *histos=
  new AliDielectronHistos(die->GetName(),
                          die->GetTitle());

  //Initialise histogram classes
  histos->SetReservedWords("Track;Pair");

  //Track classes
  //to fill also track info from 2nd event loop until 2
  for (Int_t i=0; i<2; ++i){
    histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
  }

  //Pair classes
  // to fill also mixed event histograms loop until 10
  for (Int_t i=0; i<3; ++i){
    histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
  }

  //add MC signal histograms to track and pair class
  if(die->GetMCSignals()) {
    for(Int_t isig=0; isig<die->GetMCSignals()->GetEntriesFast(); isig++) {
      TString sigMCname = die->GetMCSignals()->At(isig)->GetName(); 

      // mc truth
      histos->AddClass(Form("Pair_%s_MCtruth",       sigMCname.Data()));
      histos->AddClass(Form("Track_Legs_%s_MCtruth", sigMCname.Data())); 
      // mc reconstructed
      histos->AddClass(Form("Pair_%s",               sigMCname.Data()));
      histos->AddClass(Form("Track_Legs_%s",         sigMCname.Data())); 
    }
  }

  //add histograms to event class
  if (cutDefinition==0) {
    histos->AddClass("Event");
    histos->UserHistogram("Event","","",300,-15.,15.,AliDielectronVarManager::kZvPrim);
    histos->UserHistogram("Event","","",
                          100,-2.,2.,100,-2.,2.,AliDielectronVarManager::kXvPrim,AliDielectronVarManager::kYvPrim);
    histos->UserHistogram("Event","","",GetRunNumbers(),AliDielectronVarManager::kRunNumber);
    histos->UserProfile("Event","","", AliDielectronVarManager::kTracks, GetRunNumbers(), AliDielectronVarManager::kRunNumber);
    histos->UserProfile("Event","","", AliDielectronVarManager::kPairs,  GetRunNumbers(), AliDielectronVarManager::kRunNumber);

  }

  //add histograms to Track classes
  histos->UserHistogram("Track","","",
			200,0,20.,AliDielectronVarManager::kPIn);  
 
  //general histograms per run number
  histos->UserHistogram("Track","","",
			400,0.2,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
  histos->UserHistogram("Track","","",GetRunNumbers(),AliDielectronHelper::MakeLinBinning(100,-10.,10.),
			AliDielectronVarManager::kRunNumber,AliDielectronVarManager::kTPCnSigmaEle);
  histos->UserHistogram("Track","","",GetRunNumbers(),AliDielectronHelper::MakeLinBinning(100,-10.,10.),
			AliDielectronVarManager::kRunNumber,AliDielectronVarManager::kTPCnSigmaEle);
  histos->UserHistogram("Track","","",GetRunNumbers(),AliDielectronHelper::MakeLinBinning(100,-10.,10.),
			AliDielectronVarManager::kRunNumber,AliDielectronVarManager::kITSnSigmaEle);
  histos->UserHistogram("Track","","",GetRunNumbers(),AliDielectronHelper::MakeLinBinning(100,-10.,10.),
			AliDielectronVarManager::kRunNumber,AliDielectronVarManager::kTOFnSigmaEle);
  histos->UserHistogram("Track","","",GetRunNumbers(),AliDielectronHelper::MakeLinBinning(161,-0.5,161.5),
			AliDielectronVarManager::kRunNumber,AliDielectronVarManager::kNclsTPC);
  histos->UserHistogram("Track","","",GetRunNumbers(),AliDielectronHelper::MakeLinBinning(300,0.5,300.5),
			AliDielectronVarManager::kRunNumber,AliDielectronVarManager::kNclsTRD);
  histos->UserHistogram("Track","","",GetRunNumbers(),AliDielectronHelper::MakeLinBinning(150,0.,150.),
			AliDielectronVarManager::kRunNumber,AliDielectronVarManager::kNaccTrckltsEsd10Corr);
  histos->UserHistogram("Track","","",GetRunNumbers(),AliDielectronHelper::MakeLinBinning(5,-0.5,2.0),
			AliDielectronVarManager::kRunNumber,AliDielectronVarManager::kTOFPIDBit);
  histos->UserHistogram("Track","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
                        400,0.2,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
  //  histos->UserHistogram("Track","","",GetRunNumbers(),
  //	        400,0.2,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
  histos->UserHistogram("Track","","",
			100,0.2,20.,100,-10.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSnSigmaEle);
  histos->UserHistogram("Track","","",
                        100,0.2,20.,100,-10.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
  histos->UserHistogram("Track","","",
                        100,0.2,20.,100,-10.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);
  histos->UserHistogram("Track","","",
                        100,0.2,20.,100,-10.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPro,kTRUE);
  histos->UserHistogram("Track","","",
			200,0.2,20.,100,-15.,15.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaKao,kTRUE);    	
  histos->UserHistogram("Track","","",
			200,0.2,20.,100,0.,1.2,AliDielectronVarManager::kP,AliDielectronVarManager::kTOFbeta,kTRUE);
  histos->UserHistogram("Track","","",
			200,0.2,20.,200,-20.,20.,AliDielectronVarManager::kP,AliDielectronVarManager::kTOFnSigmaEle,kTRUE);    
  histos->UserHistogram("Track","","",
			144,0.0,6.285,100,0.0,200,AliDielectronVarManager::kPhi,AliDielectronVarManager::kTPCsignal);
  histos->UserHistogram("Track","","",
			40,-1.0,1.0,100,0.0,200,AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCsignal);
  histos->UserHistogram("Track","","",
			100,-5,5.,100,-5.,5.,AliDielectronVarManager::kTPCnSigmaEle,AliDielectronVarManager::kITSnSigmaEle);
  histos->UserHistogram("Track","","",
			100,-5,5.,100,-5.,5.,AliDielectronVarManager::kTOFnSigmaEle,AliDielectronVarManager::kTPCnSigmaEle);
  histos->UserHistogram("Track","","",
                        100,-2,2,144,0,6.285,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
  histos->UserHistogram("Track","","",
                        160,-0.5,159.5,AliDielectronVarManager::kNclsTPC);
  histos->UserHistogram("Track","","",
                        100,0.,10.,AliDielectronVarManager::kTPCchi2Cl);
  histos->UserHistogram("Track","","",
                        150,-15,15,160,-0.5,159.5,AliDielectronVarManager::kYsignedIn,AliDielectronVarManager::kTPCsignalN);
  histos->UserHistogram("Track","","",
                        1000,0.,0.,AliDielectronVarManager::kKinkIndex0);
	
  //rjim findable cluster vs pt
  histos->UserHistogram("Track","","",
			200.,0.0.,20.0, 161,-0.5,161.5,AliDielectronVarManager::kPt,AliDielectronVarManager::kNFclsTPCr);
  //rjim frac find vs pt
  histos->UserHistogram("Track","","",
			200.0,0.0,20.0,160,0,1.1,AliDielectronVarManager::kPt,AliDielectronVarManager::kNFclsTPCrFrac);
  
  // histos rjimenez 2nd part
  //check tofbit
  
  histos->UserHistogram("Track","","",5,-0.5,2.0,AliDielectronVarManager::kTOFPIDBit);
  
  histos->UserHistogram("Track","","",
			3.,-0.5,2.5, 200,0.,20.,AliDielectronVarManager::kTOFPIDBit,AliDielectronVarManager::kPt);
  
  histos->UserHistogram("Track","","",
			160,-0.5,159.5,AliDielectronVarManager::kNFclsTPCr);
  histos->UserHistogram("Track","","",
			160,0,1.1,AliDielectronVarManager::kNFclsTPCrFrac);
  
  //rjimenez nsigma vseta
  histos->UserHistogram("Track","","",
			20,-1.0,1.0,100,-10.,10.,AliDielectronVarManager::kEta,AliDielectronVarManager::kITSnSigmaEle);
  
  histos->UserHistogram("Track","","",
			20,-1.0,1.0,100,-10.,10.,AliDielectronVarManager::kEta,AliDielectronVarManager::kTPCnSigmaEle);
  
  histos->UserHistogram("Track","","",
			20,-1.0,1.0,100,-10.,10.,AliDielectronVarManager::kEta,AliDielectronVarManager::kTOFnSigmaEle); 
  //rjimenez nsigma vs phi
  histos->UserHistogram("Track","","",
			20,0.0,7.0,100,-10.,10.,AliDielectronVarManager::kPhi,AliDielectronVarManager::kITSnSigmaEle);
  
  histos->UserHistogram("Track","","",
			20,0.0,7.0,100,-10.,10.,AliDielectronVarManager::kPhi,AliDielectronVarManager::kTPCnSigmaEle);
  
  histos->UserHistogram("Track","","",
			20,0.0,7.0,100,-10.,10.,AliDielectronVarManager::kPhi,AliDielectronVarManager::kTOFnSigmaEle);
  
  //for now SPD tracklets but multiplicity should be implemented
  histos->UserHistogram("Track","","",
			100,0.0,100.,100,-10.,10.,AliDielectronVarManager::kNaccTrckltsEsd10Corr,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
  histos->UserHistogram("Track","","",
			100,0.0,100.,200,-20.,20.,AliDielectronVarManager::kNaccTrckltsEsd10Corr,AliDielectronVarManager::kTOFnSigmaEle,kTRUE);      
  //
  histos->UserHistogram("Track","","",
			200,-20,20,160,-0.5,159.5,AliDielectronVarManager::kYsignedIn,AliDielectronVarManager::kTPCsignalN);
	
  histos->UserHistogram("Track","","",
			200,-20.,20.,100,-10.,10.,AliDielectronVarManager::kYsignedIn,AliDielectronVarManager::kTPCnSigmaEle);
  
  histos->UserHistogram("Track","","",
			200,-20.,20.,200,0.2,20.,AliDielectronVarManager::kYsignedIn,AliDielectronVarManager::kPIn);
  histos->UserHistogram("Track","","",
			500,-1.,1.,AliDielectronVarManager::kImpactParXY);
  histos->UserHistogram("Track","","",
			600,-3.,3.,AliDielectronVarManager::kImpactParZ);
  //inner and outer read out TPC clusters
  histos->UserHistogram("Track","","",
			70,0.0,7.0,160.,0.0,160.0,AliDielectronVarManager::kPhi,AliDielectronVarManager::kTPCclsIRO);
  histos->UserHistogram("Track","","",
			70,0.0,7.0,160.,0.0,160.0,AliDielectronVarManager::kPhi,AliDielectronVarManager::kTPCclsORO);
  histos->UserHistogram("Track","","",
			10000,0.0,1.0,AliDielectronVarManager::kM);
  histos->UserHistogram("Track","","",
			200,0.0,20.0,10000,0.0,1.0,AliDielectronVarManager::kPt,AliDielectronVarManager::kM);
  histos->UserHistogram("Track","","",
			300,0.,300.,AliDielectronVarManager::kNclsTRD);
  histos->UserHistogram("Track","","",
			200.,0.0.,20.0, 301,-0.5,300.5,AliDielectronVarManager::kPt,AliDielectronVarManager::kNclsTRD);
  histos->UserHistogram("Track","","",
			11,-0.5,10.5.,AliDielectronVarManager::kTRDntracklets);
  
  histos->UserHistogram("Track","","",
			200.,0.0.,20.0,11,-0.5,10.5,AliDielectronVarManager::kPt,AliDielectronVarManager::kTRDntracklets);
  
  histos->UserHistogram("Track","","",
			150.,-15.0.,15.0,20,0.,1.,AliDielectronVarManager::kYsignedIn,AliDielectronVarManager::kTRDprobEle);
  
  histos->UserHistogram("Track","","",
			150.,-15.0,15.0,20,0.,1.,AliDielectronVarManager::kYsignedIn,AliDielectronVarManager::kTRDprobPio);
  
  histos->UserHistogram("Track","","",
			200.,0.2,20.0,20,0.,1.,AliDielectronVarManager::kP,AliDielectronVarManager::kTRDprob2DEle);
  
  histos->UserHistogram("Track","","",
			200.,0.2,20.0,20,0.,1.,AliDielectronVarManager::kP,AliDielectronVarManager::kTRDprob2DPio);
  
  histos->UserHistogram("Track","","",
			8.,-0.5,7.5,AliDielectronVarManager::kTRDpidQuality);
  
  histos->UserHistogram("Track","","",
			100.,0.0,1.0,AliDielectronVarManager::kTRDpidEffLeg);
  
  histos->UserHistogram("Track","","",
			20,-1.0,1.0,70,-3.5,3.5,AliDielectronVarManager::kEta,AliDielectronVarManager::kTRDphi);
  
  histos->UserHistogram("Track","","",500,-1.,1.,AliDielectronVarManager::kImpactParXY);
  histos->UserHistogram("Track","","",600,-3.,3.,AliDielectronVarManager::kImpactParZ);

  //add histograms to Pair classes
  histos->UserHistogram("Pair","","",
                        301,-.01,6.01,AliDielectronVarManager::kM);
  histos->UserHistogram("Pair","","",
                        100,-1.,1.,AliDielectronVarManager::kY);
  histos->UserHistogram("Pair","","",
                        100,0.,3.15,AliDielectronVarManager::kOpeningAngle);

  die->SetHistogramManager(histos);

}

//______________________________________________________________________________________
void InitCF(AliDielectron* die, Int_t cutDefinition)
{
  //
  // Setupd the CF Manager if needed
  //

  AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());

  //pair variables
  cf->AddVariable(AliDielectronVarManager::kPt,"0.0, 1.0, 1.3, 2.0, 3.0, 5., 7.0, 10.0, 100.0");

  cf->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
  cf->AddVariable(AliDielectronVarManager::kY,"-1,-0.9,-0.8,-0.3,0,0.3,0.9,1.0");
  cf->AddVariable(AliDielectronVarManager::kM,125,0.,125*.04); //40Mev Steps
  cf->AddVariable(AliDielectronVarManager::kPairType,11,0,11);

  //leg variables
  cf->AddVariable(AliDielectronVarManager::kPt,"0.0, 0.8, 1.0, 1.1, 1.2, 1.3, 100.0",kTRUE);
  cf->AddVariable(AliDielectronVarManager::kEta,"-1.,-0.9,-0.8,0,0.8,0.9,1.0",kTRUE);

  //cf->AddVariable(AliDielectronVarManager::kITSLayerFirstCls,6,0,6,kTRUE);

  if (hasMC && 0){ //ATTENTION SWITCHED OFF
    cf->AddVariable(AliDielectronVarManager::kPdgCode,10000,-5000.5,4999.5,kTRUE);
    cf->AddVariable(AliDielectronVarManager::kPdgCodeMother,10000,-5000.5,4999.5,kTRUE);
    cf->AddVariable(AliDielectronVarManager::kPdgCodeGrandMother,10000,-5000.5,4999.5,kTRUE);
  }

  if(hasMC) {
    //only steps for efficiencies
    cf->SetStepsForMCtruthOnly();
    //only in this case write MC truth info
    if (cutDefinition==0){
      cf->SetStepForMCtruth();
    }
  }
  // cf->SetStepsForSignal();

  die->SetCFManagerPair(cf);
}

//______________________________________________________________________________________
void SetupMCsignals(AliDielectron *die){
  AliDielectronSignalMC* promptJpsi = new AliDielectronSignalMC("promptJpsi","Prompt J/psi");   // prompt J/psi (not from beauty decays)
  promptJpsi->SetLegPDGs(11,-11);
  promptJpsi->SetMotherPDGs(443,443);
  promptJpsi->SetGrandMotherPDGs(503,503,kTRUE,kTRUE);   // not from beauty hadrons
  promptJpsi->SetMothersRelation(AliDielectronSignalMC::kSame);
  promptJpsi->SetFillPureMCStep(kTRUE);
  promptJpsi->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  promptJpsi->SetCheckBothChargesLegs(kTRUE,kTRUE);
  promptJpsi->SetCheckBothChargesMothers(kTRUE,kTRUE);
  promptJpsi->SetCheckBothChargesGrandMothers(kTRUE,kTRUE);
  die->AddSignalMC(promptJpsi);

  AliDielectronSignalMC* promptJpsiNonRad = new AliDielectronSignalMC("promptJpsiNonRad","Prompt J/psi non-Radiative");   // prompt J/psi (not from beauty decays)
  promptJpsiNonRad->SetLegPDGs(11,-11);
  promptJpsiNonRad->SetMotherPDGs(443,443);
  promptJpsiNonRad->SetGrandMotherPDGs(503,503,kTRUE,kTRUE);   // not from beauty hadrons
  promptJpsiNonRad->SetMothersRelation(AliDielectronSignalMC::kSame);
  promptJpsiNonRad->SetFillPureMCStep(kTRUE);
  promptJpsiNonRad->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  promptJpsiNonRad->SetCheckBothChargesLegs(kTRUE,kTRUE);
  promptJpsiNonRad->SetCheckBothChargesMothers(kTRUE,kTRUE);
  promptJpsiNonRad->SetCheckBothChargesGrandMothers(kTRUE,kTRUE);
  promptJpsiNonRad->SetJpsiRadiative(AliDielectronSignalMC::kIsNotRadiative);
  die->AddSignalMC(promptJpsiNonRad);

  AliDielectronSignalMC* promptJpsiRad = new AliDielectronSignalMC("promptJpsiRad","Prompt J/psi Radiative");   // prompt J/psi (not from beauty decays)
  promptJpsiRad->SetLegPDGs(11,-11);
  promptJpsiRad->SetMotherPDGs(443,443);
  promptJpsiRad->SetGrandMotherPDGs(503,503,kTRUE,kTRUE);   // not from beauty hadrons
  promptJpsiRad->SetMothersRelation(AliDielectronSignalMC::kSame);
  promptJpsiRad->SetFillPureMCStep(kTRUE);
  promptJpsiRad->SetLegSources(AliDielectronSignalMC::kFinalState, AliDielectronSignalMC::kFinalState);
  promptJpsiRad->SetCheckBothChargesLegs(kTRUE,kTRUE);
  promptJpsiRad->SetCheckBothChargesMothers(kTRUE,kTRUE);
  promptJpsiRad->SetCheckBothChargesGrandMothers(kTRUE,kTRUE);
  promptJpsiRad->SetJpsiRadiative(AliDielectronSignalMC::kIsRadiative);
  die->AddSignalMC(promptJpsiRad);

}

TVectorD *GetRunNumbers() {
  // returns a vector with the runnumber used in the period

  Double_t first=0;
  Double_t last =1;

  switch(iPeriod) {
  case k10b: first=114737; last=117223; break;
  case k10c: first=117777; last=121417; break;
  case k10d: first=121692; last=126437; break;
  case k10e: first=127102; last=130850; break;
  case k10f: first=130931; last=135031; break;
  case k10h: first=136831; last=139517; break;
  case k11a: first=141052; last=146974; break;
  case k11d: first=155838; last=159649; break;
  case k11h: first=165772; last=170718; break;
  case k12h: first=188720; last=192738; break;
  }
  //  printf("iPeriod: %d \t %.0f-%.0f \n",iPeriod,first,last);
  return (AliDielectronHelper::MakeLinBinning(last-first, first, last));
}
 AddTask_jpsi_Default.C:1
 AddTask_jpsi_Default.C:2
 AddTask_jpsi_Default.C:3
 AddTask_jpsi_Default.C:4
 AddTask_jpsi_Default.C:5
 AddTask_jpsi_Default.C:6
 AddTask_jpsi_Default.C:7
 AddTask_jpsi_Default.C:8
 AddTask_jpsi_Default.C:9
 AddTask_jpsi_Default.C:10
 AddTask_jpsi_Default.C:11
 AddTask_jpsi_Default.C:12
 AddTask_jpsi_Default.C:13
 AddTask_jpsi_Default.C:14
 AddTask_jpsi_Default.C:15
 AddTask_jpsi_Default.C:16
 AddTask_jpsi_Default.C:17
 AddTask_jpsi_Default.C:18
 AddTask_jpsi_Default.C:19
 AddTask_jpsi_Default.C:20
 AddTask_jpsi_Default.C:21
 AddTask_jpsi_Default.C:22
 AddTask_jpsi_Default.C:23
 AddTask_jpsi_Default.C:24
 AddTask_jpsi_Default.C:25
 AddTask_jpsi_Default.C:26
 AddTask_jpsi_Default.C:27
 AddTask_jpsi_Default.C:28
 AddTask_jpsi_Default.C:29
 AddTask_jpsi_Default.C:30
 AddTask_jpsi_Default.C:31
 AddTask_jpsi_Default.C:32
 AddTask_jpsi_Default.C:33
 AddTask_jpsi_Default.C:34
 AddTask_jpsi_Default.C:35
 AddTask_jpsi_Default.C:36
 AddTask_jpsi_Default.C:37
 AddTask_jpsi_Default.C:38
 AddTask_jpsi_Default.C:39
 AddTask_jpsi_Default.C:40
 AddTask_jpsi_Default.C:41
 AddTask_jpsi_Default.C:42
 AddTask_jpsi_Default.C:43
 AddTask_jpsi_Default.C:44
 AddTask_jpsi_Default.C:45
 AddTask_jpsi_Default.C:46
 AddTask_jpsi_Default.C:47
 AddTask_jpsi_Default.C:48
 AddTask_jpsi_Default.C:49
 AddTask_jpsi_Default.C:50
 AddTask_jpsi_Default.C:51
 AddTask_jpsi_Default.C:52
 AddTask_jpsi_Default.C:53
 AddTask_jpsi_Default.C:54
 AddTask_jpsi_Default.C:55
 AddTask_jpsi_Default.C:56
 AddTask_jpsi_Default.C:57
 AddTask_jpsi_Default.C:58
 AddTask_jpsi_Default.C:59
 AddTask_jpsi_Default.C:60
 AddTask_jpsi_Default.C:61
 AddTask_jpsi_Default.C:62
 AddTask_jpsi_Default.C:63
 AddTask_jpsi_Default.C:64
 AddTask_jpsi_Default.C:65
 AddTask_jpsi_Default.C:66
 AddTask_jpsi_Default.C:67
 AddTask_jpsi_Default.C:68
 AddTask_jpsi_Default.C:69
 AddTask_jpsi_Default.C:70
 AddTask_jpsi_Default.C:71
 AddTask_jpsi_Default.C:72
 AddTask_jpsi_Default.C:73
 AddTask_jpsi_Default.C:74
 AddTask_jpsi_Default.C:75
 AddTask_jpsi_Default.C:76
 AddTask_jpsi_Default.C:77
 AddTask_jpsi_Default.C:78
 AddTask_jpsi_Default.C:79
 AddTask_jpsi_Default.C:80
 AddTask_jpsi_Default.C:81
 AddTask_jpsi_Default.C:82
 AddTask_jpsi_Default.C:83
 AddTask_jpsi_Default.C:84
 AddTask_jpsi_Default.C:85
 AddTask_jpsi_Default.C:86
 AddTask_jpsi_Default.C:87
 AddTask_jpsi_Default.C:88
 AddTask_jpsi_Default.C:89
 AddTask_jpsi_Default.C:90
 AddTask_jpsi_Default.C:91
 AddTask_jpsi_Default.C:92
 AddTask_jpsi_Default.C:93
 AddTask_jpsi_Default.C:94
 AddTask_jpsi_Default.C:95
 AddTask_jpsi_Default.C:96
 AddTask_jpsi_Default.C:97
 AddTask_jpsi_Default.C:98
 AddTask_jpsi_Default.C:99
 AddTask_jpsi_Default.C:100
 AddTask_jpsi_Default.C:101
 AddTask_jpsi_Default.C:102
 AddTask_jpsi_Default.C:103
 AddTask_jpsi_Default.C:104
 AddTask_jpsi_Default.C:105
 AddTask_jpsi_Default.C:106
 AddTask_jpsi_Default.C:107
 AddTask_jpsi_Default.C:108
 AddTask_jpsi_Default.C:109
 AddTask_jpsi_Default.C:110
 AddTask_jpsi_Default.C:111
 AddTask_jpsi_Default.C:112
 AddTask_jpsi_Default.C:113
 AddTask_jpsi_Default.C:114
 AddTask_jpsi_Default.C:115
 AddTask_jpsi_Default.C:116
 AddTask_jpsi_Default.C:117
 AddTask_jpsi_Default.C:118
 AddTask_jpsi_Default.C:119
 AddTask_jpsi_Default.C:120
 AddTask_jpsi_Default.C:121
 AddTask_jpsi_Default.C:122
 AddTask_jpsi_Default.C:123
 AddTask_jpsi_Default.C:124
 AddTask_jpsi_Default.C:125
 AddTask_jpsi_Default.C:126
 AddTask_jpsi_Default.C:127
 AddTask_jpsi_Default.C:128
 AddTask_jpsi_Default.C:129
 AddTask_jpsi_Default.C:130
 AddTask_jpsi_Default.C:131
 AddTask_jpsi_Default.C:132
 AddTask_jpsi_Default.C:133
 AddTask_jpsi_Default.C:134
 AddTask_jpsi_Default.C:135
 AddTask_jpsi_Default.C:136
 AddTask_jpsi_Default.C:137
 AddTask_jpsi_Default.C:138
 AddTask_jpsi_Default.C:139
 AddTask_jpsi_Default.C:140
 AddTask_jpsi_Default.C:141
 AddTask_jpsi_Default.C:142
 AddTask_jpsi_Default.C:143
 AddTask_jpsi_Default.C:144
 AddTask_jpsi_Default.C:145
 AddTask_jpsi_Default.C:146
 AddTask_jpsi_Default.C:147
 AddTask_jpsi_Default.C:148
 AddTask_jpsi_Default.C:149
 AddTask_jpsi_Default.C:150
 AddTask_jpsi_Default.C:151
 AddTask_jpsi_Default.C:152
 AddTask_jpsi_Default.C:153
 AddTask_jpsi_Default.C:154
 AddTask_jpsi_Default.C:155
 AddTask_jpsi_Default.C:156
 AddTask_jpsi_Default.C:157
 AddTask_jpsi_Default.C:158
 AddTask_jpsi_Default.C:159
 AddTask_jpsi_Default.C:160
 AddTask_jpsi_Default.C:161
 AddTask_jpsi_Default.C:162
 AddTask_jpsi_Default.C:163
 AddTask_jpsi_Default.C:164
 AddTask_jpsi_Default.C:165
 AddTask_jpsi_Default.C:166
 AddTask_jpsi_Default.C:167
 AddTask_jpsi_Default.C:168
 AddTask_jpsi_Default.C:169
 AddTask_jpsi_Default.C:170
 AddTask_jpsi_Default.C:171
 AddTask_jpsi_Default.C:172
 AddTask_jpsi_Default.C:173
 AddTask_jpsi_Default.C:174
 AddTask_jpsi_Default.C:175
 AddTask_jpsi_Default.C:176
 AddTask_jpsi_Default.C:177
 AddTask_jpsi_Default.C:178
 AddTask_jpsi_Default.C:179
 AddTask_jpsi_Default.C:180
 AddTask_jpsi_Default.C:181
 AddTask_jpsi_Default.C:182
 AddTask_jpsi_Default.C:183
 AddTask_jpsi_Default.C:184
 AddTask_jpsi_Default.C:185
 AddTask_jpsi_Default.C:186
 AddTask_jpsi_Default.C:187
 AddTask_jpsi_Default.C:188
 AddTask_jpsi_Default.C:189
 AddTask_jpsi_Default.C:190
 AddTask_jpsi_Default.C:191
 AddTask_jpsi_Default.C:192
 AddTask_jpsi_Default.C:193
 AddTask_jpsi_Default.C:194
 AddTask_jpsi_Default.C:195
 AddTask_jpsi_Default.C:196
 AddTask_jpsi_Default.C:197
 AddTask_jpsi_Default.C:198
 AddTask_jpsi_Default.C:199
 AddTask_jpsi_Default.C:200
 AddTask_jpsi_Default.C:201
 AddTask_jpsi_Default.C:202
 AddTask_jpsi_Default.C:203
 AddTask_jpsi_Default.C:204
 AddTask_jpsi_Default.C:205
 AddTask_jpsi_Default.C:206
 AddTask_jpsi_Default.C:207
 AddTask_jpsi_Default.C:208
 AddTask_jpsi_Default.C:209
 AddTask_jpsi_Default.C:210
 AddTask_jpsi_Default.C:211
 AddTask_jpsi_Default.C:212
 AddTask_jpsi_Default.C:213
 AddTask_jpsi_Default.C:214
 AddTask_jpsi_Default.C:215
 AddTask_jpsi_Default.C:216
 AddTask_jpsi_Default.C:217
 AddTask_jpsi_Default.C:218
 AddTask_jpsi_Default.C:219
 AddTask_jpsi_Default.C:220
 AddTask_jpsi_Default.C:221
 AddTask_jpsi_Default.C:222
 AddTask_jpsi_Default.C:223
 AddTask_jpsi_Default.C:224
 AddTask_jpsi_Default.C:225
 AddTask_jpsi_Default.C:226
 AddTask_jpsi_Default.C:227
 AddTask_jpsi_Default.C:228
 AddTask_jpsi_Default.C:229
 AddTask_jpsi_Default.C:230
 AddTask_jpsi_Default.C:231
 AddTask_jpsi_Default.C:232
 AddTask_jpsi_Default.C:233
 AddTask_jpsi_Default.C:234
 AddTask_jpsi_Default.C:235
 AddTask_jpsi_Default.C:236
 AddTask_jpsi_Default.C:237
 AddTask_jpsi_Default.C:238
 AddTask_jpsi_Default.C:239
 AddTask_jpsi_Default.C:240
 AddTask_jpsi_Default.C:241
 AddTask_jpsi_Default.C:242
 AddTask_jpsi_Default.C:243
 AddTask_jpsi_Default.C:244
 AddTask_jpsi_Default.C:245
 AddTask_jpsi_Default.C:246
 AddTask_jpsi_Default.C:247
 AddTask_jpsi_Default.C:248
 AddTask_jpsi_Default.C:249
 AddTask_jpsi_Default.C:250
 AddTask_jpsi_Default.C:251
 AddTask_jpsi_Default.C:252
 AddTask_jpsi_Default.C:253
 AddTask_jpsi_Default.C:254
 AddTask_jpsi_Default.C:255
 AddTask_jpsi_Default.C:256
 AddTask_jpsi_Default.C:257
 AddTask_jpsi_Default.C:258
 AddTask_jpsi_Default.C:259
 AddTask_jpsi_Default.C:260
 AddTask_jpsi_Default.C:261
 AddTask_jpsi_Default.C:262
 AddTask_jpsi_Default.C:263
 AddTask_jpsi_Default.C:264
 AddTask_jpsi_Default.C:265
 AddTask_jpsi_Default.C:266
 AddTask_jpsi_Default.C:267
 AddTask_jpsi_Default.C:268
 AddTask_jpsi_Default.C:269
 AddTask_jpsi_Default.C:270
 AddTask_jpsi_Default.C:271
 AddTask_jpsi_Default.C:272
 AddTask_jpsi_Default.C:273
 AddTask_jpsi_Default.C:274
 AddTask_jpsi_Default.C:275
 AddTask_jpsi_Default.C:276
 AddTask_jpsi_Default.C:277
 AddTask_jpsi_Default.C:278
 AddTask_jpsi_Default.C:279
 AddTask_jpsi_Default.C:280
 AddTask_jpsi_Default.C:281
 AddTask_jpsi_Default.C:282
 AddTask_jpsi_Default.C:283
 AddTask_jpsi_Default.C:284
 AddTask_jpsi_Default.C:285
 AddTask_jpsi_Default.C:286
 AddTask_jpsi_Default.C:287
 AddTask_jpsi_Default.C:288
 AddTask_jpsi_Default.C:289
 AddTask_jpsi_Default.C:290
 AddTask_jpsi_Default.C:291
 AddTask_jpsi_Default.C:292
 AddTask_jpsi_Default.C:293
 AddTask_jpsi_Default.C:294
 AddTask_jpsi_Default.C:295
 AddTask_jpsi_Default.C:296
 AddTask_jpsi_Default.C:297
 AddTask_jpsi_Default.C:298
 AddTask_jpsi_Default.C:299
 AddTask_jpsi_Default.C:300
 AddTask_jpsi_Default.C:301
 AddTask_jpsi_Default.C:302
 AddTask_jpsi_Default.C:303
 AddTask_jpsi_Default.C:304
 AddTask_jpsi_Default.C:305
 AddTask_jpsi_Default.C:306
 AddTask_jpsi_Default.C:307
 AddTask_jpsi_Default.C:308
 AddTask_jpsi_Default.C:309
 AddTask_jpsi_Default.C:310
 AddTask_jpsi_Default.C:311
 AddTask_jpsi_Default.C:312
 AddTask_jpsi_Default.C:313
 AddTask_jpsi_Default.C:314
 AddTask_jpsi_Default.C:315
 AddTask_jpsi_Default.C:316
 AddTask_jpsi_Default.C:317
 AddTask_jpsi_Default.C:318
 AddTask_jpsi_Default.C:319
 AddTask_jpsi_Default.C:320
 AddTask_jpsi_Default.C:321
 AddTask_jpsi_Default.C:322
 AddTask_jpsi_Default.C:323
 AddTask_jpsi_Default.C:324
 AddTask_jpsi_Default.C:325
 AddTask_jpsi_Default.C:326
 AddTask_jpsi_Default.C:327
 AddTask_jpsi_Default.C:328
 AddTask_jpsi_Default.C:329
 AddTask_jpsi_Default.C:330
 AddTask_jpsi_Default.C:331
 AddTask_jpsi_Default.C:332
 AddTask_jpsi_Default.C:333
 AddTask_jpsi_Default.C:334
 AddTask_jpsi_Default.C:335
 AddTask_jpsi_Default.C:336
 AddTask_jpsi_Default.C:337
 AddTask_jpsi_Default.C:338
 AddTask_jpsi_Default.C:339
 AddTask_jpsi_Default.C:340
 AddTask_jpsi_Default.C:341
 AddTask_jpsi_Default.C:342
 AddTask_jpsi_Default.C:343
 AddTask_jpsi_Default.C:344
 AddTask_jpsi_Default.C:345
 AddTask_jpsi_Default.C:346
 AddTask_jpsi_Default.C:347
 AddTask_jpsi_Default.C:348
 AddTask_jpsi_Default.C:349
 AddTask_jpsi_Default.C:350
 AddTask_jpsi_Default.C:351
 AddTask_jpsi_Default.C:352
 AddTask_jpsi_Default.C:353
 AddTask_jpsi_Default.C:354
 AddTask_jpsi_Default.C:355
 AddTask_jpsi_Default.C:356
 AddTask_jpsi_Default.C:357
 AddTask_jpsi_Default.C:358
 AddTask_jpsi_Default.C:359
 AddTask_jpsi_Default.C:360
 AddTask_jpsi_Default.C:361
 AddTask_jpsi_Default.C:362
 AddTask_jpsi_Default.C:363
 AddTask_jpsi_Default.C:364
 AddTask_jpsi_Default.C:365
 AddTask_jpsi_Default.C:366
 AddTask_jpsi_Default.C:367
 AddTask_jpsi_Default.C:368
 AddTask_jpsi_Default.C:369
 AddTask_jpsi_Default.C:370
 AddTask_jpsi_Default.C:371
 AddTask_jpsi_Default.C:372
 AddTask_jpsi_Default.C:373
 AddTask_jpsi_Default.C:374
 AddTask_jpsi_Default.C:375
 AddTask_jpsi_Default.C:376
 AddTask_jpsi_Default.C:377
 AddTask_jpsi_Default.C:378
 AddTask_jpsi_Default.C:379
 AddTask_jpsi_Default.C:380
 AddTask_jpsi_Default.C:381
 AddTask_jpsi_Default.C:382
 AddTask_jpsi_Default.C:383
 AddTask_jpsi_Default.C:384
 AddTask_jpsi_Default.C:385
 AddTask_jpsi_Default.C:386
 AddTask_jpsi_Default.C:387
 AddTask_jpsi_Default.C:388
 AddTask_jpsi_Default.C:389
 AddTask_jpsi_Default.C:390
 AddTask_jpsi_Default.C:391
 AddTask_jpsi_Default.C:392
 AddTask_jpsi_Default.C:393
 AddTask_jpsi_Default.C:394
 AddTask_jpsi_Default.C:395
 AddTask_jpsi_Default.C:396
 AddTask_jpsi_Default.C:397
 AddTask_jpsi_Default.C:398
 AddTask_jpsi_Default.C:399
 AddTask_jpsi_Default.C:400
 AddTask_jpsi_Default.C:401
 AddTask_jpsi_Default.C:402
 AddTask_jpsi_Default.C:403
 AddTask_jpsi_Default.C:404
 AddTask_jpsi_Default.C:405
 AddTask_jpsi_Default.C:406
 AddTask_jpsi_Default.C:407
 AddTask_jpsi_Default.C:408
 AddTask_jpsi_Default.C:409
 AddTask_jpsi_Default.C:410
 AddTask_jpsi_Default.C:411
 AddTask_jpsi_Default.C:412
 AddTask_jpsi_Default.C:413
 AddTask_jpsi_Default.C:414
 AddTask_jpsi_Default.C:415
 AddTask_jpsi_Default.C:416
 AddTask_jpsi_Default.C:417
 AddTask_jpsi_Default.C:418
 AddTask_jpsi_Default.C:419
 AddTask_jpsi_Default.C:420
 AddTask_jpsi_Default.C:421
 AddTask_jpsi_Default.C:422
 AddTask_jpsi_Default.C:423
 AddTask_jpsi_Default.C:424
 AddTask_jpsi_Default.C:425
 AddTask_jpsi_Default.C:426
 AddTask_jpsi_Default.C:427
 AddTask_jpsi_Default.C:428
 AddTask_jpsi_Default.C:429
 AddTask_jpsi_Default.C:430
 AddTask_jpsi_Default.C:431
 AddTask_jpsi_Default.C:432
 AddTask_jpsi_Default.C:433
 AddTask_jpsi_Default.C:434
 AddTask_jpsi_Default.C:435
 AddTask_jpsi_Default.C:436
 AddTask_jpsi_Default.C:437
 AddTask_jpsi_Default.C:438
 AddTask_jpsi_Default.C:439
 AddTask_jpsi_Default.C:440
 AddTask_jpsi_Default.C:441
 AddTask_jpsi_Default.C:442
 AddTask_jpsi_Default.C:443
 AddTask_jpsi_Default.C:444
 AddTask_jpsi_Default.C:445
 AddTask_jpsi_Default.C:446
 AddTask_jpsi_Default.C:447
 AddTask_jpsi_Default.C:448
 AddTask_jpsi_Default.C:449
 AddTask_jpsi_Default.C:450
 AddTask_jpsi_Default.C:451
 AddTask_jpsi_Default.C:452
 AddTask_jpsi_Default.C:453
 AddTask_jpsi_Default.C:454
 AddTask_jpsi_Default.C:455
 AddTask_jpsi_Default.C:456
 AddTask_jpsi_Default.C:457
 AddTask_jpsi_Default.C:458
 AddTask_jpsi_Default.C:459
 AddTask_jpsi_Default.C:460
 AddTask_jpsi_Default.C:461
 AddTask_jpsi_Default.C:462
 AddTask_jpsi_Default.C:463
 AddTask_jpsi_Default.C:464
 AddTask_jpsi_Default.C:465
 AddTask_jpsi_Default.C:466
 AddTask_jpsi_Default.C:467
 AddTask_jpsi_Default.C:468
 AddTask_jpsi_Default.C:469
 AddTask_jpsi_Default.C:470
 AddTask_jpsi_Default.C:471
 AddTask_jpsi_Default.C:472
 AddTask_jpsi_Default.C:473
 AddTask_jpsi_Default.C:474
 AddTask_jpsi_Default.C:475
 AddTask_jpsi_Default.C:476
 AddTask_jpsi_Default.C:477
 AddTask_jpsi_Default.C:478
 AddTask_jpsi_Default.C:479
 AddTask_jpsi_Default.C:480
 AddTask_jpsi_Default.C:481
 AddTask_jpsi_Default.C:482
 AddTask_jpsi_Default.C:483
 AddTask_jpsi_Default.C:484
 AddTask_jpsi_Default.C:485
 AddTask_jpsi_Default.C:486
 AddTask_jpsi_Default.C:487
 AddTask_jpsi_Default.C:488
 AddTask_jpsi_Default.C:489
 AddTask_jpsi_Default.C:490
 AddTask_jpsi_Default.C:491
 AddTask_jpsi_Default.C:492
 AddTask_jpsi_Default.C:493
 AddTask_jpsi_Default.C:494
 AddTask_jpsi_Default.C:495
 AddTask_jpsi_Default.C:496
 AddTask_jpsi_Default.C:497
 AddTask_jpsi_Default.C:498
 AddTask_jpsi_Default.C:499
 AddTask_jpsi_Default.C:500
 AddTask_jpsi_Default.C:501
 AddTask_jpsi_Default.C:502
 AddTask_jpsi_Default.C:503
 AddTask_jpsi_Default.C:504
 AddTask_jpsi_Default.C:505
 AddTask_jpsi_Default.C:506
 AddTask_jpsi_Default.C:507
 AddTask_jpsi_Default.C:508
 AddTask_jpsi_Default.C:509
 AddTask_jpsi_Default.C:510
 AddTask_jpsi_Default.C:511
 AddTask_jpsi_Default.C:512
 AddTask_jpsi_Default.C:513
 AddTask_jpsi_Default.C:514
 AddTask_jpsi_Default.C:515
 AddTask_jpsi_Default.C:516
 AddTask_jpsi_Default.C:517
 AddTask_jpsi_Default.C:518
 AddTask_jpsi_Default.C:519
 AddTask_jpsi_Default.C:520
 AddTask_jpsi_Default.C:521
 AddTask_jpsi_Default.C:522
 AddTask_jpsi_Default.C:523
 AddTask_jpsi_Default.C:524
 AddTask_jpsi_Default.C:525
 AddTask_jpsi_Default.C:526
 AddTask_jpsi_Default.C:527
 AddTask_jpsi_Default.C:528
 AddTask_jpsi_Default.C:529
 AddTask_jpsi_Default.C:530
 AddTask_jpsi_Default.C:531
 AddTask_jpsi_Default.C:532
 AddTask_jpsi_Default.C:533
 AddTask_jpsi_Default.C:534
 AddTask_jpsi_Default.C:535
 AddTask_jpsi_Default.C:536
 AddTask_jpsi_Default.C:537
 AddTask_jpsi_Default.C:538
 AddTask_jpsi_Default.C:539
 AddTask_jpsi_Default.C:540
 AddTask_jpsi_Default.C:541
 AddTask_jpsi_Default.C:542
 AddTask_jpsi_Default.C:543
 AddTask_jpsi_Default.C:544
 AddTask_jpsi_Default.C:545
 AddTask_jpsi_Default.C:546
 AddTask_jpsi_Default.C:547
 AddTask_jpsi_Default.C:548
 AddTask_jpsi_Default.C:549
 AddTask_jpsi_Default.C:550
 AddTask_jpsi_Default.C:551
 AddTask_jpsi_Default.C:552
 AddTask_jpsi_Default.C:553
 AddTask_jpsi_Default.C:554
 AddTask_jpsi_Default.C:555
 AddTask_jpsi_Default.C:556
 AddTask_jpsi_Default.C:557
 AddTask_jpsi_Default.C:558
 AddTask_jpsi_Default.C:559
 AddTask_jpsi_Default.C:560
 AddTask_jpsi_Default.C:561
 AddTask_jpsi_Default.C:562
 AddTask_jpsi_Default.C:563
 AddTask_jpsi_Default.C:564
 AddTask_jpsi_Default.C:565
 AddTask_jpsi_Default.C:566
 AddTask_jpsi_Default.C:567
 AddTask_jpsi_Default.C:568
 AddTask_jpsi_Default.C:569
 AddTask_jpsi_Default.C:570
 AddTask_jpsi_Default.C:571
 AddTask_jpsi_Default.C:572
 AddTask_jpsi_Default.C:573
 AddTask_jpsi_Default.C:574
 AddTask_jpsi_Default.C:575
 AddTask_jpsi_Default.C:576
 AddTask_jpsi_Default.C:577
 AddTask_jpsi_Default.C:578
 AddTask_jpsi_Default.C:579
 AddTask_jpsi_Default.C:580
 AddTask_jpsi_Default.C:581
 AddTask_jpsi_Default.C:582
 AddTask_jpsi_Default.C:583
 AddTask_jpsi_Default.C:584
 AddTask_jpsi_Default.C:585
 AddTask_jpsi_Default.C:586
 AddTask_jpsi_Default.C:587
 AddTask_jpsi_Default.C:588
 AddTask_jpsi_Default.C:589
 AddTask_jpsi_Default.C:590
 AddTask_jpsi_Default.C:591
 AddTask_jpsi_Default.C:592
 AddTask_jpsi_Default.C:593
 AddTask_jpsi_Default.C:594
 AddTask_jpsi_Default.C:595
 AddTask_jpsi_Default.C:596
 AddTask_jpsi_Default.C:597
 AddTask_jpsi_Default.C:598
 AddTask_jpsi_Default.C:599
 AddTask_jpsi_Default.C:600
 AddTask_jpsi_Default.C:601
 AddTask_jpsi_Default.C:602
 AddTask_jpsi_Default.C:603
 AddTask_jpsi_Default.C:604
 AddTask_jpsi_Default.C:605
 AddTask_jpsi_Default.C:606
 AddTask_jpsi_Default.C:607
 AddTask_jpsi_Default.C:608
 AddTask_jpsi_Default.C:609
 AddTask_jpsi_Default.C:610
 AddTask_jpsi_Default.C:611
 AddTask_jpsi_Default.C:612
 AddTask_jpsi_Default.C:613
 AddTask_jpsi_Default.C:614
 AddTask_jpsi_Default.C:615
 AddTask_jpsi_Default.C:616
 AddTask_jpsi_Default.C:617
 AddTask_jpsi_Default.C:618
 AddTask_jpsi_Default.C:619
 AddTask_jpsi_Default.C:620
 AddTask_jpsi_Default.C:621
 AddTask_jpsi_Default.C:622
 AddTask_jpsi_Default.C:623
 AddTask_jpsi_Default.C:624
 AddTask_jpsi_Default.C:625
 AddTask_jpsi_Default.C:626
 AddTask_jpsi_Default.C:627
 AddTask_jpsi_Default.C:628
 AddTask_jpsi_Default.C:629
 AddTask_jpsi_Default.C:630
 AddTask_jpsi_Default.C:631
 AddTask_jpsi_Default.C:632
 AddTask_jpsi_Default.C:633
 AddTask_jpsi_Default.C:634
 AddTask_jpsi_Default.C:635
 AddTask_jpsi_Default.C:636
 AddTask_jpsi_Default.C:637
 AddTask_jpsi_Default.C:638
 AddTask_jpsi_Default.C:639
 AddTask_jpsi_Default.C:640
 AddTask_jpsi_Default.C:641
 AddTask_jpsi_Default.C:642
 AddTask_jpsi_Default.C:643
 AddTask_jpsi_Default.C:644
 AddTask_jpsi_Default.C:645
 AddTask_jpsi_Default.C:646
 AddTask_jpsi_Default.C:647
 AddTask_jpsi_Default.C:648
 AddTask_jpsi_Default.C:649
 AddTask_jpsi_Default.C:650
 AddTask_jpsi_Default.C:651
 AddTask_jpsi_Default.C:652
 AddTask_jpsi_Default.C:653
 AddTask_jpsi_Default.C:654
 AddTask_jpsi_Default.C:655
 AddTask_jpsi_Default.C:656
 AddTask_jpsi_Default.C:657
 AddTask_jpsi_Default.C:658
 AddTask_jpsi_Default.C:659
 AddTask_jpsi_Default.C:660
 AddTask_jpsi_Default.C:661
 AddTask_jpsi_Default.C:662
 AddTask_jpsi_Default.C:663
 AddTask_jpsi_Default.C:664
 AddTask_jpsi_Default.C:665
 AddTask_jpsi_Default.C:666
 AddTask_jpsi_Default.C:667
 AddTask_jpsi_Default.C:668
 AddTask_jpsi_Default.C:669
 AddTask_jpsi_Default.C:670
 AddTask_jpsi_Default.C:671
 AddTask_jpsi_Default.C:672
 AddTask_jpsi_Default.C:673
 AddTask_jpsi_Default.C:674
 AddTask_jpsi_Default.C:675
 AddTask_jpsi_Default.C:676
 AddTask_jpsi_Default.C:677
 AddTask_jpsi_Default.C:678
 AddTask_jpsi_Default.C:679
 AddTask_jpsi_Default.C:680
 AddTask_jpsi_Default.C:681
 AddTask_jpsi_Default.C:682
 AddTask_jpsi_Default.C:683
 AddTask_jpsi_Default.C:684
 AddTask_jpsi_Default.C:685
 AddTask_jpsi_Default.C:686
 AddTask_jpsi_Default.C:687
 AddTask_jpsi_Default.C:688
 AddTask_jpsi_Default.C:689
 AddTask_jpsi_Default.C:690
 AddTask_jpsi_Default.C:691
 AddTask_jpsi_Default.C:692
 AddTask_jpsi_Default.C:693
 AddTask_jpsi_Default.C:694
 AddTask_jpsi_Default.C:695
 AddTask_jpsi_Default.C:696
 AddTask_jpsi_Default.C:697
 AddTask_jpsi_Default.C:698
 AddTask_jpsi_Default.C:699
 AddTask_jpsi_Default.C:700
 AddTask_jpsi_Default.C:701
 AddTask_jpsi_Default.C:702
 AddTask_jpsi_Default.C:703
 AddTask_jpsi_Default.C:704
 AddTask_jpsi_Default.C:705
 AddTask_jpsi_Default.C:706
 AddTask_jpsi_Default.C:707
 AddTask_jpsi_Default.C:708
 AddTask_jpsi_Default.C:709
 AddTask_jpsi_Default.C:710
 AddTask_jpsi_Default.C:711
 AddTask_jpsi_Default.C:712
 AddTask_jpsi_Default.C:713
 AddTask_jpsi_Default.C:714
 AddTask_jpsi_Default.C:715
 AddTask_jpsi_Default.C:716
 AddTask_jpsi_Default.C:717
 AddTask_jpsi_Default.C:718
 AddTask_jpsi_Default.C:719
 AddTask_jpsi_Default.C:720
 AddTask_jpsi_Default.C:721
 AddTask_jpsi_Default.C:722
 AddTask_jpsi_Default.C:723
 AddTask_jpsi_Default.C:724
 AddTask_jpsi_Default.C:725
 AddTask_jpsi_Default.C:726
 AddTask_jpsi_Default.C:727
 AddTask_jpsi_Default.C:728
 AddTask_jpsi_Default.C:729
 AddTask_jpsi_Default.C:730
 AddTask_jpsi_Default.C:731
 AddTask_jpsi_Default.C:732
 AddTask_jpsi_Default.C:733
 AddTask_jpsi_Default.C:734
 AddTask_jpsi_Default.C:735
 AddTask_jpsi_Default.C:736
 AddTask_jpsi_Default.C:737
 AddTask_jpsi_Default.C:738
 AddTask_jpsi_Default.C:739
 AddTask_jpsi_Default.C:740
 AddTask_jpsi_Default.C:741
 AddTask_jpsi_Default.C:742
 AddTask_jpsi_Default.C:743
 AddTask_jpsi_Default.C:744
 AddTask_jpsi_Default.C:745
 AddTask_jpsi_Default.C:746
 AddTask_jpsi_Default.C:747
 AddTask_jpsi_Default.C:748
 AddTask_jpsi_Default.C:749
 AddTask_jpsi_Default.C:750
 AddTask_jpsi_Default.C:751
 AddTask_jpsi_Default.C:752
 AddTask_jpsi_Default.C:753
 AddTask_jpsi_Default.C:754
 AddTask_jpsi_Default.C:755
 AddTask_jpsi_Default.C:756
 AddTask_jpsi_Default.C:757
 AddTask_jpsi_Default.C:758
 AddTask_jpsi_Default.C:759
 AddTask_jpsi_Default.C:760
 AddTask_jpsi_Default.C:761
 AddTask_jpsi_Default.C:762
 AddTask_jpsi_Default.C:763
 AddTask_jpsi_Default.C:764
 AddTask_jpsi_Default.C:765
 AddTask_jpsi_Default.C:766
 AddTask_jpsi_Default.C:767
 AddTask_jpsi_Default.C:768
 AddTask_jpsi_Default.C:769
 AddTask_jpsi_Default.C:770
 AddTask_jpsi_Default.C:771
 AddTask_jpsi_Default.C:772
 AddTask_jpsi_Default.C:773
 AddTask_jpsi_Default.C:774
 AddTask_jpsi_Default.C:775
 AddTask_jpsi_Default.C:776
 AddTask_jpsi_Default.C:777
 AddTask_jpsi_Default.C:778
 AddTask_jpsi_Default.C:779
 AddTask_jpsi_Default.C:780
 AddTask_jpsi_Default.C:781
 AddTask_jpsi_Default.C:782
 AddTask_jpsi_Default.C:783
 AddTask_jpsi_Default.C:784
 AddTask_jpsi_Default.C:785
 AddTask_jpsi_Default.C:786
 AddTask_jpsi_Default.C:787
 AddTask_jpsi_Default.C:788
 AddTask_jpsi_Default.C:789
 AddTask_jpsi_Default.C:790
 AddTask_jpsi_Default.C:791
 AddTask_jpsi_Default.C:792
 AddTask_jpsi_Default.C:793
 AddTask_jpsi_Default.C:794
 AddTask_jpsi_Default.C:795
 AddTask_jpsi_Default.C:796
 AddTask_jpsi_Default.C:797
 AddTask_jpsi_Default.C:798
 AddTask_jpsi_Default.C:799
 AddTask_jpsi_Default.C:800
 AddTask_jpsi_Default.C:801
 AddTask_jpsi_Default.C:802
 AddTask_jpsi_Default.C:803
 AddTask_jpsi_Default.C:804
 AddTask_jpsi_Default.C:805
 AddTask_jpsi_Default.C:806
 AddTask_jpsi_Default.C:807
 AddTask_jpsi_Default.C:808
 AddTask_jpsi_Default.C:809
 AddTask_jpsi_Default.C:810
 AddTask_jpsi_Default.C:811
 AddTask_jpsi_Default.C:812
 AddTask_jpsi_Default.C:813
 AddTask_jpsi_Default.C:814
 AddTask_jpsi_Default.C:815
 AddTask_jpsi_Default.C:816
 AddTask_jpsi_Default.C:817
 AddTask_jpsi_Default.C:818
 AddTask_jpsi_Default.C:819
 AddTask_jpsi_Default.C:820
 AddTask_jpsi_Default.C:821
 AddTask_jpsi_Default.C:822
 AddTask_jpsi_Default.C:823